BTC/USDT 15M Council Report

Signal: BEARISH (74%)  |  Price: $59,988.70  |  2026-07-02 09:00 KST  |  300 candles

Council: 0 bullish, 1 neutral, 5 bearish  |  Support: $59,949 / $59,844 / $59,808  |  Resistance: $60,068 / $60,161 / $60,203

result.json   raw.txt   report.md


BTC Chart

Executive Summary

현재 BTC 15분 구조는 중립 박스권 내부라는 일부 해석이 남아 있으나, 고가중치 구조 엔진인 Wyckoff와 ICT 기준으로는 bearish regime이 우세하다. Wyckoff상 $61,322.00 UTAD 이후 $60,540.00 상단 재수용에 실패했고, $60,202.60 SOW 및 $60,232.10 AR 저점 아래에 위치해 분배 Phase E 진행 구간으로 진단된다. ICT도 전일 고점 $60,067.90 회수 후 재하회와 다수 bearish BOS 이력을 근거로 premium 구간의 약세 구조 조건을 확인한다. 주요 구조 저항은 $60,160.68-$60,251.17 및 $60,408.90-$60,583.25에 밀집해 있고, 하단 구조 기준은 $59,844.00, $59,540.30, $59,329.20, $57,758.60 순으로 관찰된다. 전체 bearish 구조 판단은 $60,540.00 회복 시 약화되고, $61,322.00 상향 재수용 시 무효화된다.

Confluences

Conflicts


Agent Matrix

AgentSignalConfidenceSupportResistance
Wyckoff ExpertBEARISH82%$59,949 / $58,200$60,203 / $60,232
ICT TraderBEARISH88%$59,808 / $59,713$60,068 / $60,251
Derivatives TraderBEARISH62%$59,540 / $59,300$60,251 / $61,100
Candlestick ReaderNEUTRAL48%$59,540 / $59,531$60,251 / $60,483
Fibonacci AnalystBEARISH58%$59,844 / $57,759$60,161 / $60,409
Harmonic SpecialistBEARISH34%$59,990 / $59,844$60,195 / $60,243

Agent Details

Wyckoff Expert — BEARISH (82%)

Support: $59,949 / $58,200 | Resistance: $60,203 / $60,232 / $60,540 | Horizon: short term

현재 구조는 regime=DIS, regime_fitness=1.000이며 BC $60,540.00 → AR $60,232.10 → SOW_IN_PHASE_B $58,200.00 → UT $60,520.00 → UTAD $61,322.00 → SOW $60,202.60 → Phase E $59,949.20의 분배 시퀀스가 확인되어 structure_bias는 bearish이다. 특히 $61,322.00 UTAD 이후 $60,540.00 상단을 재수용하지 못하고 $60,232.10 AR 저점 및 $60,202.60 SOW 레벨을 이탈한 점은 Phase E 약세 진행으로 해석된다. 다만 현재가는 이미 레인지 하단 아래에 있어 즉시 추격보다는 $60,202.60~$60,232.10 재시험에서 거부가 나오는지 확인하는 것이 Wyckoff상 더 중요하다. $60,540.00을 회복하면 단기 약세 압력은 약화되고, $61,322.00 UTAD 고점을 재돌파하면 이 분배 해석은 무효화된다.
ICT Trader — BEARISH (88%)

Support: $59,808 / $59,713 / $59,329 | Resistance: $60,068 / $60,251 / $61,322 | Horizon: short term

구조적으로는 최근 시퀀스에 bullish CHoCH $59,069.70이 포함되어 있으나, 아직 명확한 bullish BOS가 확인되지 않았고 이전 bearish BOS가 $59,329.20, $58,160.00, $58,450.70에서 다수 발생했기 때문에 confirmed structure_bias는 bearish로 판단한다. 셋업 관점에서는 현재가 $59,988.70가 EQ $59,808.05 위 premium에 있으며, 전일 고점 $60,067.90을 이미 돌파한 뒤 그 아래로 밀린 상태라 buy-side liquidity 확보 후 되돌림 숏 조건이 우세하다. 또한 가격은 EMA20 $60,251.17 아래에 있고, London 고점이자 7일 고점인 $61,322.00이 상단 유동성/무효화 기준으로 남아 있어 상방 추격보다는 저항 확인 후 하방 전개 가능성이 높다. 하방 목표는 우선 $59,712.80, $59,329.20, 이후 후보 bullish OB 상단 $58,557.10 및 하단 $57,758.60 구간이다.
Derivatives Trader — BEARISH (62%)

Support: $59,540 / $59,300 / $58,100 | Resistance: $60,251 / $61,100 / $61,322 | Horizon: short term, 4-8시간

확정 구조는 $57,758.60~$61,322.00 박스권 내부이며, 현재가 $59,988.70은 EMA120 $59,531.12와 EMA240 $59,440.85 위에 있어 완전한 약세 구조 전환은 아직 확인되지 않았다. 그러나 셋업 관점에서는 7일 레인지 EQ 약 $59,540 위 프리미엄에서 EMA20 $60,251.17을 회복하지 못하고 있으며, OI가 24시간 -4.3910% 감소해 상승 참여가 약하다. 롱 계정 비율이 0.648이고 account_long_crowding이 1.000으로 롱 과밀 상태라, $61,100~$61,700 상단 유동성을 회수하지 못하면 $59,300 하방 청산 구간으로 밀릴 가능성이 높다. CVD change가 +$8,774.90인데도 가격이 $61,322를 돌파하지 못한 점은 공격적 매수가 가격 상승으로 연결되지 않는 흡수 신호로 해석된다.
Candlestick Reader — NEUTRAL (48%)

Support: $59,540 / $59,531 / $59,441 | Resistance: $60,251 / $60,483 / $61,322 | Horizon: short term

현재 BTC는 $59,988.70으로 EMA20 $60,251.17 아래에 머물며 단기 매도 압력이 우세하지만, EMA120 $59,531.12와 EMA240 $59,440.85 위에 있어 중기 구조가 명확히 하락 전환됐다고 보기는 어렵습니다. 7일 고점 $61,322.00과 저점 $57,758.60의 중간값인 EQ는 약 $59,540.30이며, 현재가는 그 위의 약한 프리미엄 구간에 있어 단기적으로는 되밀림 리스크가 있습니다. 다만 최근 패턴 0개, 패턴 후보 0개, best_pattern_quality 0으로 도지·해머·장악형 같은 신뢰도 있는 캔들 반전 신호가 확인되지 않았습니다. 따라서 구조_bias는 중립, 실행 관점의 setup_bias는 EMA20 저항과 연속 음봉에 따른 약한 bearish로 평가합니다.
Fibonacci Analyst — BEARISH (58%)

Support: $59,844 / $57,759 | Resistance: $60,161 / $60,409 / $60,491 | Horizon: short term

BTC는 Low $59,844 → High $61,322 상승 스윙 이후 현재 $59,988.70까지 깊게 되돌렸고, 핵심 방어선인 0.786 되돌림 $60,160.68 아래에서 거래되고 있습니다. 구조적으로는 아직 스윙 저점 $59,844가 명확히 붕괴된 것은 아니므로 확정 bearish BOS로 보기는 어렵고, 따라서 structure_bias는 neutral입니다. 그러나 0.618 골든비율 $60,408.90, 0.5 $60,583.25, 컨플루언스 존 $60,491.06이 모두 현재가 위에 저항으로 쌓여 있어 단기 setup_bias는 bearish입니다. 특히 confluence_quality 0.850으로 $60,408.90~$60,583.25 구간의 저항 신뢰도가 높아, 이 구간을 회복하지 못하면 스윙 저점 $59,844 재시험 가능성이 큽니다.
Harmonic Specialist — BEARISH (34%)

Support: $59,990 / $59,844 / $59,763 | Resistance: $60,195 / $60,243 / $60,358 | Horizon: short term, 15분봉 기준 PRZ 반응 관찰

하모닉 기준의 확정 구조 전환 신호는 없으므로 structure_bias는 중립이며, 현재 신호는 독립적인 추세 판정이 아니라 PRZ 기반의 약한 bearish setup이다. 가장 중요한 실행 후보는 strict/high bearish Gartley PRZ $60,242.64-$60,473.29로, X $60,520.00, A $59,762.60, B $60,218.20, C $59,844.50에서 형성 중이며 XAB 0.6015로 Gartley 허용권에 가깝다. 현재가는 $59,988.70로 active Crab PRZ $59,811.00-$60,195.18 내부에 있지만 이 Crab은 high_confluence가 아니고 confirmed_reaction=false라 방향 전환 근거로는 약하다. 따라서 $60,242.64-$60,473.29 진입 후 rejection, sweep-reclaim, 15m MSS/CHoCH 같은 확인이 나오면 bearish TP ladder $60,130.53 → $59,990.03 → $59,762.60을 우선 참조한다.

Operating Path — complex (65%)

#PriceTypeSourceEst. HoursDescription
1$60,161resistance_testFibonacci(0.786 $60,160.68), Wyckoff(SOW $60,202.60/AR $60,232.10), Candlestick·ICT·Derivatives(EMA20 $60,251.17), Harmonic(Crab PRZ 상단 $60,195.18)2.0현재가 $59,988.70에서 이탈한 Fibonacci 0.786 되돌림 $60,160.68을 되돌아 재시험하는 약한 반등. Wyckoff SOW $60,202.60·AR 저점 $60,232.10과 EMA20 $60,251.17이 바로 위에 저항 클러스터를 형성하므로, 이 구간을 재수용하지 못하고 거부(EMA20 회복 실패)되면 분배 Phase E 약세가 재확인되는 숏 진입 지점이다. Wyckoff·ICT 모두 즉시 추격보다 이 저항 재시험에서의 거부 확인을 우선한다.
2$59,844swing_lowFibonacci(스윙 저점 $59,844), Harmonic(C 지점 $59,844.50)5.0Fibonacci 스윙 저점 $59,844.00 재시험. 이 저점이 하향 이탈되면 Fibonacci 기준 그동안 유보됐던 확정 bearish BOS가 성립하며 중립 구조가 약세로 전환된다. Harmonic C 지점 $59,844.50과도 일치하는 리테스트 실패 후 첫 번째 구조적 하방 목표.
3$59,713support_testICT(1차 하방 목표 $59,712.80), Harmonic(A 지점 $59,762.60)9.0ICT 1차 하방 목표 $59,712.80 지지 시험. Harmonic A 지점 $59,762.60과 근접하며, $59,844 붕괴 이후 프리미엄→디스카운트 이동의 다음 유동성 구간.
4$59,540support_testCandlestick·Derivatives(7일 EQ $59,540.30), EMA120 $59,531.12, EMA240 $59,440.8514.07일 레인지 EQ $59,540.30과 EMA120 $59,531.12·EMA240 $59,440.85가 중첩된 중기 방어 구간 시험. Chairman이 $59.44k-$59.54k 중기 방어대로 지목한 핵심 지지로, 여기서 반응 없이 이탈하면 하방 가속.
5$59,329liquidity_sweepICT(bearish BOS $59,329.20), Derivatives(하방 청산 $59,300), Harmonic($59,299.03)20.0ICT bearish BOS 레벨 $59,329.20 및 Derivatives 하방 청산 구간 $59,300과 겹치는 확장 목표. 롱 과밀(롱 계정 비율 0.648, crowding 1.000)·OI 24h -4.39% 언와인딩이 진행되면 유동성 스윕이 발생할 수 있는 24시간 약세 연장 지점.

Period Extremes

HorizonExpected LowExpected HighSequence
4h$59,949$60,161High first
8h$59,713$60,161High first
24h$59,329$60,232High first

Triggers

Invalidation: $60,540

Raw Operating Path Response
```json
{
  "path_type": "complex",
  "confidence": 0.65,
  "waypoints": [
    {
      "seq": 1,
      "price": 60160.68,
      "type": "resistance_test",
      "source": "Fibonacci(0.786 $60,160.68), Wyckoff(SOW $60,202.60/AR $60,232.10), Candlestick·ICT·Derivatives(EMA20 $60,251.17), Harmonic(Crab PRZ 상단 $60,195.18)",
      "description": "현재가 $59,988.70에서 이탈한 Fibonacci 0.786 되돌림 $60,160.68을 되돌아 재시험하는 약한 반등. Wyckoff SOW $60,202.60·AR 저점 $60,232.10과 EMA20 $60,251.17이 바로 위에 저항 클러스터를 형성하므로, 이 구간을 재수용하지 못하고 거부(EMA20 회복 실패)되면 분배 Phase E 약세가 재확인되는 숏 진입 지점이다. Wyckoff·ICT 모두 즉시 추격보다 이 저항 재시험에서의 거부 확인을 우선한다.",
      "est_hours": 2.0
    },
    {
      "seq": 2,
      "price": 59844.00,
      "type": "swing_low",
      "source": "Fibonacci(스윙 저점 $59,844), Harmonic(C 지점 $59,844.50)",
      "description": "Fibonacci 스윙 저점 $59,844.00 재시험. 이 저점이 하향 이탈되면 Fibonacci 기준 그동안 유보됐던 확정 bearish BOS가 성립하며 중립 구조가 약세로 전환된다. Harmonic C 지점 $59,844.50과도 일치하는 리테스트 실패 후 첫 번째 구조적 하방 목표.",
      "est_hours": 5.0
    },
    {
      "seq": 3,
      "price": 59712.80,
      "type": "support_test",
      "source": "ICT(1차 하방 목표 $59,712.80), Harmonic(A 지점 $59,762.60)",
      "description": "ICT 1차 하방 목표 $59,712.80 지지 시험. Harmonic A 지점 $59,762.60과 근접하며, $59,844 붕괴 이후 프리미엄→디스카운트 이동의 다음 유동성 구간.",
      "est_hours": 9.0
    },
    {
      "seq": 4,
      "price": 59540.30,
      "type": "support_test",
      "source": "Candlestick·Derivatives(7일 EQ $59,540.30), EMA120 $59,531.12, EMA240 $59,440.85",
      "description": "7일 레인지 EQ $59,540.30과 EMA120 $59,531.12·EMA240 $59,440.85가 중첩된 중기 방어 구간 시험. Chairman이 $59.44k-$59.54k 중기 방어대로 지목한 핵심 지지로, 여기서 반응 없이 이탈하면 하방 가속.",
      "est_hours": 14.0
    },
    {
      "seq": 5,
      "price": 59329.20,
      "type": "liquidity_sweep",
      "source": "ICT(bearish BOS $59,329.20), Derivatives(하방 청산 $59,300), Harmonic($59,299.03)",
      "description": "ICT bearish BOS 레벨 $59,329.20 및 Derivatives 하방 청산 구간 $59,300과 겹치는 확장 목표. 롱 과밀(롱 계정 비율 0.648, crowding 1.000)·OI 24h -4.39% 언와인딩이 진행되면 유동성 스윕이 발생할 수 있는 24시간 약세 연장 지점.",
      "est_hours": 20.0
    }
  ],
  "period_extremes": {
    "4h":  {"expected_high": 60160.68, "expected_low": 59949.20, "high_first": true},
    "8h":  {"expected_high": 60160.68, "expected_low": 59712.80, "high_first": true},
    "24h": {"expected_high": 60232.10, "expected_low": 59329.20, "high_first": true}
  },
  "triggers": {
    "bullish": {"price": 60251.17, "description": "EMA20 $60,251.17을 종가 기준 재수용하면 '단기 평균선 회복 실패'라는 핵심 약세 셋업 조건이 무너지며 $60,408.90-$60,540.00 저항으로의 상방 시도가 열린다. 리테스트 거부 시나리오의 첫 경고선."},
    "bearish": {"price": 59844.00, "description": "Fibonacci 스윙 저점 $59,844.00을 하향 이탈하면 확정 bearish BOS가 성립하고, $59,712.80→$59,540.30→$59,329.20을 향한 하방 가속이 확인된다."}
  },
  "scenario_invalidation": 60540.00
}
```

