BTC/USDT 15M Council Report

Signal: BEARISH (60%)  |  Price: $60,331.90  |  2026-06-27 21:00 KST  |  300 candles

Council: 1 bullish, 4 neutral, 1 bearish  |  Support: $60,245 / $60,202 / $60,142  |  Resistance: $60,340 / $60,361 / $60,472

result.json   raw.txt   report.md


BTC Chart

Executive Summary

현재 BTC 15분 구조는 이전 분배 사이클이 이미 한 차례 완료된 뒤, $60,472.20 UT와 $60,557.80 UTAD를 형성한 active redistribution 후보로 보는 것이 가장 합리적이다. 가격은 현재 $60,331.90으로 UTAD 아래에 머물며 Phase D 성격의 공급권 내부에 있고, 이는 구조적 bias를 bearish로 기울게 한다. 다만 $60,245.00 bullish BOS 유지, $60,331.04 피보나치 테스트, $60,282.37 지지 클러스터, bullish_harami 발생으로 인해 즉시 실행 셋업은 구조와 달리 bullish 반응 위험을 포함한다. 핵심 구조 조건은 $60,340.19-$60,360.92 수용 여부와 $60,557.80 UTAD 재수용 여부이며, 이 구간을 회복하지 못하는 한 재분배 해석은 유지된다.

Confluences

Conflicts


Agent Matrix

AgentSignalConfidenceSupportResistance
Wyckoff ExpertBEARISH64%$60,134 / $60,028$60,472 / $60,558
ICT TraderBULLISH72%$60,245 / $60,202$60,558 / $60,569
Derivatives TraderBEARISH64%$60,142 / $59,100$60,340 / $60,361
Candlestick ReaderBULLISH64%$60,142 / $60,000$60,340 / $60,361
Fibonacci AnalystBULLISH58%$60,331 / $60,282$60,374 / $60,409
Harmonic SpecialistBEARISH59%$60,229 / $60,116$60,411 / $60,487

Agent Details

Wyckoff Expert — BEARISH (64%)

Support: $60,134 / $60,028 / $59,872 | Resistance: $60,472 / $60,558 / $60,753 | Horizon: short term

지표상 regime은 DIS이고 regime_fitness는 0.963으로 높으며, 구조 해석은 distribution/redistribution의 Phase D 약세 쪽이다. 이전 확정 구조는 BC $59,895.30 → ST $61,931.10 → UTAD $60,274.20 → SOW $59,358.80로 완료된 bearish distribution이며, 현재 active 구조는 $60,472.20 UT와 $60,557.80 UTAD를 만든 뒤 가격이 $60,331.90에 머물러 있어 상단 실패 이후의 재분배 후보로 읽힌다. 다만 현재 구조가 완전한 Phase E markdown으로 확정된 것은 아니므로, 구조_bias는 bearish이지만 즉시 경로는 $60,472~$60,558 저항 재검증 후 거부 여부가 핵심이다. $60,557.80을 15분 종가로 회복하지 못하면 $60,134.50, $60,028.00, $59,871.90 순서의 하단 유동성 테스트가 우선이며, 반대로 $60,557.80 재수용은 단기 bearish setup을 무효화한다.
ICT Trader — BULLISH (72%)

Support: $60,245 / $60,202 / $60,074 | Resistance: $60,558 / $60,569 / $60,734 | Horizon: short term

확정 구조는 최근 시퀀스가 BOS_bullish → CHoCH_bearish → BOS_bullish이며, 마지막 구조 이벤트가 $60,245.00 상방 bullish BOS이므로 단기 structure_bias는 bullish로 판단한다. 현재가 $60,331.90는 EQ $60,202.00 위 프리미엄에 위치해 추격 롱에는 불리하지만, $60,245.00 BOS 레벨 위를 유지하는 동안 상단 BSL $60,568.90 및 NY 고점 $60,557.80 회수 가능성이 우선이다. 다만 unfilled FVG가 0개, active OB도 0개이며 최근 liquidity sweep도 없어 기관 주문흐름의 강한 확증은 부족하다. 따라서 방향성은 bullish지만, $60,568.90-$60,734.00 구간에서는 buy-side liquidity sweep 후 되돌림 리스크를 경계해야 한다.
Derivatives Trader — BEARISH (64%)

Support: $60,142 / $59,100 / $58,030 | Resistance: $60,340 / $60,361 / $61,600 | Horizon: short term

현재 BTC는 $60,331.90으로 EMA20 $60,340.19와 EMA240 $60,360.92 부근에서 방향성이 확정되지 않아 구조적으로는 중립 박스권에 가깝다. 그러나 파생 포지셔닝은 aggregate_score 0.314, bear_signals 4개, bull_signals 0개로 약세 쪽이며, CVD가 -749.0930 감소해 가격 반등 대비 매수 체결 강도가 따라오지 못하고 있다. OI도 24시간 -1.6050% 줄어 상승이 신규 롱 구축보다는 숏 커버 또는 포지션 축소 성격일 가능성이 높다. 롱 계정 비율이 0.665로 높고 account_long_crowding이 1.000인 상태에서 funding_pressure 0.444와 basis -0.0526%는 롱 과밀 대비 파생 수요가 약하다는 신호다. 따라서 확인된 구조는 중립이지만, 4-8시간 선행 관점의 실행 셋업은 $59,100, $58,000, $57,900 하방 유동성 테스트 쪽으로 기울어 있다.
Candlestick Reader — BULLISH (64%)

Support: $60,142 / $60,000 / $58,030 | Resistance: $60,340 / $60,361 / $60,620 | Horizon: short term

구조적으로는 현재가 $60,331.90가 EMA20 $60,340.19와 EMA240 $60,360.92 바로 아래에 있어 아직 명확한 상방 acceptance나 BOS가 확인되지 않았으므로 structure_bias는 neutral입니다. 다만 7일 고점 $63,209.60과 저점 $58,030.00의 중간값인 EQ $60,619.80 아래 discount 구간에서 bullish_harami@298, morning_star@299, hammer@295가 연속적으로 포착되어 setup_bias는 bullish입니다. 특히 bullish_harami의 pattern_quality가 0.781이고 high volume 패턴으로 분류되며, bull_score 2.15 대 bear_score 0으로 최근 캔들 신호는 매수 쪽에 우위가 있습니다. 단기 확인 조건은 EMA20 $60,340.19 및 EMA240 $60,360.92 회복이며, 그 위에서 $60,619.80 EQ까지 올라서면 반등 신뢰도가 높아집니다.
Fibonacci Analyst — BULLISH (58%)

Support: $60,331 / $60,282 / $60,261 | Resistance: $60,374 / $60,409 / $60,444 | Horizon: short term

현재 BTC/USDT는 하락 스윙 $60,558→$60,261 기준 0.236 되돌림 $60,331.04를 거의 정확히 테스트하고 있으며, fib_reaction_state는 testing이고 reaction_probability는 0.65로 제시되어 단기 반등 셋업이 유효하다. 구조적으로는 명확한 BOS/CHoCH 또는 수용 확인이 없으므로 structure_bias는 neutral로 보며, 단지 스윙 방향 자체는 하락 이후 되돌림 국면이다. 셋업 관점에서는 현재가가 EQ인 $60,409.40 아래 할인 구간에 있고, $60,282.37 컨플루언스 존의 cluster_score가 1.0으로 높아 $60,331~$60,282 구간에서 지지 반응을 기대할 수 있다. 다만 $60,374.38, $60,409.40, 특히 0.618 골든 레이시오 $60,444.42가 강한 저항으로 작용할 수 있어 반등은 확인형 접근이 필요하다.
Harmonic Specialist — BEARISH (59%)

Support: $60,229 / $60,116 / $60,056 | Resistance: $60,411 / $60,487 / $60,511 | Horizon: 단기, 15분 기준

구조 관점에서는 15분 BOS/CHoCH 같은 명시적 구조 전환 데이터가 없으므로 structure_bias는 neutral로 둔다. 다만 세팅 관점에서는 현재가 $60,331.90가 다수의 고품질 bearish PRZ 안에 있으며, 특히 확정 반응된 bearish Bat PRZ $60,217.82-$60,510.71이 반응점수 0.75로 유효하다. 동시에 bullish Gartley PRZ $60,109.93-$60,258.36 및 bullish Bat PRZ $59,904.47-$60,259.33도 아래에 겹쳐 있어 즉시 하락 추격보다는 $60,055-$59,865 구간 반응을 확인해야 한다. 하모닉 단독으로 메인 경로를 뒤집을 수는 없지만, 확인된 bearish Bat와 bearish 점수 우위 1.59 대 0.406은 단기 하방 반응 세팅에 더 높은 가중치를 준다.

Operating Path — complex (58%)

#PriceTypeSourceEst. HoursDescription
1$60,558liquidity_sweepICT(BSL $60,568.90·NY 고점 $60,557.80 미회수 유동성, setup 92%), Wyckoff(UTAD $60,557.80 공급대 재검증), Harmonic(bearish Gartley D $60,557.80), Candlestick(EMA20/240 회복 후 상단)5.0셋업 bullish 실행 — 현재가 위 EMA20 $60,340.19/EMA240 $60,360.92 회복 후, 도중 fib 골든 $60,444.42·Wyckoff UT $60,472.20·bearish Bat PRZ 상단 $60,510.71을 거쳐 상단 미회수 유동성 BSL $60,568.90·NY 고점 $60,557.80 스윕. UTAD 공급대이자 다중 confluence라 거부 위험이 가장 높은 회전점.
2$60,245support_testICT(bullish BOS 기준선 $60,245.00, bull/bear 피벗), Fibonacci(스윙 저점 $60,261 인접), Harmonic(bullish PRZ 상단 $60,258.36)11.0$60,557.80 거부 후 구조적 약세 재개. ICT 강세 구조의 방어선인 bullish BOS $60,245.00 재테스트 — 이 레벨 유지/이탈이 단기 강세 셋업 생존을 결정하는 핵심 관문.
3$60,134support_testWyckoff(SOW_IN_PHASE_B $60,134.50), Candlestick/Derivatives(EMA120 $60,142.15)16.0$60,245 BOS 상실 시 재분배 markdown 1차 목표. Wyckoff SOW $60,134.50와 중기 EMA120 $60,142.15가 겹치는 단기 구조 지지대 테스트.
4$60,028swing_lowWyckoff(지지 $60,028.00), Harmonic(bearish Bat TP1 $60,055.51 인접), Fibonacci(strict fib $59,957.79 하단 score 1.0)22.0재분배 markdown 하단 유동성 테스트. Wyckoff 지지 $60,028.00 + bearish Bat TP1 $60,055.51 confluence. 모멘텀 연장 시 strict fib $59,957.79까지 오버슛 가능.

Period Extremes

HorizonExpected LowExpected HighSequence
4h$60,320$60,520High first
8h$60,282$60,558High first
24h$59,958$60,569High first

Triggers

Invalidation: $60,734

Raw Operating Path Response
```json
{
  "path_type": "complex",
  "confidence": 0.58,
  "executive_summary": "구조는 Wyckoff 재분배 Phase D와 파생 약세(CVD -749, OI -1.61%)로 bearish(60%)이나, 실행 셋업은 ICT BOS $60,245 유지·고볼륨 bullish_harami·피보나치 0.236 지지 반응으로 bullish(62%, 강도≥0.5)다. 셋업 우선 규칙에 따라 첫 waypoint는 상단 미회수 유동성($60,557.80 NY 고점 / $60,568.90 BSL / Wyckoff UTAD) 스윕이며, 이는 구조적 강세 전환이 아니라 공급대 재검증이다(Chairman: '상단 유동성 회수 시도 자체가 구조적 강세 전환을 의미하지 않는다'). 유동성 회수 후 거부되면 구조적 약세가 재개되어 $60,245 BOS 상실 → $60,134.50 → $60,028 순의 markdown이 가장 유력한 단일 경로다.",
  "key_insight": "셋업(bullish)이 상단 유동성을 끌어올리고 구조(bearish)가 그 지점에서 markdown을 촉발하는, 스윕-거부가 결합된 단일 경로. 분기점은 $60,557.80~$60,568.90 거부(경로 유효) vs $60,734 수용(경로 폐기).",
  "reasoning": "셋업과 구조가 같은 가격대($60,340~$60,360 EMA20/240)에서 정면 충돌하므로, 두 layer를 시간 순서로 분리해 reconciliation한다. 단기(셋업)는 EMA20/240 회복 후 미회수 BSL을 향한 매수 측 유동성 회수가 우선이고, 그 회수 지점이 바로 4개 방법론($60,557.80 NY 고점·UTAD·bearish Gartley D·BSL $60,568.90)이 겹치는 최상위 공급 confluence라 거부 확률이 높다. 거부 확인 시 ICT의 강세 근거인 BOS $60,245 방어가 무너지며 Wyckoff 재분배 markdown 래더($60,134.50 SOW/EMA120 → $60,028 지지 / bearish Bat TP1 $60,055.51)로 이어진다. 파생 약세·롱 과밀이 반등의 질을 낮춰 상단 거부 시나리오에 가중치를 더한다. 셋업/구조 불일치로 confidence는 중간 수준.",
  "waypoints": [
    {
      "seq": 1,
      "price": 60557.80,
      "type": "liquidity_sweep",
      "source": "ICT(BSL $60,568.90·NY 고점 $60,557.80 미회수 유동성, setup 92%), Wyckoff(UTAD $60,557.80 공급대 재검증), Harmonic(bearish Gartley D $60,557.80), Candlestick(EMA20/240 회복 후 상단)",
      "description": "셋업 bullish 실행 — 현재가 위 EMA20 $60,340.19/EMA240 $60,360.92 회복 후, 도중 fib 골든 $60,444.42·Wyckoff UT $60,472.20·bearish Bat PRZ 상단 $60,510.71을 거쳐 상단 미회수 유동성 BSL $60,568.90·NY 고점 $60,557.80 스윕. UTAD 공급대이자 다중 confluence라 거부 위험이 가장 높은 회전점.",
      "est_hours": 5.0
    },
    {
      "seq": 2,
      "price": 60245.00,
      "type": "support_test",
      "source": "ICT(bullish BOS 기준선 $60,245.00, bull/bear 피벗), Fibonacci(스윙 저점 $60,261 인접), Harmonic(bullish PRZ 상단 $60,258.36)",
      "description": "$60,557.80 거부 후 구조적 약세 재개. ICT 강세 구조의 방어선인 bullish BOS $60,245.00 재테스트 — 이 레벨 유지/이탈이 단기 강세 셋업 생존을 결정하는 핵심 관문.",
      "est_hours": 11.0
    },
    {
      "seq": 3,
      "price": 60134.50,
      "type": "support_test",
      "source": "Wyckoff(SOW_IN_PHASE_B $60,134.50), Candlestick/Derivatives(EMA120 $60,142.15)",
      "description": "$60,245 BOS 상실 시 재분배 markdown 1차 목표. Wyckoff SOW $60,134.50와 중기 EMA120 $60,142.15가 겹치는 단기 구조 지지대 테스트.",
      "est_hours": 16.0
    },
    {
      "seq": 4,
      "price": 60028.00,
      "type": "swing_low",
      "source": "Wyckoff(지지 $60,028.00), Harmonic(bearish Bat TP1 $60,055.51 인접), Fibonacci(strict fib $59,957.79 하단 score 1.0)",
      "description": "재분배 markdown 하단 유동성 테스트. Wyckoff 지지 $60,028.00 + bearish Bat TP1 $60,055.51 confluence. 모멘텀 연장 시 strict fib $59,957.79까지 오버슛 가능.",
      "est_hours": 22.0
    }
  ],
  "period_extremes": {
    "4h":  {"expected_high": 60519.50, "expected_low": 60320.00, "high_first": true},
    "8h":  {"expected_high": 60557.80, "expected_low": 60282.37, "high_first": true},
    "24h": {"expected_high": 60568.90, "expected_low": 59957.79, "high_first": true}
  },
  "triggers": {
    "bullish": {"price": 60568.90, "description": "15분 종가로 $60,557.80 UTAD/$60,568.90 BSL 위 수용 시 스윕-거부 무산. Wyckoff상 UTAD 재수용은 약세 셋업을 무효화하며 $60,734 향한 강세 가속 신호."},
    "bearish": {"price": 60245.00, "description": "15분 종가로 bullish BOS $60,245.00 하향 이탈 시 ICT 강세 구조 붕괴·재분배 markdown 확정. $60,134.50 → $60,028 하방 가속."}
  },
  "scenario_invalidation": 60734.00
}
```

Raw Chairman Response
{
  "overall_signal": "bearish",
  "overall_confidence": 0.6,
  "execution_setup": {
    "setup_bias": "bullish",
    "setup_strength": 0.62,
    "active_setups": [
      "ICT: 최근 bullish BOS 기준선 $60,245.00 위에서 가격이 유지되고 있으며, 상단 BSL $60,568.90 및 NY 고점 $60,557.80이 미회수 유동성으로 남아 있음",
      "캔들: 7일 레인지 EQ $60,619.80 아래 discount 구간에서 high-volume bullish_harami가 발생했고, 단기 확인선은 EMA20 $60,340.19 및 EMA240 $60,360.92 회복",
      "피보나치: 하락 스윙 $60,558 → $60,261의 0.236 되돌림 $60,331.04를 현재가가 테스트 중이며, $60,282.37에 6개 레벨이 겹치는 지지 클러스터 존재",
      "반대 조건: 파생 CVD -749.0930, OI 24시간 -1.6050%, 롱 계정 과밀로 반등의 신규 매수 질은 약함",
      "반대 조건: Wyckoff상 $60,472.20 UT와 $60,557.80 UTAD 아래에 있어 상단 공급 재검증 구조가 유지됨",
      "반대 조건: 하모닉상 현재가가 bearish Bat/Butterfly/Gartley PRZ $60,217.82-$60,549.45 내부에 위치"
    ],
    "setup_vs_structure": "구조적 판정은 Wyckoff 재분배 Phase D와 파생 약세가 우세해 bearish이나, 실행 셋업은 ICT BOS 유지와 캔들·피보나치 지지 반응 때문에 단기 bullish 쪽으로 기울어 있다. 즉, 현재는 구조와 실행 셋업이 불일치하는 구간이며, 상단 유동성 회수 시도 자체가 구조적 강세 전환을 의미하지는 않는다."
  },
  "signal_breakdown": {
    "bullish_count": 1,
    "bearish_count": 1,
    "neutral_count": 4
  },
  "key_levels": {
    "support": [
      60245.0,
      60202.0,
      60142.15,
      60134.5,
      60028.0,
      59871.9,
      59846.2,
      59100.0,
      58030.0
    ],
    "resistance": [
      60340.19,
      60360.92,
      60472.2,
      60557.8,
      60568.9,
      60734.0,
      61600.0,
      63209.6
    ]
  },
  "confluences": [
    "상단 $60,557.80-$60,568.90 구간은 ICT의 NY 고점 $60,557.80 및 BSL $60,568.90, Wyckoff의 UTAD $60,557.80, 하모닉 bearish Gartley 완료 지점 $60,557.80이 겹치는 핵심 유동성·공급 구간이다.",
    "$60,340.19-$60,360.92는 Derivatives와 Candlestick이 공통으로 제시한 EMA20/EMA240 저항이며, 현재가 $60,331.90이 바로 아래에 있어 단기 수용 여부가 구조 판정의 첫 관문이다.",
    "$60,472.20-$60,510.71 구간은 Wyckoff UT $60,472.20과 하모닉 bearish Bat PRZ 상단 $60,510.71이 겹치는 재공급 확인 구간이다.",
    "$60,134.50-$60,142.15는 Wyckoff의 SOW_IN_PHASE_B $60,134.50과 Candlestick/Derivatives의 EMA120 $60,142.15가 겹치는 단기 구조 지지대다.",
    "$60,028.00-$60,055.51는 Wyckoff 지지 $60,028.00과 하모닉 bearish Bat의 TP1 $60,055.51가 인접한 하방 반응 확인 구간이다.",
    "$60,245.00-$60,261.00 구간은 ICT bullish BOS 기준선 $60,245.00, 피보나치 스윙 저점 $60,261.00, 하모닉 bullish PRZ 상단 $60,258.36이 모여 단기 bullish setup의 방어 기준으로 작동한다."
  ],
  "conflicts": [
    "ICT는 $60,245.00 상방 BOS 유지로 구조를 bullish로 보지만, Wyckoff는 $60,557.80 UTAD 이후 가격이 그 아래에 머무는 재분배 Phase D로 해석해 구조적으로 bearish를 제시한다.",
    "Candlestick과 Fibonacci는 $60,331-$60,282 지지 반응 및 discount 반등 셋업을 강조하지만, Derivatives는 CVD 감소, OI 감소, 롱 계정 과밀을 근거로 반등의 질을 약하게 본다.",
    "Harmonic 내부에서도 bullish Gartley PRZ $60,109.93-$60,258.36이 존재하지만, 확인 반응이 완료된 쪽은 bearish Bat PRZ $60,217.82-$60,510.71이며 bearish 점수가 우세하다.",
    "현재가는 EMA20 $60,340.19 및 EMA240 $60,360.92 바로 아래에 있어, 단기 캔들·ICT의 bullish setup과 파생·Wyckoff의 bearish 구조가 같은 가격대에서 충돌하고 있다."
  ],
  "highest_conviction_analyst": "Wyckoff Expert — 현재 구조를 prior completed distribution 이후의 active redistribution 후보로 분리해 제시했고, $60,472.20 UT와 $60,557.80 UTAD 아래 Phase D라는 구체적 구조 위치를 제시했으며 regime 적합도가 매우 높다. 단기 실행 점수는 ICT가 가장 강하지만, 구조적 overall_signal 산정에서는 Wyckoff의 체계적 레짐 판정이 가장 높은 가중치를 갖는다.",
  "invalidation_level": "$60,557.80 15분 종가 재수용이 1차 구조 약세 무효화 조건이며, $60,734.00 상방 수용은 재분배 해석의 강한 무효화 조건이다.",
  "executive_summary": "현재 BTC 15분 구조는 이전 분배 사이클이 이미 한 차례 완료된 뒤, $60,472.20 UT와 $60,557.80 UTAD를 형성한 active redistribution 후보로 보는 것이 가장 합리적이다. 가격은 현재 $60,331.90으로 UTAD 아래에 머물며 Phase D 성격의 공급권 내부에 있고, 이는 구조적 bias를 bearish로 기울게 한다. 다만 $60,245.00 bullish BOS 유지, $60,331.04 피보나치 테스트, $60,282.37 지지 클러스터, bullish_harami 발생으로 인해 즉시 실행 셋업은 구조와 달리 bullish 반응 위험을 포함한다. 핵심 구조 조건은 $60,340.19-$60,360.92 수용 여부와 $60,557.80 UTAD 재수용 여부이며, 이 구간을 회복하지 못하는 한 재분배 해석은 유지된다."
}
Full Result JSON
{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-06-27 21:00 KST",
  "last_price": 60331.9,
  "num_candles": 300,
  "stage1_analyses": {
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.64,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "현재가 $60,331.90가 EMA20 $60,340.19 및 EMA240 $60,360.92 바로 아래에 위치해 단기 구조 수용이 아직 확인되지 않음",
        "CVD 변화 -749.0930으로 가격이 24시간 +1.58% 반등했음에도 매수 참여가 약한 약세 다이버전스",
        "OI 24시간 -1.6050% 감소로 상승 추세 신규 롱 유입이 아니라 포지션 언와인딩 성격",
        "롱 계정 비율 0.665, account_long_crowding 1.000으로 롱 포지셔닝 과밀",
        "롱 계정 24시간 -0.0063 감소, 숏 계정 +0.006 증가로 계정 플로우가 short_accounts_rising_long_accounts_falling",
        "선물 basis -0.0526%로 현물 대비 선물이 할인되어 파생 수요가 약함",
        "상단 $61,600, $62,700, $62,800에 청산 유동성이 있으나 현재 파생 지표는 상단 추격보다 하단 $59,100 및 $58,000 유동성 재방문 위험을 시사"
      ],
      "reasoning": "현재 BTC는 $60,331.90으로 EMA20 $60,340.19와 EMA240 $60,360.92 부근에서 방향성이 확정되지 않아 구조적으로는 중립 박스권에 가깝다. 그러나 파생 포지셔닝은 aggregate_score 0.314, bear_signals 4개, bull_signals 0개로 약세 쪽이며, CVD가 -749.0930 감소해 가격 반등 대비 매수 체결 강도가 따라오지 못하고 있다. OI도 24시간 -1.6050% 줄어 상승이 신규 롱 구축보다는 숏 커버 또는 포지션 축소 성격일 가능성이 높다. 롱 계정 비율이 0.665로 높고 account_long_crowding이 1.000인 상태에서 funding_pressure 0.444와 basis -0.0526%는 롱 과밀 대비 파생 수요가 약하다는 신호다. 따라서 확인된 구조는 중립이지만, 4-8시간 선행 관점의 실행 셋업은 $59,100, $58,000, $57,900 하방 유동성 테스트 쪽으로 기울어 있다.",
      "key_levels": {
        "support": [
          60142.15,
          59100,
          58030,
          58000,
          57900
        ],
        "resistance": [
          60340.19,
          60360.92,
          61600,
          62700,
          62800,
          63209.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,600 상방에서 15분봉 기준 명확한 수용 및 유지",
      "risk_scenario": "반대로 가격이 $61,600 상단 청산 클러스터를 흡수하고 유지하면 숏 커버가 발생해 $62,700-$62,800의 다음 청산 구간까지 빠르게 확장될 수 있다. 이 경우 CVD가 플러스로 전환되고 OI가 재증가하면 현재의 약세 셋업은 무효화되며 $63,209.60 7일 고점 재테스트가 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -749.093,
        "oi_trend": 0.339,
        "oi_change_pct_24h": -1.605,
        "oi_latest": 104530.726,
        "funding_pressure": 0.444,
        "funding_avg": 5.616e-05,
        "funding_change_24h": -3.024e-05,
        "long_account_ratio": 0.675,
        "short_account_ratio": 0.325,
        "long_account_latest": 0.665,
        "short_account_latest": 0.335,
        "long_account_change_24h": -0.0063,
        "short_account_change_24h": 0.0063,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.487,
        "spot_futures_basis_pct": -0.0526,
        "basis_change_lookback": -0.0077,
        "aggregate_score": 0.314,
        "bull_signals": 0,
        "bear_signals": 4,
        "liq_below": [
          [
            59100,
            1138.051488
          ],
          [
            58000,
            1295.5159630000003
          ],
          [
            57900,
            1410.860372
          ]
        ],
        "liq_above": [
          [
            61600,
            1107.8732280000002
          ],
          [
            62700,
            1038.01216
          ],
          [
            62800,
            1594.0270640000003
          ]
        ],
        "strongest_liq_level": 54300,
        "fragility_score": 0.535,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.64,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"현재가 $60,331.90가 EMA20 $60,340.19 및 EMA240 $60,360.92 바로 아래에 위치해 단기 구조 수용이 아직 확인되지 않음\",\n    \"CVD 변화 -749.0930으로 가격이 24시간 +1.58% 반등했음에도 매수 참여가 약한 약세 다이버전스\",\n    \"OI 24시간 -1.6050% 감소로 상승 추세 신규 롱 유입이 아니라 포지션 언와인딩 성격\",\n    \"롱 계정 비율 0.665, account_long_crowding 1.000으로 롱 포지셔닝 과밀\",\n    \"롱 계정 24시간 -0.0063 감소, 숏 계정 +0.006 증가로 계정 플로우가 short_accounts_rising_long_accounts_falling\",\n    \"선물 basis -0.0526%로 현물 대비 선물이 할인되어 파생 수요가 약함\",\n    \"상단 $61,600, $62,700, $62,800에 청산 유동성이 있으나 현재 파생 지표는 상단 추격보다 하단 $59,100 및 $58,000 유동성 재방문 위험을 시사\"\n  ],\n  \"reasoning\": \"현재 BTC는 $60,331.90으로 EMA20 $60,340.19와 EMA240 $60,360.92 부근에서 방향성이 확정되지 않아 구조적으로는 중립 박스권에 가깝다. 그러나 파생 포지셔닝은 aggregate_score 0.314, bear_signals 4개, bull_signals 0개로 약세 쪽이며, CVD가 -749.0930 감소해 가격 반등 대비 매수 체결 강도가 따라오지 못하고 있다. OI도 24시간 -1.6050% 줄어 상승이 신규 롱 구축보다는 숏 커버 또는 포지션 축소 성격일 가능성이 높다. 롱 계정 비율이 0.665로 높고 account_long_crowding이 1.000인 상태에서 funding_pressure 0.444와 basis -0.0526%는 롱 과밀 대비 파생 수요가 약하다는 신호다. 따라서 확인된 구조는 중립이지만, 4-8시간 선행 관점의 실행 셋업은 $59,100, $58,000, $57,900 하방 유동성 테스트 쪽으로 기울어 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      60142.15,\n      59100,\n      58030,\n      58000,\n      57900\n    ],\n    \"resistance\": [\n      60340.19,\n      60360.92,\n      61600,\n      62700,\n      62800,\n      63209.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,600 상방에서 15분봉 기준 명확한 수용 및 유지\",\n  \"risk_scenario\": \"반대로 가격이 $61,600 상단 청산 클러스터를 흡수하고 유지하면 숏 커버가 발생해 $62,700-$62,800의 다음 청산 구간까지 빠르게 확장될 수 있다. 이 경우 CVD가 플러스로 전환되고 OI가 재증가하면 현재의 약세 셋업은 무효화되며 $63,209.60 7일 고점 재테스트가 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bullish",
      "confidence": 0.64,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.68,
      "setup_signals": [
        "현재가 $60,331.90는 7일 레인지 EQ $60,619.80 아래에 있어 discount zone 반등 셋업",
        "EMA120 $60,142.15 위에서 거래되어 중기 평균선 지지 반응 가능성",
        "최근 bullish_harami@298이 high volume으로 발생했고 pattern_quality 0.781로 가장 강한 신호",
        "morning_star@299 후보가 직후 출현해 단기 하락 압력 둔화 및 반전 시도",
        "doji@298도 high volume으로 발생해 매도 추세의 일시 정지 및 방향 전환 가능성"
      ],
      "reasoning": "구조적으로는 현재가 $60,331.90가 EMA20 $60,340.19와 EMA240 $60,360.92 바로 아래에 있어 아직 명확한 상방 acceptance나 BOS가 확인되지 않았으므로 structure_bias는 neutral입니다. 다만 7일 고점 $63,209.60과 저점 $58,030.00의 중간값인 EQ $60,619.80 아래 discount 구간에서 bullish_harami@298, morning_star@299, hammer@295가 연속적으로 포착되어 setup_bias는 bullish입니다. 특히 bullish_harami의 pattern_quality가 0.781이고 high volume 패턴으로 분류되며, bull_score 2.15 대 bear_score 0으로 최근 캔들 신호는 매수 쪽에 우위가 있습니다. 단기 확인 조건은 EMA20 $60,340.19 및 EMA240 $60,360.92 회복이며, 그 위에서 $60,619.80 EQ까지 올라서면 반등 신뢰도가 높아집니다.",
      "key_levels": {
        "support": [
          60142.15,
          60000,
          58030
        ],
        "resistance": [
          60340.19,
          60360.92,
          60619.8,
          63209.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "15분봉 종가가 EMA120 $60,142.15 아래로 마감하면 단기 bullish candlestick setup은 무효화됩니다.",
      "risk_scenario": "반대로 가격이 EMA20 $60,340.19와 EMA240 $60,360.92를 회복하지 못하고 $60,142.15 아래로 밀리면, high-volume doji와 harami는 반전이 아니라 단순한 하락 중 휴식으로 해석될 수 있으며 $60,000 심리적 지지와 7일 저점 $58,030.00 재시험 위험이 커집니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 143,
        "recent_patterns": 4,
        "pattern_list": [
          "hammer@295",
          "morning_star@299",
          "doji@298",
          "bullish_harami@298"
        ],
        "atr_value": 113.79,
        "vol_avg_20": 613.78,
        "high_volume_patterns": [
          "doji",
          "bullish_harami"
        ],
        "pattern_candidates": [
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.781,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "morning_star",
            "signal": "bullish",
            "pattern_quality": 0.6,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.555,
            "tier": "candidate",
            "high_volume": true
          },
          {
            "pattern": "hammer",
            "signal": "bullish",
            "pattern_quality": 0.473,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.781,
        "bull_score": 2.15,
        "bear_score": 0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.64,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"현재가 $60,331.90는 7일 레인지 EQ $60,619.80 아래에 있어 discount zone 반등 셋업\",\n    \"EMA120 $60,142.15 위에서 거래되어 중기 평균선 지지 반응 가능성\",\n    \"최근 bullish_harami@298이 high volume으로 발생했고 pattern_quality 0.781로 가장 강한 신호\",\n    \"morning_star@299 후보가 직후 출현해 단기 하락 압력 둔화 및 반전 시도\",\n    \"doji@298도 high volume으로 발생해 매도 추세의 일시 정지 및 방향 전환 가능성\"\n  ],\n  \"reasoning\": \"구조적으로는 현재가 $60,331.90가 EMA20 $60,340.19와 EMA240 $60,360.92 바로 아래에 있어 아직 명확한 상방 acceptance나 BOS가 확인되지 않았으므로 structure_bias는 neutral입니다. 다만 7일 고점 $63,209.60과 저점 $58,030.00의 중간값인 EQ $60,619.80 아래 discount 구간에서 bullish_harami@298, morning_star@299, hammer@295가 연속적으로 포착되어 setup_bias는 bullish입니다. 특히 bullish_harami의 pattern_quality가 0.781이고 high volume 패턴으로 분류되며, bull_score 2.15 대 bear_score 0으로 최근 캔들 신호는 매수 쪽에 우위가 있습니다. 단기 확인 조건은 EMA20 $60,340.19 및 EMA240 $60,360.92 회복이며, 그 위에서 $60,619.80 EQ까지 올라서면 반등 신뢰도가 높아집니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60142.15,\n      60000,\n      58030\n    ],\n    \"resistance\": [\n      60340.19,\n      60360.92,\n      60619.8,\n      63209.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"15분봉 종가가 EMA120 $60,142.15 아래로 마감하면 단기 bullish candlestick setup은 무효화됩니다.\",\n  \"risk_scenario\": \"반대로 가격이 EMA20 $60,340.19와 EMA240 $60,360.92를 회복하지 못하고 $60,142.15 아래로 밀리면, high-volume doji와 harami는 반전이 아니라 단순한 하락 중 휴식으로 해석될 수 있으며 $60,000 심리적 지지와 7일 저점 $58,030.00 재시험 위험이 커집니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bullish",
      "confidence": 0.72,
      "structure_bias": "bullish",
      "setup_bias": "bullish",
      "setup_score": 0.92,
      "setup_signals": [
        "현재가 $60,331.90가 EQ $60,202.00 위에 있어 프리미엄 구간이나, 최근 bullish BOS 기준 $60,245.00 위를 유지 중",
        "상단에 BSL 유동성 $60,568.90가 남아 있어 단기 매수 측 유동성 타깃으로 작동 가능",
        "New York 세션 고점 $60,557.80와 BSL $60,568.90가 거의 겹쳐 있어 유동성 회수 가능성이 높음",
        "되돌림이 38.5% 수준에서 제한되어 bullish retracement 흐름 유지",
        "하단 후보 bullish OB는 $58,288.00-$58,944.00에 있으나 현재가와 거리가 멀고 active OB는 아님"
      ],
      "reasoning": "확정 구조는 최근 시퀀스가 BOS_bullish → CHoCH_bearish → BOS_bullish이며, 마지막 구조 이벤트가 $60,245.00 상방 bullish BOS이므로 단기 structure_bias는 bullish로 판단한다. 현재가 $60,331.90는 EQ $60,202.00 위 프리미엄에 위치해 추격 롱에는 불리하지만, $60,245.00 BOS 레벨 위를 유지하는 동안 상단 BSL $60,568.90 및 NY 고점 $60,557.80 회수 가능성이 우선이다. 다만 unfilled FVG가 0개, active OB도 0개이며 최근 liquidity sweep도 없어 기관 주문흐름의 강한 확증은 부족하다. 따라서 방향성은 bullish지만, $60,568.90-$60,734.00 구간에서는 buy-side liquidity sweep 후 되돌림 리스크를 경계해야 한다.",
      "key_levels": {
        "support": [
          60245.0,
          60202.0,
          60074.5,
          59846.2,
          58944.0,
          58288.0
        ],
        "resistance": [
          60557.8,
          60568.9,
          60734.0,
          61256.0,
          63209.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,846.20",
      "risk_scenario": "$60,568.90 BSL 및 $60,557.80 NY 고점을 회수한 뒤 즉시 하락 반전하거나, 반대로 $60,245.00와 EQ $60,202.00를 재차 하방 이탈하면 현재 bullish setup은 약화된다. 특히 $59,846.20 range low가 깨지면 bullish BOS 이후의 구조 유지가 실패한 것으로 보고 sell-side liquidity를 향한 bearish 전환 가능성이 커진다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 1,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 1,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": {
          "bottom": 58288.0,
          "top": 58944.0,
          "quality": "candidate",
          "score": 0.577
        },
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 2,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 66,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 61256.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 60648.0
          },
          {
            "type": "BOS_bullish",
            "level": 60245.0
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish"
        ],
        "consecutive_bull_bos": 1,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "BSL",
            "level": 60568.9
          }
        ],
        "current_zone": "premium",
        "eq_level": 60202.0,
        "range_high": 60557.8,
        "range_low": 59846.2,
        "bull_score": 5.5,
        "bear_score": 2.2,
        "setup_bias": "bullish",
        "setup_score": 0.92,
        "setup_signals": [
          "bullish BOS above $61,256.00",
          "bullish BOS above $60,245.00",
          "BSL resting above $60,568.90"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 38.5,
        "deepest_retracement_pct": 38.5,
        "previous_day_high": 60734.0,
        "previous_day_low": 58288.0,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": false,
            "high": null,
            "low": null
          },
          "New York": {
            "active": true,
            "high": 60557.8,
            "low": 60074.5
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.72,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.92,\n  \"setup_signals\": [\n    \"현재가 $60,331.90가 EQ $60,202.00 위에 있어 프리미엄 구간이나, 최근 bullish BOS 기준 $60,245.00 위를 유지 중\",\n    \"상단에 BSL 유동성 $60,568.90가 남아 있어 단기 매수 측 유동성 타깃으로 작동 가능\",\n    \"New York 세션 고점 $60,557.80와 BSL $60,568.90가 거의 겹쳐 있어 유동성 회수 가능성이 높음\",\n    \"되돌림이 38.5% 수준에서 제한되어 bullish retracement 흐름 유지\",\n    \"하단 후보 bullish OB는 $58,288.00-$58,944.00에 있으나 현재가와 거리가 멀고 active OB는 아님\"\n  ],\n  \"reasoning\": \"확정 구조는 최근 시퀀스가 BOS_bullish → CHoCH_bearish → BOS_bullish이며, 마지막 구조 이벤트가 $60,245.00 상방 bullish BOS이므로 단기 structure_bias는 bullish로 판단한다. 현재가 $60,331.90는 EQ $60,202.00 위 프리미엄에 위치해 추격 롱에는 불리하지만, $60,245.00 BOS 레벨 위를 유지하는 동안 상단 BSL $60,568.90 및 NY 고점 $60,557.80 회수 가능성이 우선이다. 다만 unfilled FVG가 0개, active OB도 0개이며 최근 liquidity sweep도 없어 기관 주문흐름의 강한 확증은 부족하다. 따라서 방향성은 bullish지만, $60,568.90-$60,734.00 구간에서는 buy-side liquidity sweep 후 되돌림 리스크를 경계해야 한다.\",\n  \"key_levels\": {\n    \"support\": [\n      60245.0,\n      60202.0,\n      60074.5,\n      59846.2,\n      58944.0,\n      58288.0\n    ],\n    \"resistance\": [\n      60557.8,\n      60568.9,\n      60734.0,\n      61256.0,\n      63209.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,846.20\",\n  \"risk_scenario\": \"$60,568.90 BSL 및 $60,557.80 NY 고점을 회수한 뒤 즉시 하락 반전하거나, 반대로 $60,245.00와 EQ $60,202.00를 재차 하방 이탈하면 현재 bullish setup은 약화된다. 특히 $59,846.20 range low가 깨지면 bullish BOS 이후의 구조 유지가 실패한 것으로 보고 sell-side liquidity를 향한 bearish 전환 가능성이 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bearish",
      "confidence": 0.59,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "확정 반응 완료된 bearish Bat: PRZ $60,217.82-$60,510.71, D=$60,466.50 이후 반응점수 0.75 및 AD 0.236 반응 도달",
        "현재가 $60,331.90가 bearish Butterfly PRZ $60,292.09-$60,530.47 내부에 위치",
        "현재가가 bearish Bat forming PRZ $60,116.23-$60,487.38 내부이며 중심 D 후보 $60,301.81 근처",
        "bearish Gartley forming PRZ $60,179.37-$60,549.45가 현재가와 거의 겹치며 price_to_prz_pct 0.05%",
        "bearish 방향 점수 1.59가 bullish 0.406을 상회, directional_dominance 0.593",
        "검증된 bearish Bat TP ladder: TP1 $60,055.51, TP2 $59,864.76, TP3 $59,556.00"
      ],
      "reasoning": "구조 관점에서는 15분 BOS/CHoCH 같은 명시적 구조 전환 데이터가 없으므로 structure_bias는 neutral로 둔다. 다만 세팅 관점에서는 현재가 $60,331.90가 다수의 고품질 bearish PRZ 안에 있으며, 특히 확정 반응된 bearish Bat PRZ $60,217.82-$60,510.71이 반응점수 0.75로 유효하다. 동시에 bullish Gartley PRZ $60,109.93-$60,258.36 및 bullish Bat PRZ $59,904.47-$60,259.33도 아래에 겹쳐 있어 즉시 하락 추격보다는 $60,055-$59,865 구간 반응을 확인해야 한다. 하모닉 단독으로 메인 경로를 뒤집을 수는 없지만, 확인된 bearish Bat와 bearish 점수 우위 1.59 대 0.406은 단기 하방 반응 세팅에 더 높은 가중치를 준다.",
      "key_levels": {
        "support": [
          60228.62,
          60115.77,
          60055.51,
          60016.91,
          59864.76,
          59556.0
        ],
        "resistance": [
          60411.28,
          60487.38,
          60510.71,
          60530.47,
          60549.45,
          60711.05
        ]
      },
      "time_horizon": "단기, 15분 기준",
      "invalidation_level": "60711.05",
      "risk_scenario": "가격이 $60,510.71-$60,549.45 상단을 회복하고 특히 $60,711.05 위에서 수용되면 bearish PRZ 방어 실패로 해석되며, bullish Gartley/Bat의 상방 TP인 $60,415.06-$60,557.80 재시험 및 추가 숏 스퀴즈 위험이 커진다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 63,
        "completed_patterns_found": 22,
        "forming_d_prz_found": 41,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 55,
        "swing_highs_scanned": 28,
        "swing_lows_scanned": 27,
        "timeframe": "15m",
        "prz_active_threshold_pct": 0.3,
        "prz_nearby_threshold_pct": 0.6,
        "prz_watch_threshold_pct": 1.2,
        "prz_max_width_pct": 0.6,
        "quality_counts": {
          "high": 13,
          "medium": 25,
          "low": 25
        },
        "prz_status_counts": {
          "active": 22,
          "nearby": 8,
          "watch": 11,
          "far": 22,
          "forming": 16
        },
        "high_confluence_prz_count": 31,
        "strict_patterns_found": 31,
        "candidate_patterns_found": 32,
        "active_patterns_at_prz": 22,
        "nearby_patterns": 8,
        "all_patterns": [
          "gartley",
          "butterfly",
          "shark",
          "shark",
          "bat",
          "bat",
          "gartley",
          "crab",
          "bat",
          "bat",
          "bat",
          "crab",
          "butterfly",
          "gartley",
          "gartley",
          "crab",
          "bat",
          "crab",
          "gartley",
          "bat",
          "gartley",
          "shark",
          "butterfly",
          "butterfly",
          "butterfly",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "bat",
          "butterfly",
          "bat",
          "crab",
          "crab",
          "shark",
          "gartley",
          "shark",
          "crab",
          "gartley",
          "crab",
          "bat",
          "gartley",
          "butterfly",
          "crab",
          "bat",
          "shark",
          "shark",
          "crab",
          "shark",
          "bat",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "gartley",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.967,
        "best_completion_status": "forming",
        "nearest_pattern": "bat",
        "nearest_prz": 60301.81,
        "price_to_prz": -0.05,
        "prz_range": [
          60116.23,
          60487.38
        ],
        "council_relevant_prz_count": 8,
        "directional_influence_prz_count": 8,
        "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.967,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60184.14,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.24,
            "price_to_prz_pct_raw": -0.2449,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924
            },
            "x_price": 60074.5,
            "x_idx": 277,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 283,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 289,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "ratio_score": 0.955,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60411.28,
            "prz_range": [
              60292.09,
              60530.47
            ],
            "prz_width_pct": 0.395,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.13,
            "price_to_prz_pct_raw": 0.1316,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 60411.28,
              "a_price": 59933.1,
              "tp1_ad_382": 60228.62,
              "tp2_ad_618": 60115.77,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7763,
              "ABC": 0.4001
            },
            "x_price": 60234.8,
            "x_idx": 173,
            "x_order": 8,
            "a_price": 59933.1,
            "a_idx": 221,
            "a_order": 3,
            "b_price": 60167.3,
            "b_idx": 252,
            "b_order": 8,
            "c_price": 60261.0,
            "c_idx": 289,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60182.47,
            "prz_range": [
              60022.33,
              60342.62
            ],
            "prz_width_pct": 0.532,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.25,
            "price_to_prz_pct_raw": -0.2477,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60182.47,
              "a_price": 59933.1,
              "tp1_ad_382": 60087.21,
              "tp2_ad_618": 60028.36,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4623,
              "ABC": 1.2815
            },
            "x_price": 60274.2,
            "x_idx": 212,
            "x_order": 3,
            "a_price": 59933.1,
            "a_idx": 221,
            "a_order": 3,
            "b_price": 60090.8,
            "b_idx": 248,
            "b_order": 3,
            "c_price": 59888.7,
            "c_idx": 260,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.962,
            "ratio_score": 1.0,
            "prz_score": 0.994,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60301.81,
            "prz_range": [
              60116.23,
              60487.38
            ],
            "prz_width_pct": 0.615,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.05,
            "price_to_prz_pct_raw": -0.0499,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60301.81,
              "a_price": 59556.0,
              "tp1_ad_382": 60016.91,
              "tp2_ad_618": 59840.9,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4609,
              "ABC": 0.3852
            },
            "x_price": 60580.0,
            "x_idx": 220,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 238,
            "a_order": 5,
            "b_price": 60028.0,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.952,
            "ratio_score": 0.99,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60081.9,
            "prz_range": [
              59904.47,
              60259.33
            ],
            "prz_width_pct": 0.591,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.41,
            "price_to_prz_pct_raw": -0.4144,
            "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": 60081.9,
              "a_price": 60492.2,
              "tp1_ad_382": 60238.63,
              "tp2_ad_618": 60335.47,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3831,
              "ABC": 0.8888
            },
            "x_price": 59888.7,
            "x_idx": 260,
            "x_order": 5,
            "a_price": 60492.2,
            "a_idx": 279,
            "a_order": 3,
            "b_price": 60261.0,
            "b_idx": 289,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.943,
            "ratio_score": 0.933,
            "prz_score": 0.995,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60364.41,
            "prz_range": [
              60179.37,
              60549.45
            ],
            "prz_width_pct": 0.613,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.05,
            "price_to_prz_pct_raw": 0.0539,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60364.41,
              "a_price": 59530.7,
              "tp1_ad_382": 60045.93,
              "tp2_ad_618": 59849.18,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6067,
              "ABC": 0.4376
            },
            "x_price": 60580.0,
            "x_idx": 220,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 60167.3,
            "b_idx": 252,
            "b_order": 8,
            "c_price": 59888.7,
            "c_idx": 260,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.916,
            "ratio_score": 0.923,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60466.5,
            "prz_range": [
              60217.82,
              60510.71
            ],
            "prz_width_pct": 0.485,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.05,
            "price_to_prz_pct_raw": 0.0536,
            "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",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.334,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 6,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60364.26,
              "a_price": 59556.0,
              "tp1_ad_382": 60055.51,
              "tp2_ad_618": 59864.76,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5223,
              "ABC": 0.4574,
              "BCD": 2.536,
              "XAD": 0.8892
            },
            "x_price": 60580.0,
            "x_idx": 220,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 238,
            "a_order": 5,
            "b_price": 60090.8,
            "b_idx": 248,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": 293
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.914,
            "ratio_score": 0.861,
            "prz_score": 0.996,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60526.29,
            "prz_range": [
              60341.53,
              60711.05
            ],
            "prz_width_pct": 0.611,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.32,
            "price_to_prz_pct_raw": 0.3222,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60526.29,
              "a_price": 59556.0,
              "tp1_ad_382": 60155.64,
              "tp2_ad_618": 59926.65,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5189,
              "ABC": 0.5253
            },
            "x_price": 60734.0,
            "x_idx": 186,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 238,
            "a_order": 5,
            "b_price": 60167.3,
            "b_idx": 252,
            "b_order": 8,
            "c_price": 59846.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.916,
            "ratio_score": 0.923,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60466.5,
            "prz_range": [
              60217.82,
              60510.71
            ],
            "prz_width_pct": 0.485,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.05,
            "price_to_prz_pct_raw": 0.0536,
            "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",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.334,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 6,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60364.26,
              "a_price": 59556.0,
              "tp1_ad_382": 60055.51,
              "tp2_ad_618": 59864.76,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5223,
              "ABC": 0.4574,
              "BCD": 2.536,
              "XAD": 0.8892
            },
            "x_price": 60580.0,
            "x_idx": 220,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 238,
            "a_order": 5,
            "b_price": 60090.8,
            "b_idx": 248,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": 293
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.967,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60184.14,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.24,
            "price_to_prz_pct_raw": -0.2449,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924
            },
            "x_price": 60074.5,
            "x_idx": 277,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 283,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 289,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "ratio_score": 0.955,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60411.28,
            "prz_range": [
              60292.09,
              60530.47
            ],
            "prz_width_pct": 0.395,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.13,
            "price_to_prz_pct_raw": 0.1316,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 60411.28,
              "a_price": 59933.1,
              "tp1_ad_382": 60228.62,
              "tp2_ad_618": 60115.77,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7763,
              "ABC": 0.4001
            },
            "x_price": 60234.8,
            "x_idx": 173,
            "x_order": 8,
            "a_price": 59933.1,
            "a_idx": 221,
            "a_order": 3,
            "b_price": 60167.3,
            "b_idx": 252,
            "b_order": 8,
            "c_price": 60261.0,
            "c_idx": 289,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60182.47,
            "prz_range": [
              60022.33,
              60342.62
            ],
            "prz_width_pct": 0.532,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.25,
            "price_to_prz_pct_raw": -0.2477,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60182.47,
              "a_price": 59933.1,
              "tp1_ad_382": 60087.21,
              "tp2_ad_618": 60028.36,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4623,
              "ABC": 1.2815
            },
            "x_price": 60274.2,
            "x_idx": 212,
            "x_order": 3,
            "a_price": 59933.1,
            "a_idx": 221,
            "a_order": 3,
            "b_price": 60090.8,
            "b_idx": 248,
            "b_order": 3,
            "c_price": 59888.7,
            "c_idx": 260,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.962,
            "ratio_score": 1.0,
            "prz_score": 0.994,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60301.81,
            "prz_range": [
              60116.23,
              60487.38
            ],
            "prz_width_pct": 0.615,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.05,
            "price_to_prz_pct_raw": -0.0499,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60301.81,
              "a_price": 59556.0,
              "tp1_ad_382": 60016.91,
              "tp2_ad_618": 59840.9,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4609,
              "ABC": 0.3852
            },
            "x_price": 60580.0,
            "x_idx": 220,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 238,
            "a_order": 5,
            "b_price": 60028.0,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.952,
            "ratio_score": 0.99,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60081.9,
            "prz_range": [
              59904.47,
              60259.33
            ],
            "prz_width_pct": 0.591,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.41,
            "price_to_prz_pct_raw": -0.4144,
            "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": 60081.9,
              "a_price": 60492.2,
              "tp1_ad_382": 60238.63,
              "tp2_ad_618": 60335.47,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3831,
              "ABC": 0.8888
            },
            "x_price": 59888.7,
            "x_idx": 260,
            "x_order": 5,
            "a_price": 60492.2,
            "a_idx": 279,
            "a_order": 3,
            "b_price": 60261.0,
            "b_idx": 289,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.943,
            "ratio_score": 0.933,
            "prz_score": 0.995,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60364.41,
            "prz_range": [
              60179.37,
              60549.45
            ],
            "prz_width_pct": 0.613,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.05,
            "price_to_prz_pct_raw": 0.0539,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60364.41,
              "a_price": 59530.7,
              "tp1_ad_382": 60045.93,
              "tp2_ad_618": 59849.18,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6067,
              "ABC": 0.4376
            },
            "x_price": 60580.0,
            "x_idx": 220,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 60167.3,
            "b_idx": 252,
            "b_order": 8,
            "c_price": 59888.7,
            "c_idx": 260,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.914,
            "ratio_score": 0.861,
            "prz_score": 0.996,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60526.29,
            "prz_range": [
              60341.53,
              60711.05
            ],
            "prz_width_pct": 0.611,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.32,
            "price_to_prz_pct_raw": 0.3222,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60526.29,
              "a_price": 59556.0,
              "tp1_ad_382": 60155.64,
              "tp2_ad_618": 59926.65,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5189,
              "ABC": 0.5253
            },
            "x_price": 60734.0,
            "x_idx": 186,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 238,
            "a_order": 5,
            "b_price": 60167.3,
            "b_idx": 252,
            "b_order": 8,
            "c_price": 59846.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.967,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60184.14,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.24,
            "price_to_prz_pct_raw": -0.2449,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924
            },
            "x_price": 60074.5,
            "x_idx": 277,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 283,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 289,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "ratio_score": 0.955,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60411.28,
            "prz_range": [
              60292.09,
              60530.47
            ],
            "prz_width_pct": 0.395,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.13,
            "price_to_prz_pct_raw": 0.1316,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 60411.28,
              "a_price": 59933.1,
              "tp1_ad_382": 60228.62,
              "tp2_ad_618": 60115.77,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7763,
              "ABC": 0.4001
            },
            "x_price": 60234.8,
            "x_idx": 173,
            "x_order": 8,
            "a_price": 59933.1,
            "a_idx": 221,
            "a_order": 3,
            "b_price": 60167.3,
            "b_idx": 252,
            "b_order": 8,
            "c_price": 60261.0,
            "c_idx": 289,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60182.47,
            "prz_range": [
              60022.33,
              60342.62
            ],
            "prz_width_pct": 0.532,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.25,
            "price_to_prz_pct_raw": -0.2477,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60182.47,
              "a_price": 59933.1,
              "tp1_ad_382": 60087.21,
              "tp2_ad_618": 60028.36,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4623,
              "ABC": 1.2815
            },
            "x_price": 60274.2,
            "x_idx": 212,
            "x_order": 3,
            "a_price": 59933.1,
            "a_idx": 221,
            "a_order": 3,
            "b_price": 60090.8,
            "b_idx": 248,
            "b_order": 3,
            "c_price": 59888.7,
            "c_idx": 260,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.962,
            "ratio_score": 1.0,
            "prz_score": 0.994,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60301.81,
            "prz_range": [
              60116.23,
              60487.38
            ],
            "prz_width_pct": 0.615,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.05,
            "price_to_prz_pct_raw": -0.0499,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60301.81,
              "a_price": 59556.0,
              "tp1_ad_382": 60016.91,
              "tp2_ad_618": 59840.9,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4609,
              "ABC": 0.3852
            },
            "x_price": 60580.0,
            "x_idx": 220,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 238,
            "a_order": 5,
            "b_price": 60028.0,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.952,
            "ratio_score": 0.99,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60081.9,
            "prz_range": [
              59904.47,
              60259.33
            ],
            "prz_width_pct": 0.591,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.41,
            "price_to_prz_pct_raw": -0.4144,
            "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": 60081.9,
              "a_price": 60492.2,
              "tp1_ad_382": 60238.63,
              "tp2_ad_618": 60335.47,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3831,
              "ABC": 0.8888
            },
            "x_price": 59888.7,
            "x_idx": 260,
            "x_order": 5,
            "a_price": 60492.2,
            "a_idx": 279,
            "a_order": 3,
            "b_price": 60261.0,
            "b_idx": 289,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.943,
            "ratio_score": 0.933,
            "prz_score": 0.995,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60364.41,
            "prz_range": [
              60179.37,
              60549.45
            ],
            "prz_width_pct": 0.613,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.05,
            "price_to_prz_pct_raw": 0.0539,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60364.41,
              "a_price": 59530.7,
              "tp1_ad_382": 60045.93,
              "tp2_ad_618": 59849.18,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6067,
              "ABC": 0.4376
            },
            "x_price": 60580.0,
            "x_idx": 220,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 60167.3,
            "b_idx": 252,
            "b_order": 8,
            "c_price": 59888.7,
            "c_idx": 260,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.916,
            "ratio_score": 0.923,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60466.5,
            "prz_range": [
              60217.82,
              60510.71
            ],
            "prz_width_pct": 0.485,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.05,
            "price_to_prz_pct_raw": 0.0536,
            "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",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.334,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 6,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60364.26,
              "a_price": 59556.0,
              "tp1_ad_382": 60055.51,
              "tp2_ad_618": 59864.76,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5223,
              "ABC": 0.4574,
              "BCD": 2.536,
              "XAD": 0.8892
            },
            "x_price": 60580.0,
            "x_idx": 220,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 238,
            "a_order": 5,
            "b_price": 60090.8,
            "b_idx": 248,
            "b_order": 3,
            "c_price": 59846.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": 293
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.914,
            "ratio_score": 0.861,
            "prz_score": 0.996,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60526.29,
            "prz_range": [
              60341.53,
              60711.05
            ],
            "prz_width_pct": 0.611,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.32,
            "price_to_prz_pct_raw": 0.3222,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60526.29,
              "a_price": 59556.0,
              "tp1_ad_382": 60155.64,
              "tp2_ad_618": 59926.65,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5189,
              "ABC": 0.5253
            },
            "x_price": 60734.0,
            "x_idx": 186,
            "x_order": 8,
            "a_price": 59556.0,
            "a_idx": 238,
            "a_order": 5,
            "b_price": 60167.3,
            "b_idx": 252,
            "b_order": 8,
            "c_price": 59846.2,
            "c_idx": 254,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.882,
            "ratio_score": 0.891,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59845.51,
            "prz_range": [
              59764.43,
              59926.59
            ],
            "prz_width_pct": 0.271,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.81,
            "price_to_prz_pct_raw": -0.8062,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 59845.51,
              "a_price": 60274.2,
              "tp1_ad_382": 60009.27,
              "tp2_ad_618": 60110.44,
              "tp3_a_or_structure_liquidity": 60274.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5997,
              "ABC": 0.6866
            },
            "x_price": 59705.4,
            "x_idx": 151,
            "x_order": 3,
            "a_price": 60274.2,
            "a_idx": 212,
            "a_order": 3,
            "b_price": 59933.1,
            "b_idx": 221,
            "b_order": 3,
            "c_price": 60167.3,
            "c_idx": 252,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.879,
            "ratio_score": 0.857,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60557.8,
            "prz_range": [
              60404.33,
              60605.62
            ],
            "prz_width_pct": 0.333,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.29,
            "price_to_prz_pct_raw": 0.2869,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.475,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60504.97,
              "a_price": 59933.1,
              "tp1_ad_382": 60286.52,
              "tp2_ad_618": 60151.56,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5677,
              "ABC": 0.689,
              "BCD": 1.5426,
              "XAD": 0.78
            },
            "x_price": 60734.0,
            "x_idx": 186,
            "x_order": 8,
            "a_price": 59933.1,
            "a_idx": 221,
            "a_order": 3,
            "b_price": 60387.8,
            "b_idx": 264,
            "b_order": 3,
            "c_price": 60074.5,
            "c_idx": 277,
            "c_order": 8,
            "d_idx": 283
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.848,
            "ratio_score": 0.87,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59846.2,
            "prz_range": [
              59764.43,
              59926.59
            ],
            "prz_width_pct": 0.271,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.81,
            "price_to_prz_pct_raw": -0.8062,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.265,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 59845.51,
              "a_price": 60274.2,
              "tp1_ad_382": 60009.27,
              "tp2_ad_618": 60110.44,
              "tp3_a_or_structure_liquidity": 60274.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5997,
              "ABC": 0.6866,
              "BCD": 1.3711,
              "XAD": 0.7525
            },
            "x_price": 59705.4,
            "x_idx": 151,
            "x_order": 3,
            "a_price": 60274.2,
            "a_idx": 212,
            "a_order": 3,
            "b_price": 59933.1,
            "b_idx": 221,
            "b_order": 3,
            "c_price": 60167.3,
            "c_idx": 252,
            "c_order": 8,
            "d_idx": 254
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.812,
            "ratio_score": 0.719,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60466.5,
            "prz_range": [
              60442.29,
              60624.22
            ],
            "prz_width_pct": 0.301,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.33,
            "price_to_prz_pct_raw": 0.3337,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.571,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 6,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "crab",
              "d_price": 60533.25,
              "a_price": 59933.1,
              "tp1_ad_382": 60303.99,
              "tp2_ad_618": 60162.36,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6866,
              "ABC": 0.4001,
              "BCD": 2.1932,
              "XAD": 1.5638
            },
            "x_price": 60274.2,
            "x_idx": 212,
            "x_order": 3,
            "a_price": 59933.1,
            "a_idx": 221,
            "a_order": 3,
            "b_price": 60167.3,
            "b_idx": 252,
            "b_order": 8,
            "c_price": 60261.0,
            "c_idx": 289,
            "c_order": 5,
            "d_idx": 293
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.967,
            "prz_proximity": "active",
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.24,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $60,109.93-$60,258.36: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "prz_proximity": "active",
            "prz_range": [
              60292.09,
              60530.47
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.13,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 60411.28,
              "a_price": 59933.1,
              "tp1_ad_382": 60228.62,
              "tp2_ad_618": 60115.77,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY FORMING HIGH PRZ $60,292.09-$60,530.47: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "prz_proximity": "active",
            "prz_range": [
              60022.33,
              60342.62
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": -0.25,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60182.47,
              "a_price": 59933.1,
              "tp1_ad_382": 60087.21,
              "tp2_ad_618": 60028.36,
              "tp3_a_or_structure_liquidity": 59933.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "SHARK FORMING HIGH PRZ $60,022.33-$60,342.62: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.962,
            "prz_proximity": "active",
            "prz_range": [
              60116.23,
              60487.38
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": -0.05,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60301.81,
              "a_price": 59556.0,
              "tp1_ad_382": 60016.91,
              "tp2_ad_618": 59840.9,
              "tp3_a_or_structure_liquidity": 59556.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $60,116.23-$60,487.38: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.952,
            "prz_proximity": "active",
            "prz_range": [
              59904.47,
              60259.33
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.41,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60081.9,
              "a_price": 60492.2,
              "tp1_ad_382": 60238.63,
              "tp2_ad_618": 60335.47,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $59,904.47-$60,259.33: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.943,
            "prz_proximity": "active",
            "prz_range": [
              60179.37,
              60549.45
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.05,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60364.41,
              "a_price": 59530.7,
              "tp1_ad_382": 60045.93,
              "tp2_ad_618": 59849.18,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $60,179.37-$60,549.45: expected reversal DOWN if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.967,
          "ratio_score": 0.977,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 60184.14,
          "prz_range": [
            60109.93,
            60258.36
          ],
          "prz_width_pct": 0.247,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.24,
          "price_to_prz_pct_raw": -0.2449,
          "harmonic_vote_state": {
            "authority": "pre_confirmation_reversal_candidate",
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "confirmation_reasons": [],
            "reaction_score": 0.0,
            "reaction_detail": {
              "reaction_score": 0.0,
              "reasons": []
            },
            "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
            "standalone_path_override_allowed": false
          },
          "directional_vote_weight": 0.35,
          "confirmed_reaction": false,
          "standalone_path_override_allowed": false,
          "tp_ladder": {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 60184.14,
            "a_price": 60557.8,
            "tp1_ad_382": 60326.88,
            "tp2_ad_618": 60415.06,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.6141,
            "ABC": 0.6924
          },
          "x_price": 60074.5,
          "x_idx": 277,
          "x_order": 8,
          "a_price": 60557.8,
          "a_idx": 283,
          "a_order": 8,
          "b_price": 60261.0,
          "b_idx": 289,
          "b_order": 5,
          "c_price": 60466.5,
          "c_idx": 293,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 60184.14,
          "a_price": 60557.8,
          "tp1_ad_382": 60326.88,
          "tp2_ad_618": 60415.06,
          "tp3_a_or_structure_liquidity": 60557.8,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bearish",
          "source": "bat",
          "d_price": 60364.26,
          "a_price": 59556.0,
          "tp1_ad_382": 60055.51,
          "tp2_ad_618": 59864.76,
          "tp3_a_or_structure_liquidity": 59556.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 60184.14,
            "a_price": 60557.8,
            "tp1_ad_382": 60326.88,
            "tp2_ad_618": 60415.06,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "butterfly",
            "d_price": 60411.28,
            "a_price": 59933.1,
            "tp1_ad_382": 60228.62,
            "tp2_ad_618": 60115.77,
            "tp3_a_or_structure_liquidity": 59933.1,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "shark",
            "d_price": 60182.47,
            "a_price": 59933.1,
            "tp1_ad_382": 60087.21,
            "tp2_ad_618": 60028.36,
            "tp3_a_or_structure_liquidity": 59933.1,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "bat",
            "d_price": 60301.81,
            "a_price": 59556.0,
            "tp1_ad_382": 60016.91,
            "tp2_ad_618": 59840.9,
            "tp3_a_or_structure_liquidity": 59556.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 60081.9,
            "a_price": 60492.2,
            "tp1_ad_382": 60238.63,
            "tp2_ad_618": 60335.47,
            "tp3_a_or_structure_liquidity": 60492.2,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "gartley",
            "d_price": 60364.41,
            "a_price": 59530.7,
            "tp1_ad_382": 60045.93,
            "tp2_ad_618": 59849.18,
            "tp3_a_or_structure_liquidity": 59530.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bearish",
            "source": "bat",
            "d_price": 60364.26,
            "a_price": 59556.0,
            "tp1_ad_382": 60055.51,
            "tp2_ad_618": 59864.76,
            "tp3_a_or_structure_liquidity": 59556.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 0.406,
          "bearish": 1.59
        },
        "directional_score_total": 1.996,
        "directional_dominance": 0.593
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.59,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"확정 반응 완료된 bearish Bat: PRZ $60,217.82-$60,510.71, D=$60,466.50 이후 반응점수 0.75 및 AD 0.236 반응 도달\",\n    \"현재가 $60,331.90가 bearish Butterfly PRZ $60,292.09-$60,530.47 내부에 위치\",\n    \"현재가가 bearish Bat forming PRZ $60,116.23-$60,487.38 내부이며 중심 D 후보 $60,301.81 근처\",\n    \"bearish Gartley forming PRZ $60,179.37-$60,549.45가 현재가와 거의 겹치며 price_to_prz_pct 0.05%\",\n    \"bearish 방향 점수 1.59가 bullish 0.406을 상회, directional_dominance 0.593\",\n    \"검증된 bearish Bat TP ladder: TP1 $60,055.51, TP2 $59,864.76, TP3 $59,556.00\"\n  ],\n  \"reasoning\": \"구조 관점에서는 15분 BOS/CHoCH 같은 명시적 구조 전환 데이터가 없으므로 structure_bias는 neutral로 둔다. 다만 세팅 관점에서는 현재가 $60,331.90가 다수의 고품질 bearish PRZ 안에 있으며, 특히 확정 반응된 bearish Bat PRZ $60,217.82-$60,510.71이 반응점수 0.75로 유효하다. 동시에 bullish Gartley PRZ $60,109.93-$60,258.36 및 bullish Bat PRZ $59,904.47-$60,259.33도 아래에 겹쳐 있어 즉시 하락 추격보다는 $60,055-$59,865 구간 반응을 확인해야 한다. 하모닉 단독으로 메인 경로를 뒤집을 수는 없지만, 확인된 bearish Bat와 bearish 점수 우위 1.59 대 0.406은 단기 하방 반응 세팅에 더 높은 가중치를 준다.\",\n  \"key_levels\": {\n    \"support\": [\n      60228.62,\n      60115.77,\n      60055.51,\n      60016.91,\n      59864.76,\n      59556.0\n    ],\n    \"resistance\": [\n      60411.28,\n      60487.38,\n      60510.71,\n      60530.47,\n      60549.45,\n      60711.05\n    ]\n  },\n  \"time_horizon\": \"단기, 15분 기준\",\n  \"invalidation_level\": \"60711.05\",\n  \"risk_scenario\": \"가격이 $60,510.71-$60,549.45 상단을 회복하고 특히 $60,711.05 위에서 수용되면 bearish PRZ 방어 실패로 해석되며, bullish Gartley/Bat의 상방 TP인 $60,415.06-$60,557.80 재시험 및 추가 숏 스퀴즈 위험이 커진다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bullish",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $60,331.90가 하락 스윙 $60,558→$60,261의 0.236 되돌림 $60,331.04를 정확히 테스트 중",
        "가격이 EQ/0.5 되돌림 $60,409.40 아래에 있어 단기적으로 할인 구간에 위치",
        "$60,282.37 부근에 6개 피보나치 레벨이 겹치는 고밀도 지지 컨플루언스 존재",
        "하방 실패 전까지 $60,374.38의 0.382, $60,409.40의 0.5, $60,444.42의 0.618 골든 레이시오까지 반등 여지 존재",
        "단기 EMA20 $60,340.19와 현재가가 거의 동일하여 방향 확정 전 균형권 테스트 상태"
      ],
      "reasoning": "현재 BTC/USDT는 하락 스윙 $60,558→$60,261 기준 0.236 되돌림 $60,331.04를 거의 정확히 테스트하고 있으며, fib_reaction_state는 testing이고 reaction_probability는 0.65로 제시되어 단기 반등 셋업이 유효하다. 구조적으로는 명확한 BOS/CHoCH 또는 수용 확인이 없으므로 structure_bias는 neutral로 보며, 단지 스윙 방향 자체는 하락 이후 되돌림 국면이다. 셋업 관점에서는 현재가가 EQ인 $60,409.40 아래 할인 구간에 있고, $60,282.37 컨플루언스 존의 cluster_score가 1.0으로 높아 $60,331~$60,282 구간에서 지지 반응을 기대할 수 있다. 다만 $60,374.38, $60,409.40, 특히 0.618 골든 레이시오 $60,444.42가 강한 저항으로 작용할 수 있어 반등은 확인형 접근이 필요하다.",
      "key_levels": {
        "support": [
          60331.04,
          60282.37,
          60261.0,
          60180.27,
          60077.58,
          59964.2
        ],
        "resistance": [
          60374.38,
          60409.4,
          60444.42,
          60494.28,
          60519.5
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "60261.00",
      "risk_scenario": "$60,261.00 스윙 저점이 하향 이탈되면 현재의 0.236 지지 반등 셋업은 무효화되며, 하락 확장이 $60,180.27의 1.272, $60,077.58의 1.618, 최종적으로 $59,964.20의 2.0 확장 지지까지 열릴 수 있다. 반대로 $60,444.42의 0.618 골든 레이시오를 강하게 돌파·안착하면 단순 반등을 넘어 $60,494.28 및 $60,519.50 컨플루언스 저항 재시험 가능성이 커진다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "High→Low: $60,558 → $60,261",
        "direction": "down",
        "nearest_fib": "ret_0.236",
        "nearest_fib_price": 60331.04,
        "nearest_fib_distance": 0.0,
        "golden_ratio_level": 60444.42,
        "fib_ret_382": 60374.38,
        "fib_ret_618": 60444.42,
        "confluence_zones": [
          {
            "price": 60282.37,
            "count": 6,
            "levels": [
              "ext_1.414",
              "ext_1.272",
              "ext_1.0",
              "ret_0.236",
              "ret_0.382",
              "ret_0.5"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 59957.79,
            "count": 4,
            "levels": [
              "ext_2.618",
              "ext_2.0",
              "ret_0.382",
              "ext_1.618"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 60519.5,
            "count": 3,
            "levels": [
              "ret_0.618",
              "ret_0.786",
              "ret_0.5"
            ],
            "cluster_score": 0.85
          }
        ],
        "support_levels": [
          60331.0448,
          60261.0,
          60180.2704
        ],
        "resistance_levels": [
          60374.3776,
          60409.4,
          60444.4224
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 60331.04,
            "distance_pct": 0.0,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.382",
            "price": 60374.38,
            "distance_pct": 0.07,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.5",
            "price": 60409.4,
            "distance_pct": 0.13,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.618",
            "price": 60444.42,
            "distance_pct": 0.19,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.786",
            "price": 60494.28,
            "distance_pct": 0.27,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.0",
            "price": 60261.0,
            "distance_pct": 0.12,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.272",
            "price": 60180.27,
            "distance_pct": 0.25,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.414",
            "price": 60138.12,
            "distance_pct": 0.32,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.618",
            "price": 60077.58,
            "distance_pct": 0.42,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_2.0",
            "price": 59964.2,
            "distance_pct": 0.61,
            "is_support": true,
            "cluster_score": 1.0
          }
        ],
        "confluence_quality": 1.0,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $60,331.90가 하락 스윙 $60,558→$60,261의 0.236 되돌림 $60,331.04를 정확히 테스트 중\",\n    \"가격이 EQ/0.5 되돌림 $60,409.40 아래에 있어 단기적으로 할인 구간에 위치\",\n    \"$60,282.37 부근에 6개 피보나치 레벨이 겹치는 고밀도 지지 컨플루언스 존재\",\n    \"하방 실패 전까지 $60,374.38의 0.382, $60,409.40의 0.5, $60,444.42의 0.618 골든 레이시오까지 반등 여지 존재\",\n    \"단기 EMA20 $60,340.19와 현재가가 거의 동일하여 방향 확정 전 균형권 테스트 상태\"\n  ],\n  \"reasoning\": \"현재 BTC/USDT는 하락 스윙 $60,558→$60,261 기준 0.236 되돌림 $60,331.04를 거의 정확히 테스트하고 있으며, fib_reaction_state는 testing이고 reaction_probability는 0.65로 제시되어 단기 반등 셋업이 유효하다. 구조적으로는 명확한 BOS/CHoCH 또는 수용 확인이 없으므로 structure_bias는 neutral로 보며, 단지 스윙 방향 자체는 하락 이후 되돌림 국면이다. 셋업 관점에서는 현재가가 EQ인 $60,409.40 아래 할인 구간에 있고, $60,282.37 컨플루언스 존의 cluster_score가 1.0으로 높아 $60,331~$60,282 구간에서 지지 반응을 기대할 수 있다. 다만 $60,374.38, $60,409.40, 특히 0.618 골든 레이시오 $60,444.42가 강한 저항으로 작용할 수 있어 반등은 확인형 접근이 필요하다.\",\n  \"key_levels\": {\n    \"support\": [\n      60331.04,\n      60282.37,\n      60261.0,\n      60180.27,\n      60077.58,\n      59964.2\n    ],\n    \"resistance\": [\n      60374.38,\n      60409.4,\n      60444.42,\n      60494.28,\n      60519.5\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"60261.00\",\n  \"risk_scenario\": \"$60,261.00 스윙 저점이 하향 이탈되면 현재의 0.236 지지 반등 셋업은 무효화되며, 하락 확장이 $60,180.27의 1.272, $60,077.58의 1.618, 최종적으로 $59,964.20의 2.0 확장 지지까지 열릴 수 있다. 반대로 $60,444.42의 0.618 골든 레이시오를 강하게 돌파·안착하면 단순 반등을 넘어 $60,494.28 및 $60,519.50 컨플루언스 저항 재시험 가능성이 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.64,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "현재가 $60,331.90가 active redistribution 후보의 UT $60,472.20 및 UTAD $60,557.80 아래에 위치",
        "Phase D 맥락에서 UTAD $60,557.80 이후 하방 반응이 유지되며, 재상승 시도는 $60,472~$60,558 공급대 재검증 구간",
        "현재가가 SOW_IN_PHASE_B $60,134.50 위에 있으나, $60,557.80을 회복하지 못하면 $60,134.50 → $60,028.00 → $59,871.90 재테스트 가능",
        "EMA20 $60,340.19, EMA240 $60,360.92 부근에서 가격이 정체되어 단기 균형선 위 수용이 아직 확인되지 않음"
      ],
      "reasoning": "지표상 regime은 DIS이고 regime_fitness는 0.963으로 높으며, 구조 해석은 distribution/redistribution의 Phase D 약세 쪽이다. 이전 확정 구조는 BC $59,895.30 → ST $61,931.10 → UTAD $60,274.20 → SOW $59,358.80로 완료된 bearish distribution이며, 현재 active 구조는 $60,472.20 UT와 $60,557.80 UTAD를 만든 뒤 가격이 $60,331.90에 머물러 있어 상단 실패 이후의 재분배 후보로 읽힌다. 다만 현재 구조가 완전한 Phase E markdown으로 확정된 것은 아니므로, 구조_bias는 bearish이지만 즉시 경로는 $60,472~$60,558 저항 재검증 후 거부 여부가 핵심이다. $60,557.80을 15분 종가로 회복하지 못하면 $60,134.50, $60,028.00, $59,871.90 순서의 하단 유동성 테스트가 우선이며, 반대로 $60,557.80 재수용은 단기 bearish setup을 무효화한다.",
      "key_levels": {
        "support": [
          60134.5,
          60028.0,
          59871.9,
          59358.8,
          58030.0
        ],
        "resistance": [
          60472.2,
          60557.8,
          60752.8,
          61931.1,
          63209.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "15분 종가 기준 $60,557.80 상방 재수용",
      "risk_scenario": "$60,557.80 UTAD 레벨을 회복하고 그 위에서 수용되면 현재의 상단 실패/재분배 setup은 무효화되며, $60,752.80과 $61,931.10 방향으로 상단 재테스트가 열릴 수 있다. 특히 $61,931.10 이상에서 구조적 수용이 나오면 이전 distribution 해석 자체의 신뢰도가 크게 약화된다.",
      "data_quality": "medium",
      "metrics": {
        "acc_score": 96.2,
        "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",
          "SOW"
        ],
        "last_phase": "SOW",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 37,
            "price": 59895.3,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 54,
            "price": 60752.8,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 90,
            "price": 61931.1,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 115,
            "price": 58030.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 124,
            "price": 60035.7,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 212,
            "price": 60274.2,
            "color": "#f9844a"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 215,
            "price": 59358.8,
            "color": "#ef476f"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 37,
            "end_idx": 215,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 37,
                "price": 59895.3,
                "color": "#ffd166",
                "dt": "2026-06-25 03:15:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 54,
                "price": 60752.8,
                "color": "#06d6a0",
                "dt": "2026-06-25 07:30:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 90,
                "price": 61931.1,
                "color": "#118ab2",
                "dt": "2026-06-25 16:30:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 115,
                "price": 58030.0,
                "color": "#ef476f",
                "dt": "2026-06-25 22:45:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 124,
                "price": 60035.7,
                "color": "#f9844a",
                "dt": "2026-06-26 01:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 212,
                "price": 60274.2,
                "color": "#f9844a",
                "dt": "2026-06-26 23:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 215,
                "price": 59358.8,
                "color": "#ef476f",
                "dt": "2026-06-26 23:45:00+09:00"
              }
            ]
          },
          {
            "structure_id": "15m_cycle_2",
            "sequence": 2,
            "timeframe": "15m",
            "regime": "redistribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "redistribution",
            "start_idx": 221,
            "end_idx": 283,
            "phase_count": 6,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 221,
                "price": 59933.1,
                "color": "#ffd166",
                "dt": "2026-06-27 01:15:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 242,
                "price": 60028.0,
                "color": "#06d6a0",
                "dt": "2026-06-27 06:30:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 250,
                "price": 59871.9,
                "color": "#118ab2",
                "dt": "2026-06-27 08:30:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 265,
                "price": 60134.5,
                "color": "#ef476f",
                "dt": "2026-06-27 12:15:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 269,
                "price": 60472.2,
                "color": "#f9844a",
                "dt": "2026-06-27 13:15:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 283,
                "price": 60557.8,
                "color": "#f9844a",
                "dt": "2026-06-27 16:45:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_2",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 2,
        "regime_fitness": 0.9625,
        "current_event": "SOW",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 60752.8,
        "main_range_high": 59895.3
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.64,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"현재가 $60,331.90가 active redistribution 후보의 UT $60,472.20 및 UTAD $60,557.80 아래에 위치\",\n    \"Phase D 맥락에서 UTAD $60,557.80 이후 하방 반응이 유지되며, 재상승 시도는 $60,472~$60,558 공급대 재검증 구간\",\n    \"현재가가 SOW_IN_PHASE_B $60,134.50 위에 있으나, $60,557.80을 회복하지 못하면 $60,134.50 → $60,028.00 → $59,871.90 재테스트 가능\",\n    \"EMA20 $60,340.19, EMA240 $60,360.92 부근에서 가격이 정체되어 단기 균형선 위 수용이 아직 확인되지 않음\"\n  ],\n  \"reasoning\": \"지표상 regime은 DIS이고 regime_fitness는 0.963으로 높으며, 구조 해석은 distribution/redistribution의 Phase D 약세 쪽이다. 이전 확정 구조는 BC $59,895.30 → ST $61,931.10 → UTAD $60,274.20 → SOW $59,358.80로 완료된 bearish distribution이며, 현재 active 구조는 $60,472.20 UT와 $60,557.80 UTAD를 만든 뒤 가격이 $60,331.90에 머물러 있어 상단 실패 이후의 재분배 후보로 읽힌다. 다만 현재 구조가 완전한 Phase E markdown으로 확정된 것은 아니므로, 구조_bias는 bearish이지만 즉시 경로는 $60,472~$60,558 저항 재검증 후 거부 여부가 핵심이다. $60,557.80을 15분 종가로 회복하지 못하면 $60,134.50, $60,028.00, $59,871.90 순서의 하단 유동성 테스트가 우선이며, 반대로 $60,557.80 재수용은 단기 bearish setup을 무효화한다.\",\n  \"key_levels\": {\n    \"support\": [\n      60134.5,\n      60028.0,\n      59871.9,\n      59358.8,\n      58030.0\n    ],\n    \"resistance\": [\n      60472.2,\n      60557.8,\n      60752.8,\n      61931.1,\n      63209.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"15분 종가 기준 $60,557.80 상방 재수용\",\n  \"risk_scenario\": \"$60,557.80 UTAD 레벨을 회복하고 그 위에서 수용되면 현재의 상단 실패/재분배 setup은 무효화되며, $60,752.80과 $61,931.10 방향으로 상단 재테스트가 열릴 수 있다. 특히 $61,931.10 이상에서 구조적 수용이 나오면 이전 distribution 해석 자체의 신뢰도가 크게 약화된다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.6,
    "execution_setup": {
      "setup_bias": "bullish",
      "setup_strength": 0.62,
      "active_setups": [
        "ICT: 최근 bullish BOS 기준선 $60,245.00 위에서 가격이 유지되고 있으며, 상단 BSL $60,568.90 및 NY 고점 $60,557.80이 미회수 유동성으로 남아 있음",
        "캔들: 7일 레인지 EQ $60,619.80 아래 discount 구간에서 high-volume bullish_harami가 발생했고, 단기 확인선은 EMA20 $60,340.19 및 EMA240 $60,360.92 회복",
        "피보나치: 하락 스윙 $60,558 → $60,261의 0.236 되돌림 $60,331.04를 현재가가 테스트 중이며, $60,282.37에 6개 레벨이 겹치는 지지 클러스터 존재",
        "반대 조건: 파생 CVD -749.0930, OI 24시간 -1.6050%, 롱 계정 과밀로 반등의 신규 매수 질은 약함",
        "반대 조건: Wyckoff상 $60,472.20 UT와 $60,557.80 UTAD 아래에 있어 상단 공급 재검증 구조가 유지됨",
        "반대 조건: 하모닉상 현재가가 bearish Bat/Butterfly/Gartley PRZ $60,217.82-$60,549.45 내부에 위치"
      ],
      "setup_vs_structure": "구조적 판정은 Wyckoff 재분배 Phase D와 파생 약세가 우세해 bearish이나, 실행 셋업은 ICT BOS 유지와 캔들·피보나치 지지 반응 때문에 단기 bullish 쪽으로 기울어 있다. 즉, 현재는 구조와 실행 셋업이 불일치하는 구간이며, 상단 유동성 회수 시도 자체가 구조적 강세 전환을 의미하지는 않는다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 1,
      "neutral_count": 4
    },
    "key_levels": {
      "support": [
        60245.0,
        60202.0,
        60142.15,
        60134.5,
        60028.0,
        59871.9,
        59846.2,
        59100.0,
        58030.0
      ],
      "resistance": [
        60340.19,
        60360.92,
        60472.2,
        60557.8,
        60568.9,
        60734.0,
        61600.0,
        63209.6
      ]
    },
    "confluences": [
      "상단 $60,557.80-$60,568.90 구간은 ICT의 NY 고점 $60,557.80 및 BSL $60,568.90, Wyckoff의 UTAD $60,557.80, 하모닉 bearish Gartley 완료 지점 $60,557.80이 겹치는 핵심 유동성·공급 구간이다.",
      "$60,340.19-$60,360.92는 Derivatives와 Candlestick이 공통으로 제시한 EMA20/EMA240 저항이며, 현재가 $60,331.90이 바로 아래에 있어 단기 수용 여부가 구조 판정의 첫 관문이다.",
      "$60,472.20-$60,510.71 구간은 Wyckoff UT $60,472.20과 하모닉 bearish Bat PRZ 상단 $60,510.71이 겹치는 재공급 확인 구간이다.",
      "$60,134.50-$60,142.15는 Wyckoff의 SOW_IN_PHASE_B $60,134.50과 Candlestick/Derivatives의 EMA120 $60,142.15가 겹치는 단기 구조 지지대다.",
      "$60,028.00-$60,055.51는 Wyckoff 지지 $60,028.00과 하모닉 bearish Bat의 TP1 $60,055.51가 인접한 하방 반응 확인 구간이다.",
      "$60,245.00-$60,261.00 구간은 ICT bullish BOS 기준선 $60,245.00, 피보나치 스윙 저점 $60,261.00, 하모닉 bullish PRZ 상단 $60,258.36이 모여 단기 bullish setup의 방어 기준으로 작동한다."
    ],
    "conflicts": [
      "ICT는 $60,245.00 상방 BOS 유지로 구조를 bullish로 보지만, Wyckoff는 $60,557.80 UTAD 이후 가격이 그 아래에 머무는 재분배 Phase D로 해석해 구조적으로 bearish를 제시한다.",
      "Candlestick과 Fibonacci는 $60,331-$60,282 지지 반응 및 discount 반등 셋업을 강조하지만, Derivatives는 CVD 감소, OI 감소, 롱 계정 과밀을 근거로 반등의 질을 약하게 본다.",
      "Harmonic 내부에서도 bullish Gartley PRZ $60,109.93-$60,258.36이 존재하지만, 확인 반응이 완료된 쪽은 bearish Bat PRZ $60,217.82-$60,510.71이며 bearish 점수가 우세하다.",
      "현재가는 EMA20 $60,340.19 및 EMA240 $60,360.92 바로 아래에 있어, 단기 캔들·ICT의 bullish setup과 파생·Wyckoff의 bearish 구조가 같은 가격대에서 충돌하고 있다."
    ],
    "executive_summary": "현재 BTC 15분 구조는 이전 분배 사이클이 이미 한 차례 완료된 뒤, $60,472.20 UT와 $60,557.80 UTAD를 형성한 active redistribution 후보로 보는 것이 가장 합리적이다. 가격은 현재 $60,331.90으로 UTAD 아래에 머물며 Phase D 성격의 공급권 내부에 있고, 이는 구조적 bias를 bearish로 기울게 한다. 다만 $60,245.00 bullish BOS 유지, $60,331.04 피보나치 테스트, $60,282.37 지지 클러스터, bullish_harami 발생으로 인해 즉시 실행 셋업은 구조와 달리 bullish 반응 위험을 포함한다. 핵심 구조 조건은 $60,340.19-$60,360.92 수용 여부와 $60,557.80 UTAD 재수용 여부이며, 이 구간을 회복하지 못하는 한 재분배 해석은 유지된다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.6,\n  \"execution_setup\": {\n    \"setup_bias\": \"bullish\",\n    \"setup_strength\": 0.62,\n    \"active_setups\": [\n      \"ICT: 최근 bullish BOS 기준선 $60,245.00 위에서 가격이 유지되고 있으며, 상단 BSL $60,568.90 및 NY 고점 $60,557.80이 미회수 유동성으로 남아 있음\",\n      \"캔들: 7일 레인지 EQ $60,619.80 아래 discount 구간에서 high-volume bullish_harami가 발생했고, 단기 확인선은 EMA20 $60,340.19 및 EMA240 $60,360.92 회복\",\n      \"피보나치: 하락 스윙 $60,558 → $60,261의 0.236 되돌림 $60,331.04를 현재가가 테스트 중이며, $60,282.37에 6개 레벨이 겹치는 지지 클러스터 존재\",\n      \"반대 조건: 파생 CVD -749.0930, OI 24시간 -1.6050%, 롱 계정 과밀로 반등의 신규 매수 질은 약함\",\n      \"반대 조건: Wyckoff상 $60,472.20 UT와 $60,557.80 UTAD 아래에 있어 상단 공급 재검증 구조가 유지됨\",\n      \"반대 조건: 하모닉상 현재가가 bearish Bat/Butterfly/Gartley PRZ $60,217.82-$60,549.45 내부에 위치\"\n    ],\n    \"setup_vs_structure\": \"구조적 판정은 Wyckoff 재분배 Phase D와 파생 약세가 우세해 bearish이나, 실행 셋업은 ICT BOS 유지와 캔들·피보나치 지지 반응 때문에 단기 bullish 쪽으로 기울어 있다. 즉, 현재는 구조와 실행 셋업이 불일치하는 구간이며, 상단 유동성 회수 시도 자체가 구조적 강세 전환을 의미하지는 않는다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 1,\n    \"neutral_count\": 4\n  },\n  \"key_levels\": {\n    \"support\": [\n      60245.0,\n      60202.0,\n      60142.15,\n      60134.5,\n      60028.0,\n      59871.9,\n      59846.2,\n      59100.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60340.19,\n      60360.92,\n      60472.2,\n      60557.8,\n      60568.9,\n      60734.0,\n      61600.0,\n      63209.6\n    ]\n  },\n  \"confluences\": [\n    \"상단 $60,557.80-$60,568.90 구간은 ICT의 NY 고점 $60,557.80 및 BSL $60,568.90, Wyckoff의 UTAD $60,557.80, 하모닉 bearish Gartley 완료 지점 $60,557.80이 겹치는 핵심 유동성·공급 구간이다.\",\n    \"$60,340.19-$60,360.92는 Derivatives와 Candlestick이 공통으로 제시한 EMA20/EMA240 저항이며, 현재가 $60,331.90이 바로 아래에 있어 단기 수용 여부가 구조 판정의 첫 관문이다.\",\n    \"$60,472.20-$60,510.71 구간은 Wyckoff UT $60,472.20과 하모닉 bearish Bat PRZ 상단 $60,510.71이 겹치는 재공급 확인 구간이다.\",\n    \"$60,134.50-$60,142.15는 Wyckoff의 SOW_IN_PHASE_B $60,134.50과 Candlestick/Derivatives의 EMA120 $60,142.15가 겹치는 단기 구조 지지대다.\",\n    \"$60,028.00-$60,055.51는 Wyckoff 지지 $60,028.00과 하모닉 bearish Bat의 TP1 $60,055.51가 인접한 하방 반응 확인 구간이다.\",\n    \"$60,245.00-$60,261.00 구간은 ICT bullish BOS 기준선 $60,245.00, 피보나치 스윙 저점 $60,261.00, 하모닉 bullish PRZ 상단 $60,258.36이 모여 단기 bullish setup의 방어 기준으로 작동한다.\"\n  ],\n  \"conflicts\": [\n    \"ICT는 $60,245.00 상방 BOS 유지로 구조를 bullish로 보지만, Wyckoff는 $60,557.80 UTAD 이후 가격이 그 아래에 머무는 재분배 Phase D로 해석해 구조적으로 bearish를 제시한다.\",\n    \"Candlestick과 Fibonacci는 $60,331-$60,282 지지 반응 및 discount 반등 셋업을 강조하지만, Derivatives는 CVD 감소, OI 감소, 롱 계정 과밀을 근거로 반등의 질을 약하게 본다.\",\n    \"Harmonic 내부에서도 bullish Gartley PRZ $60,109.93-$60,258.36이 존재하지만, 확인 반응이 완료된 쪽은 bearish Bat PRZ $60,217.82-$60,510.71이며 bearish 점수가 우세하다.\",\n    \"현재가는 EMA20 $60,340.19 및 EMA240 $60,360.92 바로 아래에 있어, 단기 캔들·ICT의 bullish setup과 파생·Wyckoff의 bearish 구조가 같은 가격대에서 충돌하고 있다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 현재 구조를 prior completed distribution 이후의 active redistribution 후보로 분리해 제시했고, $60,472.20 UT와 $60,557.80 UTAD 아래 Phase D라는 구체적 구조 위치를 제시했으며 regime 적합도가 매우 높다. 단기 실행 점수는 ICT가 가장 강하지만, 구조적 overall_signal 산정에서는 Wyckoff의 체계적 레짐 판정이 가장 높은 가중치를 갖는다.\",\n  \"invalidation_level\": \"$60,557.80 15분 종가 재수용이 1차 구조 약세 무효화 조건이며, $60,734.00 상방 수용은 재분배 해석의 강한 무효화 조건이다.\",\n  \"executive_summary\": \"현재 BTC 15분 구조는 이전 분배 사이클이 이미 한 차례 완료된 뒤, $60,472.20 UT와 $60,557.80 UTAD를 형성한 active redistribution 후보로 보는 것이 가장 합리적이다. 가격은 현재 $60,331.90으로 UTAD 아래에 머물며 Phase D 성격의 공급권 내부에 있고, 이는 구조적 bias를 bearish로 기울게 한다. 다만 $60,245.00 bullish BOS 유지, $60,331.04 피보나치 테스트, $60,282.37 지지 클러스터, bullish_harami 발생으로 인해 즉시 실행 셋업은 구조와 달리 bullish 반응 위험을 포함한다. 핵심 구조 조건은 $60,340.19-$60,360.92 수용 여부와 $60,557.80 UTAD 재수용 여부이며, 이 구간을 회복하지 못하는 한 재분배 해석은 유지된다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.6,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.58,
    "executive_summary": "구조는 Wyckoff 재분배 Phase D와 파생 약세(CVD -749, OI -1.61%)로 bearish(60%)이나, 실행 셋업은 ICT BOS $60,245 유지·고볼륨 bullish_harami·피보나치 0.236 지지 반응으로 bullish(62%, 강도≥0.5)다. 셋업 우선 규칙에 따라 첫 waypoint는 상단 미회수 유동성($60,557.80 NY 고점 / $60,568.90 BSL / Wyckoff UTAD) 스윕이며, 이는 구조적 강세 전환이 아니라 공급대 재검증이다(Chairman: '상단 유동성 회수 시도 자체가 구조적 강세 전환을 의미하지 않는다'). 유동성 회수 후 거부되면 구조적 약세가 재개되어 $60,245 BOS 상실 → $60,134.50 → $60,028 순의 markdown이 가장 유력한 단일 경로다.",
    "key_insight": "셋업(bullish)이 상단 유동성을 끌어올리고 구조(bearish)가 그 지점에서 markdown을 촉발하는, 스윕-거부가 결합된 단일 경로. 분기점은 $60,557.80~$60,568.90 거부(경로 유효) vs $60,734 수용(경로 폐기).",
    "reasoning": "셋업과 구조가 같은 가격대($60,340~$60,360 EMA20/240)에서 정면 충돌하므로, 두 layer를 시간 순서로 분리해 reconciliation한다. 단기(셋업)는 EMA20/240 회복 후 미회수 BSL을 향한 매수 측 유동성 회수가 우선이고, 그 회수 지점이 바로 4개 방법론($60,557.80 NY 고점·UTAD·bearish Gartley D·BSL $60,568.90)이 겹치는 최상위 공급 confluence라 거부 확률이 높다. 거부 확인 시 ICT의 강세 근거인 BOS $60,245 방어가 무너지며 Wyckoff 재분배 markdown 래더($60,134.50 SOW/EMA120 → $60,028 지지 / bearish Bat TP1 $60,055.51)로 이어진다. 파생 약세·롱 과밀이 반등의 질을 낮춰 상단 거부 시나리오에 가중치를 더한다. 셋업/구조 불일치로 confidence는 중간 수준.",
    "waypoints": [
      {
        "seq": 1,
        "price": 60557.8,
        "type": "liquidity_sweep",
        "source": "ICT(BSL $60,568.90·NY 고점 $60,557.80 미회수 유동성, setup 92%), Wyckoff(UTAD $60,557.80 공급대 재검증), Harmonic(bearish Gartley D $60,557.80), Candlestick(EMA20/240 회복 후 상단)",
        "description": "셋업 bullish 실행 — 현재가 위 EMA20 $60,340.19/EMA240 $60,360.92 회복 후, 도중 fib 골든 $60,444.42·Wyckoff UT $60,472.20·bearish Bat PRZ 상단 $60,510.71을 거쳐 상단 미회수 유동성 BSL $60,568.90·NY 고점 $60,557.80 스윕. UTAD 공급대이자 다중 confluence라 거부 위험이 가장 높은 회전점.",
        "est_hours": 5.0,
        "turning_zone": [
          60557.8,
          60600.0
        ],
        "likely_wick": 60572.0,
        "rejection_confirm": 60510.71,
        "invalid_overshoot": 60618.0,
        "calibration_reasoning": "미회수 BSL $60,568.90·NY 고점 $60,557.80·Chairman 저항이 상단 자석이라 존을 그 위로 확장(폭 $42.2, 0.37 ATR). 유동성 스윕 특성상 likely_wick은 BSL 직상 $60,572이며, confirmed bearish Bat PRZ($60,466.5)와 같은 공급대인 Bat PRZ 상단 $60,510.71 상실 시 거부 확정."
      },
      {
        "seq": 2,
        "price": 60245.0,
        "type": "support_test",
        "source": "ICT(bullish BOS 기준선 $60,245.00, bull/bear 피벗), Fibonacci(스윙 저점 $60,261 인접), Harmonic(bullish PRZ 상단 $60,258.36)",
        "description": "$60,557.80 거부 후 구조적 약세 재개. ICT 강세 구조의 방어선인 bullish BOS $60,245.00 재테스트 — 이 레벨 유지/이탈이 단기 강세 셋업 생존을 결정하는 핵심 관문.",
        "est_hours": 11.0,
        "turning_zone": [
          60202.0,
          60245.0
        ],
        "likely_wick": 60226.0,
        "rejection_confirm": 60282.37,
        "invalid_overshoot": 60180.0,
        "calibration_reasoning": "bullish BOS $60,245 방어선 기준 하단 Chairman 지지 $60,202까지 존 설정(폭 $43, 0.38 ATR), 스윙 저점 $60,261 하단 SSL 스윕 감안 likely_wick $60,226. 6-level fib confluence $60,282.37 회복이 강한 거부 확인, fib 지지 $60,180.27 하회 시 BOS 상실 = 회전 무효."
      },
      {
        "seq": 3,
        "price": 60134.5,
        "type": "support_test",
        "source": "Wyckoff(SOW_IN_PHASE_B $60,134.50), Candlestick/Derivatives(EMA120 $60,142.15)",
        "description": "$60,245 BOS 상실 시 재분배 markdown 1차 목표. Wyckoff SOW $60,134.50와 중기 EMA120 $60,142.15가 겹치는 단기 구조 지지대 테스트.",
        "est_hours": 16.0,
        "turning_zone": [
          60092.0,
          60134.5
        ],
        "likely_wick": 60112.0,
        "rejection_confirm": 60180.27,
        "invalid_overshoot": 60072.0,
        "calibration_reasoning": "Wyckoff SOW $60,134.50 + EMA120 $60,142.15 클러스터 테스트, ATR 0.37로 하단 $60,092까지 확장(butterfly TP2 $60,115.77은 pre-confirmation이라 존 정의 아닌 참고만). $60,180.27 회복이 반등 확인, validated bearish Bat TP1 $60,055.51 방향으로 $60,072 하회 시 무효."
      },
      {
        "seq": 4,
        "price": 60028.0,
        "type": "swing_low",
        "source": "Wyckoff(지지 $60,028.00), Harmonic(bearish Bat TP1 $60,055.51 인접), Fibonacci(strict fib $59,957.79 하단 score 1.0)",
        "description": "재분배 markdown 하단 유동성 테스트. Wyckoff 지지 $60,028.00 + bearish Bat TP1 $60,055.51 confluence. 모멘텀 연장 시 strict fib $59,957.79까지 오버슛 가능.",
        "est_hours": 22.0,
        "turning_zone": [
          59957.79,
          60028.0
        ],
        "likely_wick": 59970.0,
        "rejection_confirm": 60115.77,
        "invalid_overshoot": 59930.0,
        "calibration_reasoning": "터미널 웨이포인트: Wyckoff 지지 $60,028 + validated bearish Bat TP1 $60,055.51 confluence가 상단 앵커, path 명시 오버슛 목표인 strict fib 4중 confluence $59,957.79가 하단 바닥이라 폭 $70.2(0.62 ATR)로 광폭. $60,000 라운드넘버 자석 + 4중 fib로 likely_wick $59,970, $59,930 하회 시 validated bat TP2 $59,864.76(Chairman $59,871.9)로 연장."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 60519.5,
        "expected_low": 60320.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 60557.8,
        "expected_low": 60282.37,
        "high_first": true
      },
      "24h": {
        "expected_high": 60568.9,
        "expected_low": 59957.79,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 60568.9,
        "description": "15분 종가로 $60,557.80 UTAD/$60,568.90 BSL 위 수용 시 스윕-거부 무산. Wyckoff상 UTAD 재수용은 약세 셋업을 무효화하며 $60,734 향한 강세 가속 신호."
      },
      "bearish": {
        "price": 60245.0,
        "description": "15분 종가로 bullish BOS $60,245.00 하향 이탈 시 ICT 강세 구조 붕괴·재분배 markdown 확정. $60,134.50 → $60,028 하방 가속."
      }
    },
    "scenario_invalidation": 60734.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.58,\n  \"executive_summary\": \"구조는 Wyckoff 재분배 Phase D와 파생 약세(CVD -749, OI -1.61%)로 bearish(60%)이나, 실행 셋업은 ICT BOS $60,245 유지·고볼륨 bullish_harami·피보나치 0.236 지지 반응으로 bullish(62%, 강도≥0.5)다. 셋업 우선 규칙에 따라 첫 waypoint는 상단 미회수 유동성($60,557.80 NY 고점 / $60,568.90 BSL / Wyckoff UTAD) 스윕이며, 이는 구조적 강세 전환이 아니라 공급대 재검증이다(Chairman: '상단 유동성 회수 시도 자체가 구조적 강세 전환을 의미하지 않는다'). 유동성 회수 후 거부되면 구조적 약세가 재개되어 $60,245 BOS 상실 → $60,134.50 → $60,028 순의 markdown이 가장 유력한 단일 경로다.\",\n  \"key_insight\": \"셋업(bullish)이 상단 유동성을 끌어올리고 구조(bearish)가 그 지점에서 markdown을 촉발하는, 스윕-거부가 결합된 단일 경로. 분기점은 $60,557.80~$60,568.90 거부(경로 유효) vs $60,734 수용(경로 폐기).\",\n  \"reasoning\": \"셋업과 구조가 같은 가격대($60,340~$60,360 EMA20/240)에서 정면 충돌하므로, 두 layer를 시간 순서로 분리해 reconciliation한다. 단기(셋업)는 EMA20/240 회복 후 미회수 BSL을 향한 매수 측 유동성 회수가 우선이고, 그 회수 지점이 바로 4개 방법론($60,557.80 NY 고점·UTAD·bearish Gartley D·BSL $60,568.90)이 겹치는 최상위 공급 confluence라 거부 확률이 높다. 거부 확인 시 ICT의 강세 근거인 BOS $60,245 방어가 무너지며 Wyckoff 재분배 markdown 래더($60,134.50 SOW/EMA120 → $60,028 지지 / bearish Bat TP1 $60,055.51)로 이어진다. 파생 약세·롱 과밀이 반등의 질을 낮춰 상단 거부 시나리오에 가중치를 더한다. 셋업/구조 불일치로 confidence는 중간 수준.\",\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 60557.80,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"ICT(BSL $60,568.90·NY 고점 $60,557.80 미회수 유동성, setup 92%), Wyckoff(UTAD $60,557.80 공급대 재검증), Harmonic(bearish Gartley D $60,557.80), Candlestick(EMA20/240 회복 후 상단)\",\n      \"description\": \"셋업 bullish 실행 — 현재가 위 EMA20 $60,340.19/EMA240 $60,360.92 회복 후, 도중 fib 골든 $60,444.42·Wyckoff UT $60,472.20·bearish Bat PRZ 상단 $60,510.71을 거쳐 상단 미회수 유동성 BSL $60,568.90·NY 고점 $60,557.80 스윕. UTAD 공급대이자 다중 confluence라 거부 위험이 가장 높은 회전점.\",\n      \"est_hours\": 5.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 60245.00,\n      \"type\": \"support_test\",\n      \"source\": \"ICT(bullish BOS 기준선 $60,245.00, bull/bear 피벗), Fibonacci(스윙 저점 $60,261 인접), Harmonic(bullish PRZ 상단 $60,258.36)\",\n      \"description\": \"$60,557.80 거부 후 구조적 약세 재개. ICT 강세 구조의 방어선인 bullish BOS $60,245.00 재테스트 — 이 레벨 유지/이탈이 단기 강세 셋업 생존을 결정하는 핵심 관문.\",\n      \"est_hours\": 11.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 60134.50,\n      \"type\": \"support_test\",\n      \"source\": \"Wyckoff(SOW_IN_PHASE_B $60,134.50), Candlestick/Derivatives(EMA120 $60,142.15)\",\n      \"description\": \"$60,245 BOS 상실 시 재분배 markdown 1차 목표. Wyckoff SOW $60,134.50와 중기 EMA120 $60,142.15가 겹치는 단기 구조 지지대 테스트.\",\n      \"est_hours\": 16.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 60028.00,\n      \"type\": \"swing_low\",\n      \"source\": \"Wyckoff(지지 $60,028.00), Harmonic(bearish Bat TP1 $60,055.51 인접), Fibonacci(strict fib $59,957.79 하단 score 1.0)\",\n      \"description\": \"재분배 markdown 하단 유동성 테스트. Wyckoff 지지 $60,028.00 + bearish Bat TP1 $60,055.51 confluence. 모멘텀 연장 시 strict fib $59,957.79까지 오버슛 가능.\",\n      \"est_hours\": 22.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 60519.50, \"expected_low\": 60320.00, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 60557.80, \"expected_low\": 60282.37, \"high_first\": true},\n    \"24h\": {\"expected_high\": 60568.90, \"expected_low\": 59957.79, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 60568.90, \"description\": \"15분 종가로 $60,557.80 UTAD/$60,568.90 BSL 위 수용 시 스윕-거부 무산. Wyckoff상 UTAD 재수용은 약세 셋업을 무효화하며 $60,734 향한 강세 가속 신호.\"},\n    \"bearish\": {\"price\": 60245.00, \"description\": \"15분 종가로 bullish BOS $60,245.00 하향 이탈 시 ICT 강세 구조 붕괴·재분배 markdown 확정. $60,134.50 → $60,028 하방 가속.\"}\n  },\n  \"scenario_invalidation\": 60734.00\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 60557.8,
        "turning_zone": [
          60557.8,
          60600.0
        ],
        "likely_wick": 60572.0,
        "rejection_confirm": 60510.71,
        "invalid_overshoot": 60618.0,
        "calibration_reasoning": "미회수 BSL $60,568.90·NY 고점 $60,557.80·Chairman 저항이 상단 자석이라 존을 그 위로 확장(폭 $42.2, 0.37 ATR). 유동성 스윕 특성상 likely_wick은 BSL 직상 $60,572이며, confirmed bearish Bat PRZ($60,466.5)와 같은 공급대인 Bat PRZ 상단 $60,510.71 상실 시 거부 확정."
      },
      {
        "seq": 2,
        "base_target": 60245.0,
        "turning_zone": [
          60202.0,
          60245.0
        ],
        "likely_wick": 60226.0,
        "rejection_confirm": 60282.37,
        "invalid_overshoot": 60180.0,
        "calibration_reasoning": "bullish BOS $60,245 방어선 기준 하단 Chairman 지지 $60,202까지 존 설정(폭 $43, 0.38 ATR), 스윙 저점 $60,261 하단 SSL 스윕 감안 likely_wick $60,226. 6-level fib confluence $60,282.37 회복이 강한 거부 확인, fib 지지 $60,180.27 하회 시 BOS 상실 = 회전 무효."
      },
      {
        "seq": 3,
        "base_target": 60134.5,
        "turning_zone": [
          60092.0,
          60134.5
        ],
        "likely_wick": 60112.0,
        "rejection_confirm": 60180.27,
        "invalid_overshoot": 60072.0,
        "calibration_reasoning": "Wyckoff SOW $60,134.50 + EMA120 $60,142.15 클러스터 테스트, ATR 0.37로 하단 $60,092까지 확장(butterfly TP2 $60,115.77은 pre-confirmation이라 존 정의 아닌 참고만). $60,180.27 회복이 반등 확인, validated bearish Bat TP1 $60,055.51 방향으로 $60,072 하회 시 무효."
      },
      {
        "seq": 4,
        "base_target": 60028.0,
        "turning_zone": [
          59957.79,
          60028.0
        ],
        "likely_wick": 59970.0,
        "rejection_confirm": 60115.77,
        "invalid_overshoot": 59930.0,
        "calibration_reasoning": "터미널 웨이포인트: Wyckoff 지지 $60,028 + validated bearish Bat TP1 $60,055.51 confluence가 상단 앵커, path 명시 오버슛 목표인 strict fib 4중 confluence $59,957.79가 하단 바닥이라 폭 $70.2(0.62 ATR)로 광폭. $60,000 라운드넘버 자석 + 4중 fib로 likely_wick $59,970, $59,930 하회 시 validated bat TP2 $59,864.76(Chairman $59,871.9)로 연장."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 60557.80,\n      \"turning_zone\": [60557.80, 60600.00],\n      \"likely_wick\": 60572.00,\n      \"rejection_confirm\": 60510.71,\n      \"invalid_overshoot\": 60618.00,\n      \"calibration_reasoning\": \"미회수 BSL $60,568.90·NY 고점 $60,557.80·Chairman 저항이 상단 자석이라 존을 그 위로 확장(폭 $42.2, 0.37 ATR). 유동성 스윕 특성상 likely_wick은 BSL 직상 $60,572이며, confirmed bearish Bat PRZ($60,466.5)와 같은 공급대인 Bat PRZ 상단 $60,510.71 상실 시 거부 확정.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 60245.00,\n      \"turning_zone\": [60202.00, 60245.00],\n      \"likely_wick\": 60226.00,\n      \"rejection_confirm\": 60282.37,\n      \"invalid_overshoot\": 60180.00,\n      \"calibration_reasoning\": \"bullish BOS $60,245 방어선 기준 하단 Chairman 지지 $60,202까지 존 설정(폭 $43, 0.38 ATR), 스윙 저점 $60,261 하단 SSL 스윕 감안 likely_wick $60,226. 6-level fib confluence $60,282.37 회복이 강한 거부 확인, fib 지지 $60,180.27 하회 시 BOS 상실 = 회전 무효.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 60134.50,\n      \"turning_zone\": [60092.00, 60134.50],\n      \"likely_wick\": 60112.00,\n      \"rejection_confirm\": 60180.27,\n      \"invalid_overshoot\": 60072.00,\n      \"calibration_reasoning\": \"Wyckoff SOW $60,134.50 + EMA120 $60,142.15 클러스터 테스트, ATR 0.37로 하단 $60,092까지 확장(butterfly TP2 $60,115.77은 pre-confirmation이라 존 정의 아닌 참고만). $60,180.27 회복이 반등 확인, validated bearish Bat TP1 $60,055.51 방향으로 $60,072 하회 시 무효.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 60028.00,\n      \"turning_zone\": [59957.79, 60028.00],\n      \"likely_wick\": 59970.00,\n      \"rejection_confirm\": 60115.77,\n      \"invalid_overshoot\": 59930.00,\n      \"calibration_reasoning\": \"터미널 웨이포인트: Wyckoff 지지 $60,028 + validated bearish Bat TP1 $60,055.51 confluence가 상단 앵커, path 명시 오버슛 목표인 strict fib 4중 confluence $59,957.79가 하단 바닥이라 폭 $70.2(0.62 ATR)로 광폭. $60,000 라운드넘버 자석 + 4중 fib로 likely_wick $59,970, $59,930 하회 시 validated bat TP2 $59,864.76(Chairman $59,871.9)로 연장.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 49.0,
      "chairman": 96.5,
      "operating_path": 370.9,
      "tp_calibrator": 221.5
    },
    "agents": {},
    "total_s": 737.8
  }
}