Raw Chairman Response
{
  "overall_signal": "bearish",
  "overall_confidence": 0.74,
  "execution_setup": {
    "setup_bias": "bearish",
    "setup_strength": 0.78,
    "active_setups": [
      "가격 $59,988.70이 EMA20 $60,251.17 아래에 있어 단기 평균선 회복 실패 상태",
      "Wyckoff 기준 $60,202.60 SOW 및 $60,232.10 AR 저점 아래로 이탈한 Phase E 약세 구조",
      "ICT 기준 전일 고점 $60,067.90 상향 돌파 후 재하회하여 buy-side liquidity run 이후 약세 반응 조건",
      "Fibonacci 기준 0.786 되돌림 $60,160.68 아래에 위치하며 $60,408.90-$60,583.25 저항 클러스터 하단에 머무는 상태",
      "Derivatives 기준 OI 24시간 -4.3910% 감소와 롱 계정 비율 0.648로 롱 과밀/포지션 언와인딩 조건",
      "Harmonic 기준 bearish Gartley PRZ $60,242.64-$60,473.29가 상단 대기 중이나 아직 반응 확인 전"
    ],
    "setup_vs_structure": "실행 셋업은 구조적 판단과 정렬되어 있다. 구조적으로는 Wyckoff/ICT가 bearish regime을 제시하고, 실행 측면에서도 프리미엄 구간·EMA20 하회·피보나치 저항·파생 롱 과밀이 모두 매도 우위 조건으로 겹친다."
  },
  "signal_breakdown": {
    "bullish_count": 0,
    "bearish_count": 5,
    "neutral_count": 1
  },
  "key_levels": {
    "support": [
      59949.2,
      59844.0,
      59808.05,
      59712.8,
      59540.3,
      59329.2,
      59300.0,
      58200.0,
      58160.0,
      57758.6
    ],
    "resistance": [
      60067.9,
      60160.68,
      60202.6,
      60232.1,
      60251.17,
      60408.9,
      60491.06,
      60540.0,
      60583.25,
      61322.0
    ]
  },
  "confluences": [
    "Wyckoff와 ICT 모두 $61,322.00을 상단 유동성/UTAD 고점이자 구조적 무효화 기준으로 본다.",
    "Candlestick, Derivatives, ICT가 모두 EMA20 $60,251.17 아래 거래를 단기 약세 조건으로 지적한다.",
    "Wyckoff의 $60,202.60-$60,232.10 저항대와 Harmonic의 bearish Gartley PRZ 하단 $60,242.64, 그리고 EMA20 $60,251.17이 $60.20k-$60.25k 부근에 밀집한다.",
    "Fibonacci의 0.786 저항 $60,160.68과 Harmonic active Crab PRZ 상단 $60,195.18, Wyckoff SOW $60,202.60이 $60.16k-$60.20k 구간에서 단기 저항 클러스터를 형성한다.",
    "Candlestick/Derivatives의 7일 EQ $59,540.30, EMA120 $59,531.12, EMA240 $59,440.85가 $59.44k-$59.54k 중기 방어 구간으로 중첩된다.",
    "ICT의 $59,329.20 bearish BOS 레벨과 Derivatives의 하방 청산 구간 $59,300이 거의 동일한 구조적 하방 유동성 레벨로 겹친다.",
    "Wyckoff의 Phase E 저점 $59,949.20과 현재가 $59,988.70, Harmonic bearish Crab 중심 D $60,003.09가 모두 $60k 부근에서 현재 구조 위치를 확인한다."
  ],
  "conflicts": [
    "Candlestick, Fibonacci, Derivatives, Harmonic은 structure_bias를 중립으로 유지하지만, Wyckoff와 ICT는 bearish 구조를 명확히 제시한다. 따라서 전체 구조 판단은 다수결보다 고품질 구조 엔진인 Wyckoff/ICT에 더 큰 가중치를 둔다.",
    "Candlestick은 EMA120 $59,531.12 및 EMA240 $59,440.85 위에 있어 중기 구조의 완전한 하락 전환은 아직 확정하기 어렵다고 본다. 이는 Wyckoff의 분배 Phase E 해석과 강도 면에서 충돌한다.",
    "Harmonic은 bearish PRZ를 제시하지만 주요 Gartley $60,242.64-$60,473.29는 아직 반응 확인 전이므로 독립적인 구조 반전 근거로 사용하기 어렵다.",
    "Fibonacci는 스윙 저점 $59,844가 아직 명확히 붕괴되지 않았다고 보며 구조 중립을 유지한다. 반면 Wyckoff는 $60,232.10 AR 저점과 $60,202.60 SOW 하향 이탈을 구조적 약세로 해석한다."
  ],
  "highest_conviction_analyst": "Wyckoff Expert — $60,540.00 BC, $60,232.10 AR, $58,200.00 SOW_IN_PHASE_B, $61,322.00 UTAD, $60,202.60 SOW, $59,949.20 Phase E로 이어지는 분배 시퀀스를 제시했고, 현재가가 메인 레인지 하단 $60,232.10 및 EQ $60,386.05 아래에 위치해 구조 진단의 구체성과 단계성이 가장 높다.",
  "invalidation_level": "$61,322.00 상향 재수용 및 돌파. 그 전 단계에서는 $60,540.00 회복이 단기 bearish 구조 약화 신호다.",
  "executive_summary": "현재 BTC 15분 구조는 중립 박스권 내부라는 일부 해석이 남아 있으나, 고가중치 구조 엔진인 Wyckoff와 ICT 기준으로는 bearish regime이 우세하다. Wyckoff상 $61,322.00 UTAD 이후 $60,540.00 상단 재수용에 실패했고, $60,202.60 SOW 및 $60,232.10 AR 저점 아래에 위치해 분배 Phase E 진행 구간으로 진단된다. ICT도 전일 고점 $60,067.90 회수 후 재하회와 다수 bearish BOS 이력을 근거로 premium 구간의 약세 구조 조건을 확인한다. 주요 구조 저항은 $60,160.68-$60,251.17 및 $60,408.90-$60,583.25에 밀집해 있고, 하단 구조 기준은 $59,844.00, $59,540.30, $59,329.20, $57,758.60 순으로 관찰된다. 전체 bearish 구조 판단은 $60,540.00 회복 시 약화되고, $61,322.00 상향 재수용 시 무효화된다."
}
Full Result JSON
{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-07-02 09:00 KST",
  "last_price": 59988.7,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.48,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.42,
      "setup_signals": [
        "가격 $59,988.70이 7일 범위 EQ $59,540.30 위에 있어 약한 프리미엄 구간에 위치",
        "현재가가 EMA20 $60,251.17 아래에 있어 단기 반등이 아직 구조적으로 수용되지 않음",
        "최근 5개 15분봉이 모두 음봉 흐름: -0.0%, -0.4%, -0.1%, -0.1%, -0.2%",
        "최근 캔들 패턴 0개, 고거래량 패턴 0개로 반전 확인 신호 부재",
        "장기 EMA120 $59,531.12 및 EMA240 $59,440.85 위에 있어 하방 셋업은 아직 추세 전환이 아닌 단기 조정 성격"
      ],
      "reasoning": "현재 BTC는 $59,988.70으로 EMA20 $60,251.17 아래에 머물며 단기 매도 압력이 우세하지만, EMA120 $59,531.12와 EMA240 $59,440.85 위에 있어 중기 구조가 명확히 하락 전환됐다고 보기는 어렵습니다. 7일 고점 $61,322.00과 저점 $57,758.60의 중간값인 EQ는 약 $59,540.30이며, 현재가는 그 위의 약한 프리미엄 구간에 있어 단기적으로는 되밀림 리스크가 있습니다. 다만 최근 패턴 0개, 패턴 후보 0개, best_pattern_quality 0으로 도지·해머·장악형 같은 신뢰도 있는 캔들 반전 신호가 확인되지 않았습니다. 따라서 구조_bias는 중립, 실행 관점의 setup_bias는 EMA20 저항과 연속 음봉에 따른 약한 bearish로 평가합니다.",
      "key_levels": {
        "support": [
          59540.3,
          59531.12,
          59440.85,
          57758.6
        ],
        "resistance": [
          60251.17,
          60482.92,
          61322.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,482.92",
      "risk_scenario": "가격이 EMA20 $60,251.17을 회복하고 ATR 1개 폭을 더한 $60,482.92 위에서 15분봉 기준 수용되면 단기 bearish setup은 무효화됩니다. 이 경우 숏 커버링이 붙으며 7일 고점 $61,322.00 재시험으로 이어질 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 141,
        "recent_patterns": 0,
        "pattern_list": [],
        "atr_value": 231.75,
        "vol_avg_20": 2877.31,
        "high_volume_patterns": [],
        "pattern_candidates": [],
        "best_pattern_quality": 0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.48,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.42,\n  \"setup_signals\": [\n    \"가격 $59,988.70이 7일 범위 EQ $59,540.30 위에 있어 약한 프리미엄 구간에 위치\",\n    \"현재가가 EMA20 $60,251.17 아래에 있어 단기 반등이 아직 구조적으로 수용되지 않음\",\n    \"최근 5개 15분봉이 모두 음봉 흐름: -0.0%, -0.4%, -0.1%, -0.1%, -0.2%\",\n    \"최근 캔들 패턴 0개, 고거래량 패턴 0개로 반전 확인 신호 부재\",\n    \"장기 EMA120 $59,531.12 및 EMA240 $59,440.85 위에 있어 하방 셋업은 아직 추세 전환이 아닌 단기 조정 성격\"\n  ],\n  \"reasoning\": \"현재 BTC는 $59,988.70으로 EMA20 $60,251.17 아래에 머물며 단기 매도 압력이 우세하지만, EMA120 $59,531.12와 EMA240 $59,440.85 위에 있어 중기 구조가 명확히 하락 전환됐다고 보기는 어렵습니다. 7일 고점 $61,322.00과 저점 $57,758.60의 중간값인 EQ는 약 $59,540.30이며, 현재가는 그 위의 약한 프리미엄 구간에 있어 단기적으로는 되밀림 리스크가 있습니다. 다만 최근 패턴 0개, 패턴 후보 0개, best_pattern_quality 0으로 도지·해머·장악형 같은 신뢰도 있는 캔들 반전 신호가 확인되지 않았습니다. 따라서 구조_bias는 중립, 실행 관점의 setup_bias는 EMA20 저항과 연속 음봉에 따른 약한 bearish로 평가합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59540.3,\n      59531.12,\n      59440.85,\n      57758.6\n    ],\n    \"resistance\": [\n      60251.17,\n      60482.92,\n      61322.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,482.92\",\n  \"risk_scenario\": \"가격이 EMA20 $60,251.17을 회복하고 ATR 1개 폭을 더한 $60,482.92 위에서 15분봉 기준 수용되면 단기 bearish setup은 무효화됩니다. 이 경우 숏 커버링이 붙으며 7일 고점 $61,322.00 재시험으로 이어질 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $59,988.70가 0.786 되돌림 $60,160.68 아래에 위치하여 깊은 되돌림 구간을 이탈 압박 중",
        "골든비율 0.618 되돌림 $60,408.90 및 주요 컨플루언스 $60,491.06이 상방 저항으로 전환",
        "EQ 0.5 되돌림 $60,583.25 아래에서 거래되어 단기 반등 실패 시 하락 지속 위험 증가",
        "최근 5개 15분봉이 연속 약세 마감이며 EMA20 $60,251.17 아래에 위치"
      ],
      "reasoning": "BTC는 Low $59,844 → High $61,322 상승 스윙 이후 현재 $59,988.70까지 깊게 되돌렸고, 핵심 방어선인 0.786 되돌림 $60,160.68 아래에서 거래되고 있습니다. 구조적으로는 아직 스윙 저점 $59,844가 명확히 붕괴된 것은 아니므로 확정 bearish BOS로 보기는 어렵고, 따라서 structure_bias는 neutral입니다. 그러나 0.618 골든비율 $60,408.90, 0.5 $60,583.25, 컨플루언스 존 $60,491.06이 모두 현재가 위에 저항으로 쌓여 있어 단기 setup_bias는 bearish입니다. 특히 confluence_quality 0.850으로 $60,408.90~$60,583.25 구간의 저항 신뢰도가 높아, 이 구간을 회복하지 못하면 스윙 저점 $59,844 재시험 가능성이 큽니다.",
      "key_levels": {
        "support": [
          59844.0,
          57758.6
        ],
        "resistance": [
          60160.68,
          60408.9,
          60491.06,
          60583.25,
          60757.6,
          61322.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "60491.06",
      "risk_scenario": "가격이 $60,160.68을 회복한 뒤 골든비율 $60,408.90과 컨플루언스 저항 $60,491.06 위에 안착하면 현재의 단기 bearish setup은 무효화됩니다. 그 경우 $60,583.25, $60,757.60을 거쳐 스윙 고점 $61,322 재시험 및 확장 목표 $61,723.88~$61,933.68까지 반등 시나리오가 열립니다.",
      "data_quality": "high",
      "metrics": {
        "swing_pair": "Low→High: $59,844 → $61,322",
        "direction": "up",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 60160.68,
        "nearest_fib_distance": 0.29,
        "golden_ratio_level": 60408.9,
        "fib_ret_382": 60757.6,
        "fib_ret_618": 60408.9,
        "confluence_zones": [
          {
            "price": 60491.06,
            "count": 3,
            "levels": [
              "ret_0.618",
              "ret_0.236",
              "ret_0.5"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 60060.73,
            "count": 2,
            "levels": [
              "ret_0.382",
              "ret_0.786"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 60865.45,
            "count": 2,
            "levels": [
              "ret_0.382",
              "ret_0.236"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 61322.0,
            "count": 2,
            "levels": [
              "ext_1.0",
              "ext_1.0"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 61828.78,
            "count": 2,
            "levels": [
              "ext_1.272",
              "ext_1.414"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [],
        "resistance_levels": [
          60160.685,
          60408.905,
          60583.25
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 60973.31,
            "distance_pct": 1.64,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.382",
            "price": 60757.6,
            "distance_pct": 1.28,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.5",
            "price": 60583.25,
            "distance_pct": 0.99,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.618",
            "price": 60408.9,
            "distance_pct": 0.7,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.786",
            "price": 60160.68,
            "distance_pct": 0.29,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.0",
            "price": 61322.0,
            "distance_pct": 2.22,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.272",
            "price": 61723.88,
            "distance_pct": 2.89,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 61933.68,
            "distance_pct": 3.24,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 62235.1,
            "distance_pct": 3.74,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 62799.5,
            "distance_pct": 4.69,
            "is_support": false,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.85,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $59,988.70가 0.786 되돌림 $60,160.68 아래에 위치하여 깊은 되돌림 구간을 이탈 압박 중\",\n    \"골든비율 0.618 되돌림 $60,408.90 및 주요 컨플루언스 $60,491.06이 상방 저항으로 전환\",\n    \"EQ 0.5 되돌림 $60,583.25 아래에서 거래되어 단기 반등 실패 시 하락 지속 위험 증가\",\n    \"최근 5개 15분봉이 연속 약세 마감이며 EMA20 $60,251.17 아래에 위치\"\n  ],\n  \"reasoning\": \"BTC는 Low $59,844 → High $61,322 상승 스윙 이후 현재 $59,988.70까지 깊게 되돌렸고, 핵심 방어선인 0.786 되돌림 $60,160.68 아래에서 거래되고 있습니다. 구조적으로는 아직 스윙 저점 $59,844가 명확히 붕괴된 것은 아니므로 확정 bearish BOS로 보기는 어렵고, 따라서 structure_bias는 neutral입니다. 그러나 0.618 골든비율 $60,408.90, 0.5 $60,583.25, 컨플루언스 존 $60,491.06이 모두 현재가 위에 저항으로 쌓여 있어 단기 setup_bias는 bearish입니다. 특히 confluence_quality 0.850으로 $60,408.90~$60,583.25 구간의 저항 신뢰도가 높아, 이 구간을 회복하지 못하면 스윙 저점 $59,844 재시험 가능성이 큽니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59844.0,\n      57758.6\n    ],\n    \"resistance\": [\n      60160.68,\n      60408.9,\n      60491.06,\n      60583.25,\n      60757.6,\n      61322.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"60491.06\",\n  \"risk_scenario\": \"가격이 $60,160.68을 회복한 뒤 골든비율 $60,408.90과 컨플루언스 저항 $60,491.06 위에 안착하면 현재의 단기 bearish setup은 무효화됩니다. 그 경우 $60,583.25, $60,757.60을 거쳐 스윙 고점 $61,322 재시험 및 확장 목표 $61,723.88~$61,933.68까지 반등 시나리오가 열립니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "7일 레인지 EQ 약 $59,540 위 프리미엄 구간에서 현재가 $59,988.70 거래",
        "현재가 $59,988.70이 EMA20 $60,251.17 아래로 재진입하며 단기 모멘텀 약화",
        "OI 24시간 -4.3910% 감소로 상승 추세 중 신규 롱 유입보다 포지션 언와인딩 우세",
        "롱 계정 비율 0.648, account_long_crowding 1.000으로 롱 포지셔닝 과밀",
        "CVD divergence 0.850 및 CVD change +$8,774.90에도 가격이 $61,322 고점 돌파 실패해 매수 흡수 가능성",
        "근접 하방 청산 밀집 구간 $59,300이 단기 자석으로 작동 가능"
      ],
      "reasoning": "확정 구조는 $57,758.60~$61,322.00 박스권 내부이며, 현재가 $59,988.70은 EMA120 $59,531.12와 EMA240 $59,440.85 위에 있어 완전한 약세 구조 전환은 아직 확인되지 않았다. 그러나 셋업 관점에서는 7일 레인지 EQ 약 $59,540 위 프리미엄에서 EMA20 $60,251.17을 회복하지 못하고 있으며, OI가 24시간 -4.3910% 감소해 상승 참여가 약하다. 롱 계정 비율이 0.648이고 account_long_crowding이 1.000으로 롱 과밀 상태라, $61,100~$61,700 상단 유동성을 회수하지 못하면 $59,300 하방 청산 구간으로 밀릴 가능성이 높다. CVD change가 +$8,774.90인데도 가격이 $61,322를 돌파하지 못한 점은 공격적 매수가 가격 상승으로 연결되지 않는 흡수 신호로 해석된다.",
      "key_levels": {
        "support": [
          59540.3,
          59300,
          58100,
          57758.6,
          54500
        ],
        "resistance": [
          60251.17,
          61100,
          61322,
          61700,
          62900
        ]
      },
      "time_horizon": "short term, 4-8시간",
      "invalidation_level": "$61,322.00 상향 돌파 및 15분봉 구조적 안착",
      "risk_scenario": "$61,100 상단 청산대를 먼저 회수하고 $61,322 위에서 안착하면 롱 과밀에도 불구하고 숏 계정 증가분이 숏 스퀴즈 연료가 되어 $61,700, 이후 $62,900까지 빠르게 확장될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.85,
        "cvd_change": 8774.901,
        "oi_trend": 0.061,
        "oi_change_pct_24h": -4.391,
        "oi_latest": 103729.506,
        "funding_pressure": 0.452,
        "funding_avg": 4.819e-05,
        "funding_change_24h": 1.541e-05,
        "long_account_ratio": 0.687,
        "short_account_ratio": 0.313,
        "long_account_latest": 0.648,
        "short_account_latest": 0.352,
        "long_account_change_24h": -0.0921,
        "short_account_change_24h": 0.0921,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.485,
        "spot_futures_basis_pct": -0.0588,
        "basis_change_lookback": -0.0127,
        "aggregate_score": 0.37,
        "bull_signals": 1,
        "bear_signals": 2,
        "liq_below": [
          [
            59300,
            4422.4588899
          ],
          [
            58100,
            4517.151399400001
          ],
          [
            54500,
            4697.86415
          ]
        ],
        "liq_above": [
          [
            61100,
            4456.574769350001
          ],
          [
            61700,
            3490.7479545
          ],
          [
            62900,
            4654.330606
          ]
        ],
        "strongest_liq_level": 54500,
        "fragility_score": 0.674,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"7일 레인지 EQ 약 $59,540 위 프리미엄 구간에서 현재가 $59,988.70 거래\",\n    \"현재가 $59,988.70이 EMA20 $60,251.17 아래로 재진입하며 단기 모멘텀 약화\",\n    \"OI 24시간 -4.3910% 감소로 상승 추세 중 신규 롱 유입보다 포지션 언와인딩 우세\",\n    \"롱 계정 비율 0.648, account_long_crowding 1.000으로 롱 포지셔닝 과밀\",\n    \"CVD divergence 0.850 및 CVD change +$8,774.90에도 가격이 $61,322 고점 돌파 실패해 매수 흡수 가능성\",\n    \"근접 하방 청산 밀집 구간 $59,300이 단기 자석으로 작동 가능\"\n  ],\n  \"reasoning\": \"확정 구조는 $57,758.60~$61,322.00 박스권 내부이며, 현재가 $59,988.70은 EMA120 $59,531.12와 EMA240 $59,440.85 위에 있어 완전한 약세 구조 전환은 아직 확인되지 않았다. 그러나 셋업 관점에서는 7일 레인지 EQ 약 $59,540 위 프리미엄에서 EMA20 $60,251.17을 회복하지 못하고 있으며, OI가 24시간 -4.3910% 감소해 상승 참여가 약하다. 롱 계정 비율이 0.648이고 account_long_crowding이 1.000으로 롱 과밀 상태라, $61,100~$61,700 상단 유동성을 회수하지 못하면 $59,300 하방 청산 구간으로 밀릴 가능성이 높다. CVD change가 +$8,774.90인데도 가격이 $61,322를 돌파하지 못한 점은 공격적 매수가 가격 상승으로 연결되지 않는 흡수 신호로 해석된다.\",\n  \"key_levels\": {\n    \"support\": [\n      59540.3,\n      59300,\n      58100,\n      57758.6,\n      54500\n    ],\n    \"resistance\": [\n      60251.17,\n      61100,\n      61322,\n      61700,\n      62900\n    ]\n  },\n  \"time_horizon\": \"short term, 4-8시간\",\n  \"invalidation_level\": \"$61,322.00 상향 돌파 및 15분봉 구조적 안착\",\n  \"risk_scenario\": \"$61,100 상단 청산대를 먼저 회수하고 $61,322 위에서 안착하면 롱 과밀에도 불구하고 숏 계정 증가분이 숏 스퀴즈 연료가 되어 $61,700, 이후 $62,900까지 빠르게 확장될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.82,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.78,
      "setup_signals": [
        "UTAD가 $61,322.00에서 발생한 뒤 $60,540.00 BC/상단 저항 위 안착에 실패",
        "SOW가 $60,202.60에서 확인되며 기존 AR 저점 $60,232.10 하향 이탈",
        "현재가 $59,988.70이 메인 레인지 하단 $60,232.10 및 EQ $60,386.05 아래에 위치",
        "Phase E 저점 후보 $59,949.20 부근까지 밀리며 분배 Phase E 진행 신호",
        "$60,202.60~$60,232.10 회복 실패 시 단기 반등은 LPSY성 되돌림으로 해석될 가능성"
      ],
      "reasoning": "현재 구조는 regime=DIS, regime_fitness=1.000이며 BC $60,540.00 → AR $60,232.10 → SOW_IN_PHASE_B $58,200.00 → UT $60,520.00 → UTAD $61,322.00 → SOW $60,202.60 → Phase E $59,949.20의 분배 시퀀스가 확인되어 structure_bias는 bearish이다. 특히 $61,322.00 UTAD 이후 $60,540.00 상단을 재수용하지 못하고 $60,232.10 AR 저점 및 $60,202.60 SOW 레벨을 이탈한 점은 Phase E 약세 진행으로 해석된다. 다만 현재가는 이미 레인지 하단 아래에 있어 즉시 추격보다는 $60,202.60~$60,232.10 재시험에서 거부가 나오는지 확인하는 것이 Wyckoff상 더 중요하다. $60,540.00을 회복하면 단기 약세 압력은 약화되고, $61,322.00 UTAD 고점을 재돌파하면 이 분배 해석은 무효화된다.",
      "key_levels": {
        "support": [
          59949.2,
          58200.0
        ],
        "resistance": [
          60202.6,
          60232.1,
          60540.0,
          61322.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,322.00",
      "risk_scenario": "$60,202.60~$60,232.10을 빠르게 회복하고 그 위에서 수용이 유지되면 현재 Phase E 하락은 일시적 이탈 또는 실패한 SOW로 약화된다. 이후 $60,540.00 상단까지 회복하면 분배 하단 이탈의 신뢰도가 낮아지며, $61,322.00 UTAD 고점을 돌파하면 현재 bearish 구조 해석은 무효화된다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 100.0,
        "dis_score": 100.0,
        "regime": "DIS",
        "regime_state": "dis_candidate",
        "structure_bias": "bearish",
        "phase_context": "dis_candidate / distribution / Phase E",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "UTAD",
          "SOW",
          "Phase E"
        ],
        "last_phase": "Phase E",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 91,
            "price": 60540.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 96,
            "price": 60232.1,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 133,
            "price": 59698.9,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 162,
            "price": 58200.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 265,
            "price": 60520.0,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 293,
            "price": 61322.0,
            "color": "#f9844a"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 296,
            "price": 60202.6,
            "color": "#ef476f"
          },
          {
            "label": "Phase E",
            "side": "low",
            "idx": 299,
            "price": 59949.2,
            "color": "#7209b7"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 91,
            "end_idx": 299,
            "phase_count": 8,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 91,
                "price": 60540.0,
                "color": "#ffd166",
                "dt": "2026-06-30 04:45:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 96,
                "price": 60232.1,
                "color": "#06d6a0",
                "dt": "2026-06-30 06:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 133,
                "price": 59698.9,
                "color": "#118ab2",
                "dt": "2026-06-30 15:15:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 162,
                "price": 58200.0,
                "color": "#ef476f",
                "dt": "2026-06-30 22:30:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 265,
                "price": 60520.0,
                "color": "#f9844a",
                "dt": "2026-07-02 00:15:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 293,
                "price": 61322.0,
                "color": "#f9844a",
                "dt": "2026-07-02 07:15:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 296,
                "price": 60202.6,
                "color": "#ef476f",
                "dt": "2026-07-02 08:00:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 299,
                "price": 59949.2,
                "color": "#7209b7",
                "dt": "2026-07-02 08:45:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_1",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 1,
        "regime_fitness": 1.0,
        "current_event": "Phase E",
        "major_phase": "E",
        "pos_in_range": 0.5,
        "main_range_low": 60232.1,
        "main_range_high": 60540.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.82,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.78,\n  \"setup_signals\": [\n    \"UTAD가 $61,322.00에서 발생한 뒤 $60,540.00 BC/상단 저항 위 안착에 실패\",\n    \"SOW가 $60,202.60에서 확인되며 기존 AR 저점 $60,232.10 하향 이탈\",\n    \"현재가 $59,988.70이 메인 레인지 하단 $60,232.10 및 EQ $60,386.05 아래에 위치\",\n    \"Phase E 저점 후보 $59,949.20 부근까지 밀리며 분배 Phase E 진행 신호\",\n    \"$60,202.60~$60,232.10 회복 실패 시 단기 반등은 LPSY성 되돌림으로 해석될 가능성\"\n  ],\n  \"reasoning\": \"현재 구조는 regime=DIS, regime_fitness=1.000이며 BC $60,540.00 → AR $60,232.10 → SOW_IN_PHASE_B $58,200.00 → UT $60,520.00 → UTAD $61,322.00 → SOW $60,202.60 → Phase E $59,949.20의 분배 시퀀스가 확인되어 structure_bias는 bearish이다. 특히 $61,322.00 UTAD 이후 $60,540.00 상단을 재수용하지 못하고 $60,232.10 AR 저점 및 $60,202.60 SOW 레벨을 이탈한 점은 Phase E 약세 진행으로 해석된다. 다만 현재가는 이미 레인지 하단 아래에 있어 즉시 추격보다는 $60,202.60~$60,232.10 재시험에서 거부가 나오는지 확인하는 것이 Wyckoff상 더 중요하다. $60,540.00을 회복하면 단기 약세 압력은 약화되고, $61,322.00 UTAD 고점을 재돌파하면 이 분배 해석은 무효화된다.\",\n  \"key_levels\": {\n    \"support\": [\n      59949.2,\n      58200.0\n    ],\n    \"resistance\": [\n      60202.6,\n      60232.1,\n      60540.0,\n      61322.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,322.00\",\n  \"risk_scenario\": \"$60,202.60~$60,232.10을 빠르게 회복하고 그 위에서 수용이 유지되면 현재 Phase E 하락은 일시적 이탈 또는 실패한 SOW로 약화된다. 이후 $60,540.00 상단까지 회복하면 분배 하단 이탈의 신뢰도가 낮아지며, $61,322.00 UTAD 고점을 돌파하면 현재 bearish 구조 해석은 무효화된다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bearish",
      "confidence": 0.34,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.46,
      "setup_signals": [
        "현재가 $59,988.70가 형성 중인 bearish Crab PRZ $59,811.00-$60,195.18 내부에 위치, 중심 D $60,003.09와의 괴리 약 0.02%",
        "상단에 strict/high bearish Gartley 형성 PRZ $60,242.64-$60,473.29 대기, D $60,357.96, XAD·BC_EXT·ABCD 3중 Fib confluence",
        "Gartley PRZ 폭 0.382%로 양호하며 pattern_score 0.903, prz_score 1.000이나 아직 PRZ 반응 확인 없음",
        "최근 5개 15분봉이 모두 약세 마감이며 현재가가 EMA20 $60,251.17 아래에 있어 단기 상단 PRZ 접근 시 매도 반응 후보",
        "confirmed_reaction_prz_count 0 및 validated_harmonic_tp_count 0으로 구조 전환 확정 전 단계"
      ],
      "reasoning": "하모닉 기준의 확정 구조 전환 신호는 없으므로 structure_bias는 중립이며, 현재 신호는 독립적인 추세 판정이 아니라 PRZ 기반의 약한 bearish setup이다. 가장 중요한 실행 후보는 strict/high bearish Gartley PRZ $60,242.64-$60,473.29로, X $60,520.00, A $59,762.60, B $60,218.20, C $59,844.50에서 형성 중이며 XAB 0.6015로 Gartley 허용권에 가깝다. 현재가는 $59,988.70로 active Crab PRZ $59,811.00-$60,195.18 내부에 있지만 이 Crab은 high_confluence가 아니고 confirmed_reaction=false라 방향 전환 근거로는 약하다. 따라서 $60,242.64-$60,473.29 진입 후 rejection, sweep-reclaim, 15m MSS/CHoCH 같은 확인이 나오면 bearish TP ladder $60,130.53 → $59,990.03 → $59,762.60을 우선 참조한다.",
      "key_levels": {
        "support": [
          59990.03,
          59844.5,
          59762.6,
          59299.03,
          58864.06,
          58160.0
        ],
        "resistance": [
          60195.18,
          60242.64,
          60357.96,
          60473.29,
          60520.0,
          60847.07
        ]
      },
      "time_horizon": "short term, 15분봉 기준 PRZ 반응 관찰",
      "invalidation_level": "$60,473.29 상단을 15분봉 종가로 수용하고 방어하면 bearish Gartley PRZ 반응 가정은 무효화",
      "risk_scenario": "반대 시나리오는 가격이 $60,242.64-$60,473.29 bearish Gartley PRZ를 거부하지 않고 상단을 수용하는 경우이다. 이 경우 $60,520.00 이전 X 고점 및 저품질 bearish Bat PRZ 상단 $60,847.07까지 유동성 확장 위험이 커지며, 하모닉 매도 셋업은 단순 저항 관찰 구간으로 격하된다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 65,
        "completed_patterns_found": 27,
        "forming_d_prz_found": 38,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 60,
        "swing_highs_scanned": 31,
        "swing_lows_scanned": 29,
        "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": 15,
          "medium": 22,
          "low": 28
        },
        "prz_status_counts": {
          "active": 11,
          "nearby": 9,
          "watch": 12,
          "far": 33,
          "forming": 18
        },
        "high_confluence_prz_count": 33,
        "strict_patterns_found": 38,
        "candidate_patterns_found": 27,
        "active_patterns_at_prz": 11,
        "nearby_patterns": 9,
        "all_patterns": [
          "bat",
          "gartley",
          "gartley",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "gartley",
          "bat",
          "gartley",
          "bat",
          "bat",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "butterfly",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "butterfly",
          "shark",
          "butterfly",
          "crab",
          "gartley",
          "shark",
          "shark",
          "crab",
          "butterfly",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "gartley",
          "crab",
          "butterfly",
          "crab",
          "gartley",
          "crab",
          "crab",
          "crab",
          "shark",
          "shark",
          "crab",
          "gartley",
          "shark",
          "crab",
          "crab",
          "crab",
          "gartley",
          "shark",
          "crab",
          "shark",
          "bat",
          "shark",
          "crab",
          "shark",
          "shark"
        ],
        "all_signals": [
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.907,
        "best_completion_status": "forming",
        "nearest_pattern": "crab",
        "nearest_prz": 60003.09,
        "price_to_prz": 0.02,
        "prz_range": [
          59811.0,
          60195.18
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.907,
            "ratio_score": 1.0,
            "prz_score": 0.995,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59110.75,
            "prz_range": [
              58929.33,
              59292.16
            ],
            "prz_width_pct": 0.614,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.46,
            "price_to_prz_pct_raw": -1.4635,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 59110.75,
              "a_price": 58223.3,
              "tp1_ad_382": 58771.74,
              "tp2_ad_618": 58562.3,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4719,
              "ABC": 0.5028
            },
            "x_price": 59403.0,
            "x_idx": 148,
            "x_order": 5,
            "a_price": 58223.3,
            "a_idx": 173,
            "a_order": 3,
            "b_price": 58780.0,
            "b_idx": 197,
            "b_order": 5,
            "c_price": 58500.1,
            "c_idx": 230,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.903,
            "ratio_score": 0.902,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60357.96,
            "prz_range": [
              60242.64,
              60473.29
            ],
            "prz_width_pct": 0.382,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.62,
            "price_to_prz_pct_raw": 0.6156,
            "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": 60357.96,
              "a_price": 59762.6,
              "tp1_ad_382": 60130.53,
              "tp2_ad_618": 59990.03,
              "tp3_a_or_structure_liquidity": 59762.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6015,
              "ABC": 0.8202
            },
            "x_price": 60520.0,
            "x_idx": 265,
            "x_order": 8,
            "a_price": 59762.6,
            "a_idx": 272,
            "a_order": 5,
            "b_price": 60218.2,
            "b_idx": 274,
            "b_order": 3,
            "c_price": 59844.5,
            "c_idx": 285,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.902,
            "ratio_score": 0.933,
            "prz_score": 0.978,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59414.29,
            "prz_range": [
              59219.4,
              59609.17
            ],
            "prz_width_pct": 0.656,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.96,
            "price_to_prz_pct_raw": -0.9575,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 59414.29,
              "a_price": 58223.3,
              "tp1_ad_382": 58959.33,
              "tp2_ad_618": 58678.26,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6294,
              "ABC": 0.7551
            },
            "x_price": 59698.9,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 58223.3,
            "a_idx": 173,
            "a_order": 3,
            "b_price": 59152.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 58450.7,
            "c_idx": 238,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.868,
            "ratio_score": 0.988,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59152.0,
            "prz_range": [
              58943.45,
              59293.74
            ],
            "prz_width_pct": 0.593,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.45,
            "price_to_prz_pct_raw": -1.4504,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.381,
                "adverse_move_ratio_ad": 0.339,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 59118.6,
              "a_price": 58290.0,
              "tp1_ad_382": 58802.07,
              "tp2_ad_618": 58606.52,
              "tp3_a_or_structure_liquidity": 58290.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5029,
              "ABC": 0.6182,
              "BCD": 2.2281,
              "XAD": 0.8846
            },
            "x_price": 59264.4,
            "x_idx": 164,
            "x_order": 8,
            "a_price": 58290.0,
            "a_idx": 179,
            "a_order": 3,
            "b_price": 58780.0,
            "b_idx": 197,
            "b_order": 5,
            "c_price": 58477.1,
            "c_idx": 198,
            "c_order": 3,
            "d_idx": 215
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.876,
            "ratio_score": 1.0,
            "prz_score": 0.867,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60561.47,
            "prz_range": [
              60275.88,
              60847.07
            ],
            "prz_width_pct": 0.943,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.95,
            "price_to_prz_pct_raw": 0.9548,
            "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": 60561.47,
              "a_price": 59762.6,
              "tp1_ad_382": 60256.3,
              "tp2_ad_618": 60067.77,
              "tp3_a_or_structure_liquidity": 59762.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4427,
              "ABC": 0.8202
            },
            "x_price": 58733.5,
            "x_idx": 249,
            "x_order": 3,
            "a_price": 59762.6,
            "a_idx": 272,
            "a_order": 5,
            "b_price": 60218.2,
            "b_idx": 274,
            "b_order": 3,
            "c_price": 59844.5,
            "c_idx": 285,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.867,
            "ratio_score": 1.0,
            "prz_score": 0.898,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59249.15,
            "prz_range": [
              58993.56,
              59504.74
            ],
            "prz_width_pct": 0.863,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.23,
            "price_to_prz_pct_raw": -1.2328,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59249.15,
              "a_price": 60520.0,
              "tp1_ad_382": 59734.61,
              "tp2_ad_618": 60034.53,
              "tp3_a_or_structure_liquidity": 60520.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4466,
              "ABC": 0.6015
            },
            "x_price": 58823.9,
            "x_idx": 218,
            "x_order": 3,
            "a_price": 60520.0,
            "a_idx": 265,
            "a_order": 8,
            "b_price": 59762.6,
            "b_idx": 272,
            "b_order": 5,
            "c_price": 60218.2,
            "c_idx": 274,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.853,
            "ratio_score": 0.866,
            "prz_score": 0.876,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59472.16,
            "prz_range": [
              59199.01,
              59745.31
            ],
            "prz_width_pct": 0.919,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.86,
            "price_to_prz_pct_raw": -0.8611,
            "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": 59472.16,
              "a_price": 58223.3,
              "tp1_ad_382": 58995.1,
              "tp2_ad_618": 58700.36,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7872,
              "ABC": 0.9238
            },
            "x_price": 59403.0,
            "x_idx": 148,
            "x_order": 5,
            "a_price": 58223.3,
            "a_idx": 173,
            "a_order": 3,
            "b_price": 59152.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 58294.1,
            "c_idx": 255,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.825,
            "ratio_score": 0.859,
            "prz_score": 0.876,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60218.2,
            "prz_range": [
              59199.01,
              59745.31
            ],
            "prz_width_pct": 0.919,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.86,
            "price_to_prz_pct_raw": -0.8611,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "initial_PRZ_reaction",
                "post_D_close_progress"
              ],
              "reaction_score": 0.35,
              "reaction_detail": {
                "reaction_score": 0.35,
                "reaction_move_ratio_ad": 0.187,
                "adverse_move_ratio_ad": 0.057,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 59472.16,
              "a_price": 58223.3,
              "tp1_ad_382": 58995.1,
              "tp2_ad_618": 58700.36,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7872,
              "ABC": 0.9238,
              "BCD": 2.2428,
              "XAD": 1.691
            },
            "x_price": 59403.0,
            "x_idx": 148,
            "x_order": 5,
            "a_price": 58223.3,
            "a_idx": 173,
            "a_order": 3,
            "b_price": 59152.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 58294.1,
            "c_idx": 255,
            "c_order": 8,
            "d_idx": 274
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.903,
            "ratio_score": 0.902,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60357.96,
            "prz_range": [
              60242.64,
              60473.29
            ],
            "prz_width_pct": 0.382,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.62,
            "price_to_prz_pct_raw": 0.6156,
            "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": 60357.96,
              "a_price": 59762.6,
              "tp1_ad_382": 60130.53,
              "tp2_ad_618": 59990.03,
              "tp3_a_or_structure_liquidity": 59762.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6015,
              "ABC": 0.8202
            },
            "x_price": 60520.0,
            "x_idx": 265,
            "x_order": 8,
            "a_price": 59762.6,
            "a_idx": 272,
            "a_order": 5,
            "b_price": 60218.2,
            "b_idx": 274,
            "b_order": 3,
            "c_price": 59844.5,
            "c_idx": 285,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.907,
            "ratio_score": 1.0,
            "prz_score": 0.995,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59110.75,
            "prz_range": [
              58929.33,
              59292.16
            ],
            "prz_width_pct": 0.614,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.46,
            "price_to_prz_pct_raw": -1.4635,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 59110.75,
              "a_price": 58223.3,
              "tp1_ad_382": 58771.74,
              "tp2_ad_618": 58562.3,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4719,
              "ABC": 0.5028
            },
            "x_price": 59403.0,
            "x_idx": 148,
            "x_order": 5,
            "a_price": 58223.3,
            "a_idx": 173,
            "a_order": 3,
            "b_price": 58780.0,
            "b_idx": 197,
            "b_order": 5,
            "c_price": 58500.1,
            "c_idx": 230,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.903,
            "ratio_score": 0.902,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60357.96,
            "prz_range": [
              60242.64,
              60473.29
            ],
            "prz_width_pct": 0.382,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.62,
            "price_to_prz_pct_raw": 0.6156,
            "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": 60357.96,
              "a_price": 59762.6,
              "tp1_ad_382": 60130.53,
              "tp2_ad_618": 59990.03,
              "tp3_a_or_structure_liquidity": 59762.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6015,
              "ABC": 0.8202
            },
            "x_price": 60520.0,
            "x_idx": 265,
            "x_order": 8,
            "a_price": 59762.6,
            "a_idx": 272,
            "a_order": 5,
            "b_price": 60218.2,
            "b_idx": 274,
            "b_order": 3,
            "c_price": 59844.5,
            "c_idx": 285,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.902,
            "ratio_score": 0.933,
            "prz_score": 0.978,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59414.29,
            "prz_range": [
              59219.4,
              59609.17
            ],
            "prz_width_pct": 0.656,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.96,
            "price_to_prz_pct_raw": -0.9575,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 59414.29,
              "a_price": 58223.3,
              "tp1_ad_382": 58959.33,
              "tp2_ad_618": 58678.26,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6294,
              "ABC": 0.7551
            },
            "x_price": 59698.9,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 58223.3,
            "a_idx": 173,
            "a_order": 3,
            "b_price": 59152.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 58450.7,
            "c_idx": 238,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.868,
            "ratio_score": 0.988,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59152.0,
            "prz_range": [
              58943.45,
              59293.74
            ],
            "prz_width_pct": 0.593,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.45,
            "price_to_prz_pct_raw": -1.4504,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.381,
                "adverse_move_ratio_ad": 0.339,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 59118.6,
              "a_price": 58290.0,
              "tp1_ad_382": 58802.07,
              "tp2_ad_618": 58606.52,
              "tp3_a_or_structure_liquidity": 58290.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5029,
              "ABC": 0.6182,
              "BCD": 2.2281,
              "XAD": 0.8846
            },
            "x_price": 59264.4,
            "x_idx": 164,
            "x_order": 8,
            "a_price": 58290.0,
            "a_idx": 179,
            "a_order": 3,
            "b_price": 58780.0,
            "b_idx": 197,
            "b_order": 5,
            "c_price": 58477.1,
            "c_idx": 198,
            "c_order": 3,
            "d_idx": 215
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.876,
            "ratio_score": 1.0,
            "prz_score": 0.867,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60561.47,
            "prz_range": [
              60275.88,
              60847.07
            ],
            "prz_width_pct": 0.943,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.95,
            "price_to_prz_pct_raw": 0.9548,
            "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": 60561.47,
              "a_price": 59762.6,
              "tp1_ad_382": 60256.3,
              "tp2_ad_618": 60067.77,
              "tp3_a_or_structure_liquidity": 59762.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4427,
              "ABC": 0.8202
            },
            "x_price": 58733.5,
            "x_idx": 249,
            "x_order": 3,
            "a_price": 59762.6,
            "a_idx": 272,
            "a_order": 5,
            "b_price": 60218.2,
            "b_idx": 274,
            "b_order": 3,
            "c_price": 59844.5,
            "c_idx": 285,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.867,
            "ratio_score": 1.0,
            "prz_score": 0.898,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59249.15,
            "prz_range": [
              58993.56,
              59504.74
            ],
            "prz_width_pct": 0.863,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.23,
            "price_to_prz_pct_raw": -1.2328,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59249.15,
              "a_price": 60520.0,
              "tp1_ad_382": 59734.61,
              "tp2_ad_618": 60034.53,
              "tp3_a_or_structure_liquidity": 60520.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4466,
              "ABC": 0.6015
            },
            "x_price": 58823.9,
            "x_idx": 218,
            "x_order": 3,
            "a_price": 60520.0,
            "a_idx": 265,
            "a_order": 8,
            "b_price": 59762.6,
            "b_idx": 272,
            "b_order": 5,
            "c_price": 60218.2,
            "c_idx": 274,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.853,
            "ratio_score": 0.866,
            "prz_score": 0.876,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59472.16,
            "prz_range": [
              59199.01,
              59745.31
            ],
            "prz_width_pct": 0.919,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.86,
            "price_to_prz_pct_raw": -0.8611,
            "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": 59472.16,
              "a_price": 58223.3,
              "tp1_ad_382": 58995.1,
              "tp2_ad_618": 58700.36,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7872,
              "ABC": 0.9238
            },
            "x_price": 59403.0,
            "x_idx": 148,
            "x_order": 5,
            "a_price": 58223.3,
            "a_idx": 173,
            "a_order": 3,
            "b_price": 59152.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 58294.1,
            "c_idx": 255,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.825,
            "ratio_score": 0.859,
            "prz_score": 0.876,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60218.2,
            "prz_range": [
              59199.01,
              59745.31
            ],
            "prz_width_pct": 0.919,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.86,
            "price_to_prz_pct_raw": -0.8611,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "initial_PRZ_reaction",
                "post_D_close_progress"
              ],
              "reaction_score": 0.35,
              "reaction_detail": {
                "reaction_score": 0.35,
                "reaction_move_ratio_ad": 0.187,
                "adverse_move_ratio_ad": 0.057,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 59472.16,
              "a_price": 58223.3,
              "tp1_ad_382": 58995.1,
              "tp2_ad_618": 58700.36,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7872,
              "ABC": 0.9238,
              "BCD": 2.2428,
              "XAD": 1.691
            },
            "x_price": 59403.0,
            "x_idx": 148,
            "x_order": 5,
            "a_price": 58223.3,
            "a_idx": 173,
            "a_order": 3,
            "b_price": 59152.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 58294.1,
            "c_idx": 255,
            "c_order": 8,
            "d_idx": 274
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.754,
            "ratio_score": 0.656,
            "prz_score": 0.951,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59444.5,
            "prz_range": [
              59342.93,
              59774.77
            ],
            "prz_width_pct": 0.725,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.72,
            "price_to_prz_pct_raw": -0.7166,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.759,
                "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": 59558.85,
              "a_price": 58200.0,
              "tp1_ad_382": 59039.77,
              "tp2_ad_618": 58719.08,
              "tp3_a_or_structure_liquidity": 58200.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7101,
              "ABC": 0.7397,
              "BCD": 1.2288,
              "XAD": 0.8303
            },
            "x_price": 59698.9,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 58200.0,
            "a_idx": 162,
            "a_order": 5,
            "b_price": 59264.4,
            "b_idx": 164,
            "b_order": 8,
            "c_price": 58477.1,
            "c_idx": 198,
            "c_order": 3,
            "d_idx": 223
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.864,
            "ratio_score": 1.0,
            "prz_score": 0.768,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 60003.09,
            "prz_range": [
              59811.0,
              60195.18
            ],
            "prz_width_pct": 0.64,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.02,
            "price_to_prz_pct_raw": 0.024,
            "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": "crab",
              "d_price": 60003.09,
              "a_price": 58160.0,
              "tp1_ad_382": 59299.03,
              "tp2_ad_618": 58864.06,
              "tp3_a_or_structure_liquidity": 58160.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4505,
              "ABC": 0.7605
            },
            "x_price": 59403.0,
            "x_idx": 148,
            "x_order": 5,
            "a_price": 58160.0,
            "a_idx": 169,
            "a_order": 8,
            "b_price": 58720.0,
            "b_idx": 204,
            "b_order": 5,
            "c_price": 58294.1,
            "c_idx": 255,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.86,
            "ratio_score": 0.998,
            "prz_score": 0.712,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 60067.9,
            "prz_range": [
              59355.5,
              60155.96
            ],
            "prz_width_pct": 1.34,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.39,
            "price_to_prz_pct_raw": -0.3884,
            "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"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.366,
                "adverse_move_ratio_ad": 0.245,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 59755.73,
              "a_price": 58223.3,
              "tp1_ad_382": 59170.34,
              "tp2_ad_618": 58808.69,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7872,
              "ABC": 0.7551,
              "BCD": 2.306,
              "XAD": 1.5636
            },
            "x_price": 59403.0,
            "x_idx": 148,
            "x_order": 5,
            "a_price": 58223.3,
            "a_idx": 173,
            "a_order": 3,
            "b_price": 59152.0,
            "b_idx": 215,
            "b_order": 3,
            "c_price": 58450.7,
            "c_idx": 238,
            "c_order": 8,
            "d_idx": 261
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.86,
            "ratio_score": 1.0,
            "prz_score": 0.76,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 59607.81,
            "prz_range": [
              59244.86,
              59970.76
            ],
            "prz_width_pct": 1.218,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.63,
            "price_to_prz_pct_raw": -0.6349,
            "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": "crab",
              "d_price": 59607.81,
              "a_price": 58160.0,
              "tp1_ad_382": 59054.75,
              "tp2_ad_618": 58713.06,
              "tp3_a_or_structure_liquidity": 58160.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4028,
              "ABC": 0.4926
            },
            "x_price": 59264.4,
            "x_idx": 164,
            "x_order": 8,
            "a_price": 58160.0,
            "a_idx": 169,
            "a_order": 8,
            "b_price": 58604.8,
            "b_idx": 176,
            "b_order": 3,
            "c_price": 58823.9,
            "c_idx": 218,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.903,
            "prz_proximity": "nearby",
            "prz_range": [
              60242.64,
              60473.29
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.62,
            "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": 60357.96,
              "a_price": 59762.6,
              "tp1_ad_382": 60130.53,
              "tp2_ad_618": 59990.03,
              "tp3_a_or_structure_liquidity": 59762.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $60,242.64-$60,473.29: expected reversal DOWN if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bearish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.903,
          "ratio_score": 0.902,
          "prz_score": 1.0,
          "prz_proximity": "nearby",
          "action_status": "nearby",
          "high_confluence_prz": true,
          "d_price": 60357.96,
          "prz_range": [
            60242.64,
            60473.29
          ],
          "prz_width_pct": 0.382,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 0.62,
          "price_to_prz_pct_raw": 0.6156,
          "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": 60357.96,
            "a_price": 59762.6,
            "tp1_ad_382": 60130.53,
            "tp2_ad_618": 59990.03,
            "tp3_a_or_structure_liquidity": 59762.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.6015,
            "ABC": 0.8202
          },
          "x_price": 60520.0,
          "x_idx": 265,
          "x_order": 8,
          "a_price": 59762.6,
          "a_idx": 272,
          "a_order": 5,
          "b_price": 60218.2,
          "b_idx": 274,
          "b_order": 3,
          "c_price": 59844.5,
          "c_idx": 285,
          "c_order": 8,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bearish",
          "source": "gartley",
          "d_price": 60357.96,
          "a_price": 59762.6,
          "tp1_ad_382": 60130.53,
          "tp2_ad_618": 59990.03,
          "tp3_a_or_structure_liquidity": 59762.6,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bearish",
            "source": "gartley",
            "d_price": 60357.96,
            "a_price": 59762.6,
            "tp1_ad_382": 60130.53,
            "tp2_ad_618": 59990.03,
            "tp3_a_or_structure_liquidity": 59762.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "watch",
        "directional_scores": {
          "bullish": 0,
          "bearish": 0.134
        },
        "directional_score_total": 0.134,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.34,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.46,\n  \"setup_signals\": [\n    \"현재가 $59,988.70가 형성 중인 bearish Crab PRZ $59,811.00-$60,195.18 내부에 위치, 중심 D $60,003.09와의 괴리 약 0.02%\",\n    \"상단에 strict/high bearish Gartley 형성 PRZ $60,242.64-$60,473.29 대기, D $60,357.96, XAD·BC_EXT·ABCD 3중 Fib confluence\",\n    \"Gartley PRZ 폭 0.382%로 양호하며 pattern_score 0.903, prz_score 1.000이나 아직 PRZ 반응 확인 없음\",\n    \"최근 5개 15분봉이 모두 약세 마감이며 현재가가 EMA20 $60,251.17 아래에 있어 단기 상단 PRZ 접근 시 매도 반응 후보\",\n    \"confirmed_reaction_prz_count 0 및 validated_harmonic_tp_count 0으로 구조 전환 확정 전 단계\"\n  ],\n  \"reasoning\": \"하모닉 기준의 확정 구조 전환 신호는 없으므로 structure_bias는 중립이며, 현재 신호는 독립적인 추세 판정이 아니라 PRZ 기반의 약한 bearish setup이다. 가장 중요한 실행 후보는 strict/high bearish Gartley PRZ $60,242.64-$60,473.29로, X $60,520.00, A $59,762.60, B $60,218.20, C $59,844.50에서 형성 중이며 XAB 0.6015로 Gartley 허용권에 가깝다. 현재가는 $59,988.70로 active Crab PRZ $59,811.00-$60,195.18 내부에 있지만 이 Crab은 high_confluence가 아니고 confirmed_reaction=false라 방향 전환 근거로는 약하다. 따라서 $60,242.64-$60,473.29 진입 후 rejection, sweep-reclaim, 15m MSS/CHoCH 같은 확인이 나오면 bearish TP ladder $60,130.53 → $59,990.03 → $59,762.60을 우선 참조한다.\",\n  \"key_levels\": {\n    \"support\": [\n      59990.03,\n      59844.5,\n      59762.6,\n      59299.03,\n      58864.06,\n      58160.0\n    ],\n    \"resistance\": [\n      60195.18,\n      60242.64,\n      60357.96,\n      60473.29,\n      60520.0,\n      60847.07\n    ]\n  },\n  \"time_horizon\": \"short term, 15분봉 기준 PRZ 반응 관찰\",\n  \"invalidation_level\": \"$60,473.29 상단을 15분봉 종가로 수용하고 방어하면 bearish Gartley PRZ 반응 가정은 무효화\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 $60,242.64-$60,473.29 bearish Gartley PRZ를 거부하지 않고 상단을 수용하는 경우이다. 이 경우 $60,520.00 이전 X 고점 및 저품질 bearish Bat PRZ 상단 $60,847.07까지 유동성 확장 위험이 커지며, 하모닉 매도 셋업은 단순 저항 관찰 구간으로 격하된다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.88,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.88,
      "setup_signals": [
        "현재가 $59,988.70가 EQ $59,808.05 위의 premium zone에 위치하여 숏 셋업 우위",
        "전일 고점 $60,067.90을 상향 돌파한 뒤 현재가가 다시 그 아래로 회귀하여 buy-side liquidity run 이후 약세 반응 가능",
        "현재가 $59,988.70가 EMA20 $60,251.17 아래에 있어 단기 평균선 저항 구간에서 매도 압력 우세",
        "확인된 약세 구조 신호: bearish CHoCH $59,712.80 및 bearish BOS $59,329.20, $58,160.00, $58,450.70",
        "하방에는 후보 bullish OB $58,557.10~$57,758.60가 남아 있어 가격이 discount/demand 재방문을 시도할 가능성"
      ],
      "reasoning": "구조적으로는 최근 시퀀스에 bullish CHoCH $59,069.70이 포함되어 있으나, 아직 명확한 bullish BOS가 확인되지 않았고 이전 bearish BOS가 $59,329.20, $58,160.00, $58,450.70에서 다수 발생했기 때문에 confirmed structure_bias는 bearish로 판단한다. 셋업 관점에서는 현재가 $59,988.70가 EQ $59,808.05 위 premium에 있으며, 전일 고점 $60,067.90을 이미 돌파한 뒤 그 아래로 밀린 상태라 buy-side liquidity 확보 후 되돌림 숏 조건이 우세하다. 또한 가격은 EMA20 $60,251.17 아래에 있고, London 고점이자 7일 고점인 $61,322.00이 상단 유동성/무효화 기준으로 남아 있어 상방 추격보다는 저항 확인 후 하방 전개 가능성이 높다. 하방 목표는 우선 $59,712.80, $59,329.20, 이후 후보 bullish OB 상단 $58,557.10 및 하단 $57,758.60 구간이다.",
      "key_levels": {
        "support": [
          59808.05,
          59712.8,
          59329.2,
          59069.7,
          58557.1,
          57758.6
        ],
        "resistance": [
          60067.9,
          60251.17,
          61322.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,322.00",
      "risk_scenario": "반대 시나리오는 가격이 전일 고점 $60,067.90과 EMA20 $60,251.17을 회복한 뒤 London/7일 고점 $61,322.00 위에서 수용되는 경우이다. 이 경우 현재 bearish setup은 실패로 간주되며, buy-side liquidity sweep이 아니라 bullish continuation으로 해석되어 추가 상방 확장 가능성이 열린다.",
      "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": 57758.6,
          "top": 58557.1,
          "quality": "candidate",
          "score": 0.698
        },
        "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": [
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bearish",
          "CHoCH_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "CHoCH_bearish",
            "level": 59712.8
          },
          {
            "type": "BOS_bearish",
            "level": 59329.2
          },
          {
            "type": "BOS_bearish",
            "level": 58160.0
          },
          {
            "type": "CHoCH_bullish",
            "level": 58850.0
          },
          {
            "type": "BOS_bearish",
            "level": 58450.7
          },
          {
            "type": "CHoCH_bullish",
            "level": 59069.7
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bearish",
          "CHoCH_bullish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "premium",
        "eq_level": 59808.05,
        "range_high": 61322.0,
        "range_low": 58294.1,
        "bull_score": 5.2,
        "bear_score": 9.7,
        "setup_bias": "bearish",
        "setup_score": 0.88,
        "setup_signals": [
          "bearish CHoCH below $59,712.80",
          "bearish BOS below $59,329.20",
          "bearish BOS below $58,160.00",
          "bearish BOS below $58,450.70"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 58.1,
        "deepest_retracement_pct": 218.7,
        "previous_day_high": 60067.9,
        "previous_day_low": 57758.6,
        "broken_prev_high": true,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": true,
            "high": 61322.0,
            "low": 59949.2
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.88,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.88,\n  \"setup_signals\": [\n    \"현재가 $59,988.70가 EQ $59,808.05 위의 premium zone에 위치하여 숏 셋업 우위\",\n    \"전일 고점 $60,067.90을 상향 돌파한 뒤 현재가가 다시 그 아래로 회귀하여 buy-side liquidity run 이후 약세 반응 가능\",\n    \"현재가 $59,988.70가 EMA20 $60,251.17 아래에 있어 단기 평균선 저항 구간에서 매도 압력 우세\",\n    \"확인된 약세 구조 신호: bearish CHoCH $59,712.80 및 bearish BOS $59,329.20, $58,160.00, $58,450.70\",\n    \"하방에는 후보 bullish OB $58,557.10~$57,758.60가 남아 있어 가격이 discount/demand 재방문을 시도할 가능성\"\n  ],\n  \"reasoning\": \"구조적으로는 최근 시퀀스에 bullish CHoCH $59,069.70이 포함되어 있으나, 아직 명확한 bullish BOS가 확인되지 않았고 이전 bearish BOS가 $59,329.20, $58,160.00, $58,450.70에서 다수 발생했기 때문에 confirmed structure_bias는 bearish로 판단한다. 셋업 관점에서는 현재가 $59,988.70가 EQ $59,808.05 위 premium에 있으며, 전일 고점 $60,067.90을 이미 돌파한 뒤 그 아래로 밀린 상태라 buy-side liquidity 확보 후 되돌림 숏 조건이 우세하다. 또한 가격은 EMA20 $60,251.17 아래에 있고, London 고점이자 7일 고점인 $61,322.00이 상단 유동성/무효화 기준으로 남아 있어 상방 추격보다는 저항 확인 후 하방 전개 가능성이 높다. 하방 목표는 우선 $59,712.80, $59,329.20, 이후 후보 bullish OB 상단 $58,557.10 및 하단 $57,758.60 구간이다.\",\n  \"key_levels\": {\n    \"support\": [\n      59808.05,\n      59712.8,\n      59329.2,\n      59069.7,\n      58557.1,\n      57758.6\n    ],\n    \"resistance\": [\n      60067.9,\n      60251.17,\n      61322.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,322.00\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 전일 고점 $60,067.90과 EMA20 $60,251.17을 회복한 뒤 London/7일 고점 $61,322.00 위에서 수용되는 경우이다. 이 경우 현재 bearish setup은 실패로 간주되며, buy-side liquidity sweep이 아니라 bullish continuation으로 해석되어 추가 상방 확장 가능성이 열린다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.74,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.78,
      "active_setups": [
        "가격 $59,988.70이 EMA20 $60,251.17 아래에 있어 단기 평균선 회복 실패 상태",
        "Wyckoff 기준 $60,202.60 SOW 및 $60,232.10 AR 저점 아래로 이탈한 Phase E 약세 구조",
        "ICT 기준 전일 고점 $60,067.90 상향 돌파 후 재하회하여 buy-side liquidity run 이후 약세 반응 조건",
        "Fibonacci 기준 0.786 되돌림 $60,160.68 아래에 위치하며 $60,408.90-$60,583.25 저항 클러스터 하단에 머무는 상태",
        "Derivatives 기준 OI 24시간 -4.3910% 감소와 롱 계정 비율 0.648로 롱 과밀/포지션 언와인딩 조건",
        "Harmonic 기준 bearish Gartley PRZ $60,242.64-$60,473.29가 상단 대기 중이나 아직 반응 확인 전"
      ],
      "setup_vs_structure": "실행 셋업은 구조적 판단과 정렬되어 있다. 구조적으로는 Wyckoff/ICT가 bearish regime을 제시하고, 실행 측면에서도 프리미엄 구간·EMA20 하회·피보나치 저항·파생 롱 과밀이 모두 매도 우위 조건으로 겹친다."
    },
    "signal_breakdown": {
      "bullish_count": 0,
      "bearish_count": 5,
      "neutral_count": 1
    },
    "key_levels": {
      "support": [
        59949.2,
        59844.0,
        59808.05,
        59712.8,
        59540.3,
        59329.2,
        59300.0,
        58200.0,
        58160.0,
        57758.6
      ],
      "resistance": [
        60067.9,
        60160.68,
        60202.6,
        60232.1,
        60251.17,
        60408.9,
        60491.06,
        60540.0,
        60583.25,
        61322.0
      ]
    },
    "confluences": [
      "Wyckoff와 ICT 모두 $61,322.00을 상단 유동성/UTAD 고점이자 구조적 무효화 기준으로 본다.",
      "Candlestick, Derivatives, ICT가 모두 EMA20 $60,251.17 아래 거래를 단기 약세 조건으로 지적한다.",
      "Wyckoff의 $60,202.60-$60,232.10 저항대와 Harmonic의 bearish Gartley PRZ 하단 $60,242.64, 그리고 EMA20 $60,251.17이 $60.20k-$60.25k 부근에 밀집한다.",
      "Fibonacci의 0.786 저항 $60,160.68과 Harmonic active Crab PRZ 상단 $60,195.18, Wyckoff SOW $60,202.60이 $60.16k-$60.20k 구간에서 단기 저항 클러스터를 형성한다.",
      "Candlestick/Derivatives의 7일 EQ $59,540.30, EMA120 $59,531.12, EMA240 $59,440.85가 $59.44k-$59.54k 중기 방어 구간으로 중첩된다.",
      "ICT의 $59,329.20 bearish BOS 레벨과 Derivatives의 하방 청산 구간 $59,300이 거의 동일한 구조적 하방 유동성 레벨로 겹친다.",
      "Wyckoff의 Phase E 저점 $59,949.20과 현재가 $59,988.70, Harmonic bearish Crab 중심 D $60,003.09가 모두 $60k 부근에서 현재 구조 위치를 확인한다."
    ],
    "conflicts": [
      "Candlestick, Fibonacci, Derivatives, Harmonic은 structure_bias를 중립으로 유지하지만, Wyckoff와 ICT는 bearish 구조를 명확히 제시한다. 따라서 전체 구조 판단은 다수결보다 고품질 구조 엔진인 Wyckoff/ICT에 더 큰 가중치를 둔다.",
      "Candlestick은 EMA120 $59,531.12 및 EMA240 $59,440.85 위에 있어 중기 구조의 완전한 하락 전환은 아직 확정하기 어렵다고 본다. 이는 Wyckoff의 분배 Phase E 해석과 강도 면에서 충돌한다.",
      "Harmonic은 bearish PRZ를 제시하지만 주요 Gartley $60,242.64-$60,473.29는 아직 반응 확인 전이므로 독립적인 구조 반전 근거로 사용하기 어렵다.",
      "Fibonacci는 스윙 저점 $59,844가 아직 명확히 붕괴되지 않았다고 보며 구조 중립을 유지한다. 반면 Wyckoff는 $60,232.10 AR 저점과 $60,202.60 SOW 하향 이탈을 구조적 약세로 해석한다."
    ],
    "executive_summary": "현재 BTC 15분 구조는 중립 박스권 내부라는 일부 해석이 남아 있으나, 고가중치 구조 엔진인 Wyckoff와 ICT 기준으로는 bearish regime이 우세하다. Wyckoff상 $61,322.00 UTAD 이후 $60,540.00 상단 재수용에 실패했고, $60,202.60 SOW 및 $60,232.10 AR 저점 아래에 위치해 분배 Phase E 진행 구간으로 진단된다. ICT도 전일 고점 $60,067.90 회수 후 재하회와 다수 bearish BOS 이력을 근거로 premium 구간의 약세 구조 조건을 확인한다. 주요 구조 저항은 $60,160.68-$60,251.17 및 $60,408.90-$60,583.25에 밀집해 있고, 하단 구조 기준은 $59,844.00, $59,540.30, $59,329.20, $57,758.60 순으로 관찰된다. 전체 bearish 구조 판단은 $60,540.00 회복 시 약화되고, $61,322.00 상향 재수용 시 무효화된다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.74,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.78,\n    \"active_setups\": [\n      \"가격 $59,988.70이 EMA20 $60,251.17 아래에 있어 단기 평균선 회복 실패 상태\",\n      \"Wyckoff 기준 $60,202.60 SOW 및 $60,232.10 AR 저점 아래로 이탈한 Phase E 약세 구조\",\n      \"ICT 기준 전일 고점 $60,067.90 상향 돌파 후 재하회하여 buy-side liquidity run 이후 약세 반응 조건\",\n      \"Fibonacci 기준 0.786 되돌림 $60,160.68 아래에 위치하며 $60,408.90-$60,583.25 저항 클러스터 하단에 머무는 상태\",\n      \"Derivatives 기준 OI 24시간 -4.3910% 감소와 롱 계정 비율 0.648로 롱 과밀/포지션 언와인딩 조건\",\n      \"Harmonic 기준 bearish Gartley PRZ $60,242.64-$60,473.29가 상단 대기 중이나 아직 반응 확인 전\"\n    ],\n    \"setup_vs_structure\": \"실행 셋업은 구조적 판단과 정렬되어 있다. 구조적으로는 Wyckoff/ICT가 bearish regime을 제시하고, 실행 측면에서도 프리미엄 구간·EMA20 하회·피보나치 저항·파생 롱 과밀이 모두 매도 우위 조건으로 겹친다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 0,\n    \"bearish_count\": 5,\n    \"neutral_count\": 1\n  },\n  \"key_levels\": {\n    \"support\": [\n      59949.2,\n      59844.0,\n      59808.05,\n      59712.8,\n      59540.3,\n      59329.2,\n      59300.0,\n      58200.0,\n      58160.0,\n      57758.6\n    ],\n    \"resistance\": [\n      60067.9,\n      60160.68,\n      60202.6,\n      60232.1,\n      60251.17,\n      60408.9,\n      60491.06,\n      60540.0,\n      60583.25,\n      61322.0\n    ]\n  },\n  \"confluences\": [\n    \"Wyckoff와 ICT 모두 $61,322.00을 상단 유동성/UTAD 고점이자 구조적 무효화 기준으로 본다.\",\n    \"Candlestick, Derivatives, ICT가 모두 EMA20 $60,251.17 아래 거래를 단기 약세 조건으로 지적한다.\",\n    \"Wyckoff의 $60,202.60-$60,232.10 저항대와 Harmonic의 bearish Gartley PRZ 하단 $60,242.64, 그리고 EMA20 $60,251.17이 $60.20k-$60.25k 부근에 밀집한다.\",\n    \"Fibonacci의 0.786 저항 $60,160.68과 Harmonic active Crab PRZ 상단 $60,195.18, Wyckoff SOW $60,202.60이 $60.16k-$60.20k 구간에서 단기 저항 클러스터를 형성한다.\",\n    \"Candlestick/Derivatives의 7일 EQ $59,540.30, EMA120 $59,531.12, EMA240 $59,440.85가 $59.44k-$59.54k 중기 방어 구간으로 중첩된다.\",\n    \"ICT의 $59,329.20 bearish BOS 레벨과 Derivatives의 하방 청산 구간 $59,300이 거의 동일한 구조적 하방 유동성 레벨로 겹친다.\",\n    \"Wyckoff의 Phase E 저점 $59,949.20과 현재가 $59,988.70, Harmonic bearish Crab 중심 D $60,003.09가 모두 $60k 부근에서 현재 구조 위치를 확인한다.\"\n  ],\n  \"conflicts\": [\n    \"Candlestick, Fibonacci, Derivatives, Harmonic은 structure_bias를 중립으로 유지하지만, Wyckoff와 ICT는 bearish 구조를 명확히 제시한다. 따라서 전체 구조 판단은 다수결보다 고품질 구조 엔진인 Wyckoff/ICT에 더 큰 가중치를 둔다.\",\n    \"Candlestick은 EMA120 $59,531.12 및 EMA240 $59,440.85 위에 있어 중기 구조의 완전한 하락 전환은 아직 확정하기 어렵다고 본다. 이는 Wyckoff의 분배 Phase E 해석과 강도 면에서 충돌한다.\",\n    \"Harmonic은 bearish PRZ를 제시하지만 주요 Gartley $60,242.64-$60,473.29는 아직 반응 확인 전이므로 독립적인 구조 반전 근거로 사용하기 어렵다.\",\n    \"Fibonacci는 스윙 저점 $59,844가 아직 명확히 붕괴되지 않았다고 보며 구조 중립을 유지한다. 반면 Wyckoff는 $60,232.10 AR 저점과 $60,202.60 SOW 하향 이탈을 구조적 약세로 해석한다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — $60,540.00 BC, $60,232.10 AR, $58,200.00 SOW_IN_PHASE_B, $61,322.00 UTAD, $60,202.60 SOW, $59,949.20 Phase E로 이어지는 분배 시퀀스를 제시했고, 현재가가 메인 레인지 하단 $60,232.10 및 EQ $60,386.05 아래에 위치해 구조 진단의 구체성과 단계성이 가장 높다.\",\n  \"invalidation_level\": \"$61,322.00 상향 재수용 및 돌파. 그 전 단계에서는 $60,540.00 회복이 단기 bearish 구조 약화 신호다.\",\n  \"executive_summary\": \"현재 BTC 15분 구조는 중립 박스권 내부라는 일부 해석이 남아 있으나, 고가중치 구조 엔진인 Wyckoff와 ICT 기준으로는 bearish regime이 우세하다. Wyckoff상 $61,322.00 UTAD 이후 $60,540.00 상단 재수용에 실패했고, $60,202.60 SOW 및 $60,232.10 AR 저점 아래에 위치해 분배 Phase E 진행 구간으로 진단된다. ICT도 전일 고점 $60,067.90 회수 후 재하회와 다수 bearish BOS 이력을 근거로 premium 구간의 약세 구조 조건을 확인한다. 주요 구조 저항은 $60,160.68-$60,251.17 및 $60,408.90-$60,583.25에 밀집해 있고, 하단 구조 기준은 $59,844.00, $59,540.30, $59,329.20, $57,758.60 순으로 관찰된다. 전체 bearish 구조 판단은 $60,540.00 회복 시 약화되고, $61,322.00 상향 재수용 시 무효화된다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.74,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.65,
    "waypoints": [
      {
        "seq": 1,
        "price": 60160.68,
        "type": "resistance_test",
        "source": "Fibonacci(0.786 $60,160.68), Wyckoff(SOW $60,202.60/AR $60,232.10), Candlestick·ICT·Derivatives(EMA20 $60,251.17), Harmonic(Crab PRZ 상단 $60,195.18)",
        "description": "현재가 $59,988.70에서 이탈한 Fibonacci 0.786 되돌림 $60,160.68을 되돌아 재시험하는 약한 반등. Wyckoff SOW $60,202.60·AR 저점 $60,232.10과 EMA20 $60,251.17이 바로 위에 저항 클러스터를 형성하므로, 이 구간을 재수용하지 못하고 거부(EMA20 회복 실패)되면 분배 Phase E 약세가 재확인되는 숏 진입 지점이다. Wyckoff·ICT 모두 즉시 추격보다 이 저항 재시험에서의 거부 확인을 우선한다.",
        "est_hours": 2.0,
        "turning_zone": [
          60160.68,
          60251.17
        ],
        "likely_wick": 60232.1,
        "rejection_confirm": 60060.73,
        "invalid_overshoot": 60408.9,
        "calibration_reasoning": "Wyckoff·EMA 저항 클러스터(SOW 60202.6·AR 60232.1·EMA20 60251.17)가 존 상단을 60251.17로 고정(폭 ~0.39 ATR). '약한 반등→EMA20 회복 실패' 시나리오상 wick는 EMA20을 되찾지 못하고 AR 60232.1에서 거부되므로 likely_wick를 그 지점으로. Gartley PRZ 60357.96은 PRE_CONFIRMATION이라 존을 확장하지 않고, fib 컨플루언스 60060.73 하향 이탈로 거부 확정, 골든비율 0.618/Chairman 60408.90 돌파 시 무효화."
      },
      {
        "seq": 2,
        "price": 59844.0,
        "type": "swing_low",
        "source": "Fibonacci(스윙 저점 $59,844), Harmonic(C 지점 $59,844.50)",
        "description": "Fibonacci 스윙 저점 $59,844.00 재시험. 이 저점이 하향 이탈되면 Fibonacci 기준 그동안 유보됐던 확정 bearish BOS가 성립하며 중립 구조가 약세로 전환된다. Harmonic C 지점 $59,844.50과도 일치하는 리테스트 실패 후 첫 번째 구조적 하방 목표.",
        "est_hours": 5.0,
        "turning_zone": [
          59775.0,
          59844.0
        ],
        "likely_wick": 59800.0,
        "rejection_confirm": 59949.2,
        "invalid_overshoot": 59712.8,
        "calibration_reasoning": "Fib 스윙 저점·Harmonic C(59844.5)·Chairman 지지 59844가 base. 바로 아래 Chairman 소지지 59808.05를 지나 라운드 넘버 59800 마그넷까지 스윕하는 폭 ~0.30 ATR 존(WP3 59712.8과 겹치지 않도록 좁게 유지). likely_wick는 59800 라운드 넘버로 편향. Chairman 59949.2 회복 시 반등 확정, 반대로 WP3 지지 59712.8 이탈 시 확정 bearish BOS 연장으로 국지적 반전 무효."
      },
      {
        "seq": 3,
        "price": 59712.8,
        "type": "support_test",
        "source": "ICT(1차 하방 목표 $59,712.80), Harmonic(A 지점 $59,762.60)",
        "description": "ICT 1차 하방 목표 $59,712.80 지지 시험. Harmonic A 지점 $59,762.60과 근접하며, $59,844 붕괴 이후 프리미엄→디스카운트 이동의 다음 유동성 구간.",
        "est_hours": 9.0,
        "turning_zone": [
          59620.0,
          59712.8
        ],
        "likely_wick": 59680.0,
        "rejection_confirm": 59808.05,
        "invalid_overshoot": 59540.3,
        "calibration_reasoning": "ICT 1차 목표 59712.8 아래로 WP4의 59540.3까지 깔끔한 지지가 없어 존 폭을 ATR로 산정(~0.40 ATR). base 바로 아래 라운드 넘버 59700 마그넷을 반영해 likely_wick를 얕은 스윕(59680)으로 편향. Chairman 59808.05 회복 시 지지 반등 확정, 존 하단 붕괴 후 WP4 방어대 59540.3 도달 시 무효화."
      },
      {
        "seq": 4,
        "price": 59540.3,
        "type": "support_test",
        "source": "Candlestick·Derivatives(7일 EQ $59,540.30), EMA120 $59,531.12, EMA240 $59,440.85",
        "description": "7일 레인지 EQ $59,540.30과 EMA120 $59,531.12·EMA240 $59,440.85가 중첩된 중기 방어 구간 시험. Chairman이 $59.44k-$59.54k 중기 방어대로 지목한 핵심 지지로, 여기서 반응 없이 이탈하면 하방 가속.",
        "est_hours": 14.0,
        "turning_zone": [
          59440.85,
          59540.3
        ],
        "likely_wick": 59490.0,
        "rejection_confirm": 59712.8,
        "invalid_overshoot": 59329.2,
        "calibration_reasoning": "Chairman 지정 중기 방어대 $59.44k-$59.54k와 정확히 일치: EQ 59540.30·EMA120 59531.12·EMA240 59440.85가 존(폭 ~0.43 ATR). 밴드 내 라운드 넘버 59500을 하향 스윕(59490)하는 것이 가장 유력한 wick. ICT 59712.8 회복 시 방어 성공 확정, $59.44k 바닥(EMA240) 이탈 시 WP5/$59,300 청산 클러스터로 무효화."
      },
      {
        "seq": 5,
        "price": 59329.2,
        "type": "liquidity_sweep",
        "source": "ICT(bearish BOS $59,329.20), Derivatives(하방 청산 $59,300), Harmonic($59,299.03)",
        "description": "ICT bearish BOS 레벨 $59,329.20 및 Derivatives 하방 청산 구간 $59,300과 겹치는 확장 목표. 롱 과밀(롱 계정 비율 0.648, crowding 1.000)·OI 24h -4.39% 언와인딩이 진행되면 유동성 스윕이 발생할 수 있는 24시간 약세 연장 지점.",
        "est_hours": 20.0,
        "turning_zone": [
          59165.0,
          59329.2
        ],
        "likely_wick": 59280.0,
        "rejection_confirm": 59400.0,
        "invalid_overshoot": 59100.0,
        "calibration_reasoning": "터미널 웨이포인트라 존을 ~0.71 ATR로 확장. 이 liquidity_sweep는 명백한 하방(약세 연장·하방 청산 $59,300)이므로 규칙 기본 방향과 달리 존을 base 아래로 확장해 Chairman/Derivatives 청산 클러스터 59300(라운드 넘버)을 포함. 아래는 58200까지 지지 공백이라 하단은 레벨이 아닌 ATR로 산정. 롱 과밀(비율 0.648)·OI -4.39% 언와인딩 캐스케이드가 59300 하향 스윕(likely_wick 59280) 유발 가능. 라운드 59400 회복 시 스윕 반전 확정, 59100 하향 수용 시 58200 공백으로의 하락 지속으로 무효화."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 60160.68,
        "expected_low": 59949.2,
        "high_first": true
      },
      "8h": {
        "expected_high": 60160.68,
        "expected_low": 59712.8,
        "high_first": true
      },
      "24h": {
        "expected_high": 60232.1,
        "expected_low": 59329.2,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 60251.17,
        "description": "EMA20 $60,251.17을 종가 기준 재수용하면 '단기 평균선 회복 실패'라는 핵심 약세 셋업 조건이 무너지며 $60,408.90-$60,540.00 저항으로의 상방 시도가 열린다. 리테스트 거부 시나리오의 첫 경고선."
      },
      "bearish": {
        "price": 59844.0,
        "description": "Fibonacci 스윙 저점 $59,844.00을 하향 이탈하면 확정 bearish BOS가 성립하고, $59,712.80→$59,540.30→$59,329.20을 향한 하방 가속이 확인된다."
      }
    },
    "scenario_invalidation": 60540.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.65,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 60160.68,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci(0.786 $60,160.68), Wyckoff(SOW $60,202.60/AR $60,232.10), Candlestick·ICT·Derivatives(EMA20 $60,251.17), Harmonic(Crab PRZ 상단 $60,195.18)\",\n      \"description\": \"현재가 $59,988.70에서 이탈한 Fibonacci 0.786 되돌림 $60,160.68을 되돌아 재시험하는 약한 반등. Wyckoff SOW $60,202.60·AR 저점 $60,232.10과 EMA20 $60,251.17이 바로 위에 저항 클러스터를 형성하므로, 이 구간을 재수용하지 못하고 거부(EMA20 회복 실패)되면 분배 Phase E 약세가 재확인되는 숏 진입 지점이다. Wyckoff·ICT 모두 즉시 추격보다 이 저항 재시험에서의 거부 확인을 우선한다.\",\n      \"est_hours\": 2.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 59844.00,\n      \"type\": \"swing_low\",\n      \"source\": \"Fibonacci(스윙 저점 $59,844), Harmonic(C 지점 $59,844.50)\",\n      \"description\": \"Fibonacci 스윙 저점 $59,844.00 재시험. 이 저점이 하향 이탈되면 Fibonacci 기준 그동안 유보됐던 확정 bearish BOS가 성립하며 중립 구조가 약세로 전환된다. Harmonic C 지점 $59,844.50과도 일치하는 리테스트 실패 후 첫 번째 구조적 하방 목표.\",\n      \"est_hours\": 5.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 59712.80,\n      \"type\": \"support_test\",\n      \"source\": \"ICT(1차 하방 목표 $59,712.80), Harmonic(A 지점 $59,762.60)\",\n      \"description\": \"ICT 1차 하방 목표 $59,712.80 지지 시험. Harmonic A 지점 $59,762.60과 근접하며, $59,844 붕괴 이후 프리미엄→디스카운트 이동의 다음 유동성 구간.\",\n      \"est_hours\": 9.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 59540.30,\n      \"type\": \"support_test\",\n      \"source\": \"Candlestick·Derivatives(7일 EQ $59,540.30), EMA120 $59,531.12, EMA240 $59,440.85\",\n      \"description\": \"7일 레인지 EQ $59,540.30과 EMA120 $59,531.12·EMA240 $59,440.85가 중첩된 중기 방어 구간 시험. Chairman이 $59.44k-$59.54k 중기 방어대로 지목한 핵심 지지로, 여기서 반응 없이 이탈하면 하방 가속.\",\n      \"est_hours\": 14.0\n    },\n    {\n      \"seq\": 5,\n      \"price\": 59329.20,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"ICT(bearish BOS $59,329.20), Derivatives(하방 청산 $59,300), Harmonic($59,299.03)\",\n      \"description\": \"ICT bearish BOS 레벨 $59,329.20 및 Derivatives 하방 청산 구간 $59,300과 겹치는 확장 목표. 롱 과밀(롱 계정 비율 0.648, crowding 1.000)·OI 24h -4.39% 언와인딩이 진행되면 유동성 스윕이 발생할 수 있는 24시간 약세 연장 지점.\",\n      \"est_hours\": 20.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 60160.68, \"expected_low\": 59949.20, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 60160.68, \"expected_low\": 59712.80, \"high_first\": true},\n    \"24h\": {\"expected_high\": 60232.10, \"expected_low\": 59329.20, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 60251.17, \"description\": \"EMA20 $60,251.17을 종가 기준 재수용하면 '단기 평균선 회복 실패'라는 핵심 약세 셋업 조건이 무너지며 $60,408.90-$60,540.00 저항으로의 상방 시도가 열린다. 리테스트 거부 시나리오의 첫 경고선.\"},\n    \"bearish\": {\"price\": 59844.00, \"description\": \"Fibonacci 스윙 저점 $59,844.00을 하향 이탈하면 확정 bearish BOS가 성립하고, $59,712.80→$59,540.30→$59,329.20을 향한 하방 가속이 확인된다.\"}\n  },\n  \"scenario_invalidation\": 60540.00\n}\n```"
  },
  "tp_calibration": {
    "executive_summary": "5개 웨이포인트 모두 Chairman 키레벨과 EMA/EQ 클러스터를 1차 앵커로, fib 컨플루언스·ATR($231.75)·라운드 넘버 마그넷을 2차 앵커로 사용해 turning_zone을 산정했습니다. Gartley D/PRZ 60357.96은 PRE_CONFIRMATION 상태이므로 어떤 웨이포인트도 이동시키지 않고 참고 레벨로만 취급했으며, 조건부 TP 래더도 존 산정에 반영하지 않았습니다. WP1~WP4는 0.39~0.43 ATR, 터미널 WP5는 0.71 ATR로 폭을 확장했습니다. WP5는 liquidity_sweep이지만 명백한 하방 스윕(약세 연장·$59,300 하방 청산 클러스터)이므로 규칙의 기본 방향(상방)과 달리 존을 base 아래로 확장했습니다.",
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 60160.68,
        "turning_zone": [
          60160.68,
          60251.17
        ],
        "likely_wick": 60232.1,
        "rejection_confirm": 60060.73,
        "invalid_overshoot": 60408.9,
        "calibration_reasoning": "Wyckoff·EMA 저항 클러스터(SOW 60202.6·AR 60232.1·EMA20 60251.17)가 존 상단을 60251.17로 고정(폭 ~0.39 ATR). '약한 반등→EMA20 회복 실패' 시나리오상 wick는 EMA20을 되찾지 못하고 AR 60232.1에서 거부되므로 likely_wick를 그 지점으로. Gartley PRZ 60357.96은 PRE_CONFIRMATION이라 존을 확장하지 않고, fib 컨플루언스 60060.73 하향 이탈로 거부 확정, 골든비율 0.618/Chairman 60408.90 돌파 시 무효화."
      },
      {
        "seq": 2,
        "base_target": 59844.0,
        "turning_zone": [
          59775.0,
          59844.0
        ],
        "likely_wick": 59800.0,
        "rejection_confirm": 59949.2,
        "invalid_overshoot": 59712.8,
        "calibration_reasoning": "Fib 스윙 저점·Harmonic C(59844.5)·Chairman 지지 59844가 base. 바로 아래 Chairman 소지지 59808.05를 지나 라운드 넘버 59800 마그넷까지 스윕하는 폭 ~0.30 ATR 존(WP3 59712.8과 겹치지 않도록 좁게 유지). likely_wick는 59800 라운드 넘버로 편향. Chairman 59949.2 회복 시 반등 확정, 반대로 WP3 지지 59712.8 이탈 시 확정 bearish BOS 연장으로 국지적 반전 무효."
      },
      {
        "seq": 3,
        "base_target": 59712.8,
        "turning_zone": [
          59620.0,
          59712.8
        ],
        "likely_wick": 59680.0,
        "rejection_confirm": 59808.05,
        "invalid_overshoot": 59540.3,
        "calibration_reasoning": "ICT 1차 목표 59712.8 아래로 WP4의 59540.3까지 깔끔한 지지가 없어 존 폭을 ATR로 산정(~0.40 ATR). base 바로 아래 라운드 넘버 59700 마그넷을 반영해 likely_wick를 얕은 스윕(59680)으로 편향. Chairman 59808.05 회복 시 지지 반등 확정, 존 하단 붕괴 후 WP4 방어대 59540.3 도달 시 무효화."
      },
      {
        "seq": 4,
        "base_target": 59540.3,
        "turning_zone": [
          59440.85,
          59540.3
        ],
        "likely_wick": 59490.0,
        "rejection_confirm": 59712.8,
        "invalid_overshoot": 59329.2,
        "calibration_reasoning": "Chairman 지정 중기 방어대 $59.44k-$59.54k와 정확히 일치: EQ 59540.30·EMA120 59531.12·EMA240 59440.85가 존(폭 ~0.43 ATR). 밴드 내 라운드 넘버 59500을 하향 스윕(59490)하는 것이 가장 유력한 wick. ICT 59712.8 회복 시 방어 성공 확정, $59.44k 바닥(EMA240) 이탈 시 WP5/$59,300 청산 클러스터로 무효화."
      },
      {
        "seq": 5,
        "base_target": 59329.2,
        "turning_zone": [
          59165.0,
          59329.2
        ],
        "likely_wick": 59280.0,
        "rejection_confirm": 59400.0,
        "invalid_overshoot": 59100.0,
        "calibration_reasoning": "터미널 웨이포인트라 존을 ~0.71 ATR로 확장. 이 liquidity_sweep는 명백한 하방(약세 연장·하방 청산 $59,300)이므로 규칙 기본 방향과 달리 존을 base 아래로 확장해 Chairman/Derivatives 청산 클러스터 59300(라운드 넘버)을 포함. 아래는 58200까지 지지 공백이라 하단은 레벨이 아닌 ATR로 산정. 롱 과밀(비율 0.648)·OI -4.39% 언와인딩 캐스케이드가 59300 하향 스윕(likely_wick 59280) 유발 가능. 라운드 59400 회복 시 스윕 반전 확정, 59100 하향 수용 시 58200 공백으로의 하락 지속으로 무효화."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"executive_summary\": \"5개 웨이포인트 모두 Chairman 키레벨과 EMA/EQ 클러스터를 1차 앵커로, fib 컨플루언스·ATR($231.75)·라운드 넘버 마그넷을 2차 앵커로 사용해 turning_zone을 산정했습니다. Gartley D/PRZ 60357.96은 PRE_CONFIRMATION 상태이므로 어떤 웨이포인트도 이동시키지 않고 참고 레벨로만 취급했으며, 조건부 TP 래더도 존 산정에 반영하지 않았습니다. WP1~WP4는 0.39~0.43 ATR, 터미널 WP5는 0.71 ATR로 폭을 확장했습니다. WP5는 liquidity_sweep이지만 명백한 하방 스윕(약세 연장·$59,300 하방 청산 클러스터)이므로 규칙의 기본 방향(상방)과 달리 존을 base 아래로 확장했습니다.\",\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 60160.68,\n      \"turning_zone\": [60160.68, 60251.17],\n      \"likely_wick\": 60232.10,\n      \"rejection_confirm\": 60060.73,\n      \"invalid_overshoot\": 60408.90,\n      \"calibration_reasoning\": \"Wyckoff·EMA 저항 클러스터(SOW 60202.6·AR 60232.1·EMA20 60251.17)가 존 상단을 60251.17로 고정(폭 ~0.39 ATR). '약한 반등→EMA20 회복 실패' 시나리오상 wick는 EMA20을 되찾지 못하고 AR 60232.1에서 거부되므로 likely_wick를 그 지점으로. Gartley PRZ 60357.96은 PRE_CONFIRMATION이라 존을 확장하지 않고, fib 컨플루언스 60060.73 하향 이탈로 거부 확정, 골든비율 0.618/Chairman 60408.90 돌파 시 무효화.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 59844.00,\n      \"turning_zone\": [59775.00, 59844.00],\n      \"likely_wick\": 59800.00,\n      \"rejection_confirm\": 59949.20,\n      \"invalid_overshoot\": 59712.80,\n      \"calibration_reasoning\": \"Fib 스윙 저점·Harmonic C(59844.5)·Chairman 지지 59844가 base. 바로 아래 Chairman 소지지 59808.05를 지나 라운드 넘버 59800 마그넷까지 스윕하는 폭 ~0.30 ATR 존(WP3 59712.8과 겹치지 않도록 좁게 유지). likely_wick는 59800 라운드 넘버로 편향. Chairman 59949.2 회복 시 반등 확정, 반대로 WP3 지지 59712.8 이탈 시 확정 bearish BOS 연장으로 국지적 반전 무효.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 59712.80,\n      \"turning_zone\": [59620.00, 59712.80],\n      \"likely_wick\": 59680.00,\n      \"rejection_confirm\": 59808.05,\n      \"invalid_overshoot\": 59540.30,\n      \"calibration_reasoning\": \"ICT 1차 목표 59712.8 아래로 WP4의 59540.3까지 깔끔한 지지가 없어 존 폭을 ATR로 산정(~0.40 ATR). base 바로 아래 라운드 넘버 59700 마그넷을 반영해 likely_wick를 얕은 스윕(59680)으로 편향. Chairman 59808.05 회복 시 지지 반등 확정, 존 하단 붕괴 후 WP4 방어대 59540.3 도달 시 무효화.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 59540.30,\n      \"turning_zone\": [59440.85, 59540.30],\n      \"likely_wick\": 59490.00,\n      \"rejection_confirm\": 59712.80,\n      \"invalid_overshoot\": 59329.20,\n      \"calibration_reasoning\": \"Chairman 지정 중기 방어대 $59.44k-$59.54k와 정확히 일치: EQ 59540.30·EMA120 59531.12·EMA240 59440.85가 존(폭 ~0.43 ATR). 밴드 내 라운드 넘버 59500을 하향 스윕(59490)하는 것이 가장 유력한 wick. ICT 59712.8 회복 시 방어 성공 확정, $59.44k 바닥(EMA240) 이탈 시 WP5/$59,300 청산 클러스터로 무효화.\"\n    },\n    {\n      \"seq\": 5,\n      \"base_target\": 59329.20,\n      \"turning_zone\": [59165.00, 59329.20],\n      \"likely_wick\": 59280.00,\n      \"rejection_confirm\": 59400.00,\n      \"invalid_overshoot\": 59100.00,\n      \"calibration_reasoning\": \"터미널 웨이포인트라 존을 ~0.71 ATR로 확장. 이 liquidity_sweep는 명백한 하방(약세 연장·하방 청산 $59,300)이므로 규칙 기본 방향과 달리 존을 base 아래로 확장해 Chairman/Derivatives 청산 클러스터 59300(라운드 넘버)을 포함. 아래는 58200까지 지지 공백이라 하단은 레벨이 아닌 ATR로 산정. 롱 과밀(비율 0.648)·OI -4.39% 언와인딩 캐스케이드가 59300 하향 스윕(likely_wick 59280) 유발 가능. 라운드 59400 회복 시 스윕 반전 확정, 59100 하향 수용 시 58200 공백으로의 하락 지속으로 무효화.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 47.4,
      "chairman": 77.9,
      "operating_path": 404.0,
      "tp_calibrator": 437.6
    },
    "agents": {},
    "total_s": 967.0
  }
}