BTC/USDT 15M Council Report

Signal: BEARISH (72%)  |  Price: $59,451.40  |  2026-06-29 05:00 KST  |  300 candles

Council: 2 bullish, 2 neutral, 2 bearish  |  Support: $59,451 / $59,367 / $59,246  |  Resistance: $59,606 / $59,651 / $59,679

result.json   raw.txt   report.md


BTC Chart

Executive Summary

BTC 15분 구조는 현재 bullish 반전 구조가 아니라 Wyckoff 기준 Phase D 분배 구조로 진단되며, UTAD $60,543.30 이후 LPSY $59,678.80가 형성된 뒤 가격이 그 아래에 머물고 있다. ICT의 최근 확정 구조도 $60,037.00 하향 bearish BOS이며, Fibonacci·Candlestick·Derivatives 모두 EMA20 $59,650.91 및 EMA120 약 $60,026 하방 체류를 근거로 구조적 약세를 지지한다. 다만 현재가 $59,451.40는 Harmonic 활성 bullish butterfly PRZ $59,451.32-$59,910.53 하단과 거의 일치하고, Fibonacci ext_1.0 $59,366.60 인근 지지 테스트가 진행 중이어서 단기 실행 셋업은 구조와 달리 bullish 반응 후보가 강하다. 핵심 구조 저항은 $59,650-$59,679, $59,884-$60,037, $60,543-$60,558이며, 구조적 bearish 해석은 $60,734.00 회복 시 무효화된다.

Confluences

Conflicts


Agent Matrix

AgentSignalConfidenceSupportResistance
Wyckoff ExpertBEARISH76%$58,388 / $58,288$59,561 / $59,679
ICT TraderBULLISH62%$59,225 / $58,944$59,884 / $60,037
Derivatives TraderBEARISH68%$59,000 / $58,900$59,651 / $60,010
Candlestick ReaderNEUTRAL48%$59,451 / $59,285$59,606 / $59,651
Fibonacci AnalystNEUTRAL58%$59,367 / $59,076$59,619 / $59,775
Harmonic SpecialistBULLISH58%$59,451 / $59,242$59,911 / $60,016

Agent Details

Wyckoff Expert — BEARISH (76%)

Support: $58,388 / $58,288 | Resistance: $59,561 / $59,679 / $59,820 | Horizon: 단기

현재 15분 구조는 regime=DIS, regime_fitness 0.963, dis_score 96.2로 분배 구조가 우세하며, 메인 range는 BC $60,734.00와 AR $58,388.00로 고정된다. 이벤트 체인은 BC → AR → ST $60,167.30 → SOW_IN_PHASE_B $59,819.80 → UT $60,303.20 → UTAD $60,543.30 → LPSY $59,678.80이며, 현재 major_phase는 Phase D로 해석된다. 현재가 $59,451.40는 LPSY $59,678.80와 범위 중간값 약 $59,561.00 아래에 있어 구조적으론 약세이나, 이미 EQ 아래에 있으므로 신규 추격보다는 $59,561~$59,679 재테스트에서 거부가 유지되는지가 중요하다. $59,678.80 회복 실패 시 다음 Wyckoff 테스트는 AR 저점 $58,388.00 및 7일 저점 $58,288.00 유동성 확인 쪽으로 기운다.
ICT Trader — BULLISH (62%)

Support: $59,225 / $58,944 / $58,616 | Resistance: $59,884 / $60,037 / $60,314 | Horizon: short term

확정 구조 기준으로는 가장 최근 이벤트가 $60,037.00 하향 bearish BOS이므로 structure_bias는 bearish로 본다. 그러나 현재가는 $59,451.40로 EQ $59,883.95 아래 discount 영역에 있으며, $58,288.00-$58,944.00 bullish OB 후보가 아직 활성 상태라 pre-confirmation 관점의 setup_bias는 bullish이다. 이전일 저가 $59,714.80가 이미 깨졌고 현재가가 그 아래에 머물러 있어 단기적으로는 약세 구조가 유지되지만, 기관 관점에서는 discount 내 sell-side 유동성 처리 후 $60,037.00, $60,314.30, $60,557.80 방향으로 되돌림을 노릴 수 있는 구간이다. 다만 활성 FVG가 없고 해당 OB도 confirmed가 아닌 candidate이므로 신뢰도는 중간 수준으로 제한한다.
Derivatives Trader — BEARISH (68%)

Support: $59,000 / $58,900 / $58,288 | Resistance: $59,651 / $60,010 / $60,026 | Horizon: short term, 향후 4-8시간

구조적으로 BTC는 현재 $59,451.40에서 EMA20 $59,650.91, EMA120 $60,025.82, EMA240 $60,010.32를 모두 하회하고 있어 단기 구조는 약세로 판단한다. 파생 포지셔닝은 롱 계정 비율이 0.687까지 올라가며 롱 과밀이 극단적이고, 동시에 CVD가 -2230.7160 감소해 가격 방어 구간에서 실제 매수 체결 강도가 약하다. OI도 24시간 -1.4070% 감소해 상승을 위한 신규 레버리지 유입이 아니라 포지션 축소 국면에 가깝고, aggregate_score 0.323 및 bear_signals 3개가 하방 우위를 지지한다. 단기적으로 $59,000과 $58,900의 하방 청산 유동성이 먼저 테스트될 가능성이 높으며, 해당 구간 이탈 시 7일 저점 $58,288까지 열릴 수 있다.
Candlestick Reader — NEUTRAL (48%)

Support: $59,451 / $59,285 / $58,288 | Resistance: $59,606 / $59,651 / $60,010 | Horizon: short term

15분봉 기준 현재 BTC는 $59,451.40으로 EMA20 $59,650.91, EMA120 $60,025.82, EMA240 $60,010.32 모두 아래에 있어 확인된 구조는 아직 약세로 보는 것이 타당합니다. 다만 7일 고점 $60,924.70과 저점 $58,288.00의 중간값인 EQ $59,606.35 아래 할인 구간에서 high-volume bullish harami가 quality 0.760으로 포착되어 단기 반등 셋업은 존재합니다. 최근 5개 패턴은 bearish_engulfing 2개, bullish_harami 2개, doji 1개로 충돌하며, bull_score 1.30 대비 bear_score 1.50이 근소하게 우세해 방향성 확정보다는 중립 판단이 적절합니다. $59,650.91 이상 회복 후 $60,010~$60,026 EMA 클러스터를 돌파해야 bullish setup이 구조 전환으로 이어질 수 있습니다.
Fibonacci Analyst — NEUTRAL (58%)

Support: $59,367 / $59,076 / $58,924 | Resistance: $59,619 / $59,775 / $59,901 | Horizon: short term

확정 구조는 하락 스윙 $60,436에서 $59,367로 진행된 상태이며, 현재가 $59,451.40은 EMA20 $59,650.91 및 EMA120 $60,025.82 아래에 있어 structure_bias는 bearish로 판단한다. 다만 가격은 ext_1.0 $59,366.60 지지 바로 위에서 fib_reaction_state가 testing이고, 반응 확률 0.65가 제시되어 단기 setup_bias는 반등 우위로 본다. 상승 반등 시 1차 저항은 ret_0.236 $59,618.93, 이후 ret_0.382 $59,775.03이며, 핵심 골든비율 0.618은 $60,027.37로 EMA120 $60,025.82와 거의 겹쳐 강한 저항 confluence를 만든다. 반대로 $59,366.60을 명확히 이탈하면 ext_1.272 $59,075.78, ext_1.414 $58,923.95, ext_1.618 $58,705.83까지 하락 확장 가능성이 커진다.
Harmonic Specialist — BULLISH (58%)

Support: $59,451 / $59,242 / $59,703 | Resistance: $59,911 / $60,016 / $60,016 | Horizon: short term

하모닉 기준으로는 bullish 쪽 반응 구간이 우세하지만, 확정 BOS/CHoCH 또는 상위 구조 수용 데이터가 없으므로 structure_bias는 neutral로 둔다. 현재가 $59,451.40은 확인된 bullish butterfly의 활성 PRZ $59,451.32-$59,910.53 하단에 정확히 위치하며, 해당 패턴은 reaction_score 1.0과 directional_vote_weight 0.58로 사후 반응이 확인된 중간 강도 근거다. 추가로 $59,703.20-$60,039.05의 strict high bullish bat, $59,766.59-$60,009.11의 strict high bullish gartley, $59,792.38-$60,098.72의 strict high butterfly가 모두 ABCD, BC_EXT, XAD 3중 Fib confluence를 갖고 있어 $59.45k-$60.10k는 강한 반등 후보 PRZ다. 다만 하모닉은 단독 경로 엔진이 아니므로 이 신호는 구조 전환 확정이 아니라 PRZ 방어 기반의 bullish setup이며, $60,015-$60,154 회복 전까지는 공격적 추격보다 반응 확인이 필요하다.

Operating Path — complex (60%)

#PriceTypeSourceEst. HoursDescription
1$59,725resistance_testFibonacci(strict fib confluence $59,725.38 score 1.0, ret_0.236 $59,618.93), Wyckoff(LPSY $59,678.80 재테스트), Candlestick/Derivatives(EMA20 $59,650.91 저항), Harmonic(확인된 PRZ 반등)2.5실행 셋업이 bullish(강도 0.63)로 구조와 분리되어 셋업-우선 규칙상 첫 구간은 반등이다. 현재가가 확인된 bullish butterfly PRZ 하단 $59,451.32 및 Fib ext_1.0 $59,366.60 지지에서 방어된 직후라, EMA20 $59,650.91·Wyckoff LPSY $59,678.80 저항 위의 strict fib confluence $59,725.38(score 1.0)까지 LPSY 재테스트성 반등이 우세하다. EMA20/LPSY 상단 매수 stop을 흡수한 뒤 Phase D 분배 구조 특유의 거부가 예상되는 자리다. 단, 파생(CVD -2230·롱 과밀)이 약세라 하모닉 TP 사다리($60,015+)까지 확장은 제한된다.
2$59,246support_testFibonacci(strict fib confluence $59,245.87 score 0.85, ext_1.0 $59,366.60), ICT(지지 $59,224.60)7.0LPSY 클러스터에서 거부되면 bearish 구조(분배·$60,037 하향 BOS·EMA 하방 체류)가 재개된다. 지지 $59,451.32와 Fib ext_1.0 $59,366.60을 차례로 이탈하며 strict fib confluence $59,245.87(score 0.85)을 테스트한다. ICT 지지 $59,224.60이 바로 아래 겹쳐 1차 markdown 목표이자 단기 반응 가능 구간이다.
3$58,827swing_lowFibonacci(strict fib confluence $58,827.35 score 0.85, ext_1.272 $59,075.78, ext_1.414 $58,923.95), Derivatives(청산 유동성 $59,000/$58,900), ICT(bull OB 상단 $58,944)16.0Derivatives 롱 과밀 0.687·CVD -2230·OI 감소가 하방을 지지하며 $59,000·$58,900 청산 유동성이 우선 테스트된다. Fib ext_1.272 $59,075.78, ext_1.414 $58,923.95(=ICT bull OB 상단 $58,944·청산 $58,900 클러스터)를 이탈하며 strict fib confluence $58,827.35(score 0.85)까지 청산 유동성을 쓸어내리는 swing low를 형성한다. 추가 이탈 시 Wyckoff AR $58,388·7일 저점 $58,288이 다음 목표다.

Period Extremes

HorizonExpected LowExpected HighSequence
4h$59,561$59,725High first
8h$59,225$59,725High first
24h$58,827$59,725High first

Triggers

Invalidation: $60,734

Raw Operating Path Response
```json
{
  "path_type": "complex",
  "confidence": 0.6,
  "waypoints": [
    {
      "seq": 1,
      "price": 59725.38,
      "type": "resistance_test",
      "source": "Fibonacci(strict fib confluence $59,725.38 score 1.0, ret_0.236 $59,618.93), Wyckoff(LPSY $59,678.80 재테스트), Candlestick/Derivatives(EMA20 $59,650.91 저항), Harmonic(확인된 PRZ 반등)",
      "description": "실행 셋업이 bullish(강도 0.63)로 구조와 분리되어 셋업-우선 규칙상 첫 구간은 반등이다. 현재가가 확인된 bullish butterfly PRZ 하단 $59,451.32 및 Fib ext_1.0 $59,366.60 지지에서 방어된 직후라, EMA20 $59,650.91·Wyckoff LPSY $59,678.80 저항 위의 strict fib confluence $59,725.38(score 1.0)까지 LPSY 재테스트성 반등이 우세하다. EMA20/LPSY 상단 매수 stop을 흡수한 뒤 Phase D 분배 구조 특유의 거부가 예상되는 자리다. 단, 파생(CVD -2230·롱 과밀)이 약세라 하모닉 TP 사다리($60,015+)까지 확장은 제한된다.",
      "est_hours": 2.5
    },
    {
      "seq": 2,
      "price": 59245.87,
      "type": "support_test",
      "source": "Fibonacci(strict fib confluence $59,245.87 score 0.85, ext_1.0 $59,366.60), ICT(지지 $59,224.60)",
      "description": "LPSY 클러스터에서 거부되면 bearish 구조(분배·$60,037 하향 BOS·EMA 하방 체류)가 재개된다. 지지 $59,451.32와 Fib ext_1.0 $59,366.60을 차례로 이탈하며 strict fib confluence $59,245.87(score 0.85)을 테스트한다. ICT 지지 $59,224.60이 바로 아래 겹쳐 1차 markdown 목표이자 단기 반응 가능 구간이다.",
      "est_hours": 7.0
    },
    {
      "seq": 3,
      "price": 58827.35,
      "type": "swing_low",
      "source": "Fibonacci(strict fib confluence $58,827.35 score 0.85, ext_1.272 $59,075.78, ext_1.414 $58,923.95), Derivatives(청산 유동성 $59,000/$58,900), ICT(bull OB 상단 $58,944)",
      "description": "Derivatives 롱 과밀 0.687·CVD -2230·OI 감소가 하방을 지지하며 $59,000·$58,900 청산 유동성이 우선 테스트된다. Fib ext_1.272 $59,075.78, ext_1.414 $58,923.95(=ICT bull OB 상단 $58,944·청산 $58,900 클러스터)를 이탈하며 strict fib confluence $58,827.35(score 0.85)까지 청산 유동성을 쓸어내리는 swing low를 형성한다. 추가 이탈 시 Wyckoff AR $58,388·7일 저점 $58,288이 다음 목표다.",
      "est_hours": 16.0
    }
  ],
  "period_extremes": {
    "4h":  {"expected_high": 59725.38, "expected_low": 59561.0, "high_first": true},
    "8h":  {"expected_high": 59725.38, "expected_low": 59224.6, "high_first": true},
    "24h": {"expected_high": 59725.38, "expected_low": 58827.35, "high_first": true}
  },
  "triggers": {
    "bullish": {"price": 60037.0, "description": "골든비율 $60,027.37·EMA120 $60,025.82·ICT 하향 BOS $60,037.00·하모닉 TP1 $60,015.89 클러스터를 15분 종가로 회복하면 단기 구조가 bullish로 전환되어 하모닉 TP 사다리 $60,222.84 → $60,557.80이 활성화된다. markdown 시나리오는 이때 보류된다."},
    "bearish": {"price": 59366.6, "description": "Fib ext_1.0·PRZ 하단 $59,366.60을 15분 종가로 이탈하면 PRZ 방어 실패와 반등 무산으로 bearish 가속이 확정되어 WP1 반등 없이 $59,245.87 → $59,075.78 → $58,900 청산 클러스터로 직행한다."}
  },
  "scenario_invalidation": 60734.0
}
```

Raw Chairman Response
{
  "overall_signal": "bearish",
  "overall_confidence": 0.72,
  "execution_setup": {
    "setup_bias": "bullish",
    "setup_strength": 0.63,
    "active_setups": [
      "ICT: 현재가 $59,451.40가 EQ $59,883.95 아래 discount 영역에 있으며, $58,288.00-$58,944.00 bullish OB 후보가 활성",
      "Fibonacci: 현재가가 하락 스윙 확장 지지 ext_1.0 $59,366.60 바로 위에서 테스트 중이며 반응 확률 0.65",
      "Candlestick: 7일 범위 EQ $59,606.35 아래에서 high-volume bullish harami 감지, pattern_quality 0.760",
      "Harmonic: 완료된 bullish butterfly 활성 PRZ $59,451.32-$59,910.53 하단에 가격이 접촉, 확인된 반응 기반 TP 후보 $60,015.89 / $60,222.84 / $60,557.80",
      "Derivatives: 롱 계정 비율 0.687로 롱 과밀, CVD 변화 -2230.7160으로 매수 체결 강도 약화",
      "Wyckoff: Phase D 분배 구조 내 LPSY $59,678.80 하방 체류"
    ],
    "setup_vs_structure": "확정 구조는 분배·하락 BOS·EMA 하방 체류로 bearish이나, 단기 실행 셋업은 discount/PRZ/피보나치 지지 반응 때문에 bullish 쪽이 더 많이 관측된다. 즉, 구조와 실행 셋업이 분리되어 있으며 현재 구간은 추세 확정 구간이 아니라 약세 구조 내부의 반등 후보 구간으로 해석해야 한다."
  },
  "signal_breakdown": {
    "bullish_count": 2,
    "bearish_count": 2,
    "neutral_count": 2
  },
  "key_levels": {
    "support": [
      59451.32,
      59366.6,
      59245.87,
      59224.6,
      59075.78,
      58944.0,
      58923.95,
      58900.0,
      58388.0,
      58288.0
    ],
    "resistance": [
      59606.35,
      59650.91,
      59678.8,
      59883.95,
      59901.2,
      59910.53,
      60015.89,
      60027.37,
      60037.0,
      60314.3,
      60543.3,
      60557.8,
      60734.0
    ]
  },
  "confluences": [
    "Wyckoff의 LPSY $59,678.80, Candlestick의 EMA20 $59,650.91, Derivatives의 EMA20 저항 $59,650.91이 모두 $59.65k-$59.68k를 단기 구조 저항으로 지목한다.",
    "ICT EQ $59,883.95, Fibonacci ret_0.5 $59,901.20, Harmonic 활성 PRZ 상단 $59,910.53이 $59.88k-$59.91k를 핵심 균형·반응 경계로 형성한다.",
    "Fibonacci golden ratio $60,027.37, EMA120 $60,025.82, ICT bearish BOS 레벨 $60,037.00, Harmonic TP/PRZ $60,015.89-$60,039.05가 $60.02k-$60.04k에 강한 저항 클러스터를 만든다.",
    "Harmonic의 활성 bullish butterfly PRZ 하단 $59,451.32와 현재가 $59,451.40이 거의 일치하며, Fibonacci ext_1.0 $59,366.60과 함께 $59.36k-$59.45k 반응 구간을 형성한다.",
    "Fibonacci 하방 확장 $58,923.95, ICT bullish OB 상단 $58,944.00, Derivatives 청산 레벨 $58,900이 $58.90k-$58.94k 지지·유동성 클러스터로 겹친다.",
    "Wyckoff AR $58,388.00, ICT bullish OB 하단 $58,288.00, 7일 저점 $58,288.00이 $58.29k-$58.39k를 구조적 하단 방어 구간으로 공유한다.",
    "Wyckoff UTAD $60,543.30, ICT bullish BOS 과거 레벨 $60,557.80, Harmonic TP3 $60,557.80이 $60.54k-$60.56k를 상단 구조 검증 레벨로 일치시킨다."
  ],
  "conflicts": [
    "구조 진단은 대부분 bearish이다. ICT, Fibonacci, Candlestick, Derivatives, Wyckoff 모두 가격이 EMA20/EMA120 및 주요 EQ 하단에 있다고 보며, Wyckoff는 이를 Phase D 분배 구조로 해석한다.",
    "반면 실행 셋업은 bullish 쪽이 우세하다. ICT discount, Fibonacci 지지 테스트, Candlestick bullish harami, Harmonic 활성 PRZ가 모두 반등 후보 조건을 제시하지만, 이는 아직 구조 전환 확정 신호는 아니다.",
    "Derivatives는 롱 계정 비율 0.687과 CVD -2230.7160을 근거로 매수 기반이 약하다고 판단하는 반면, Harmonic은 확인된 bullish butterfly PRZ 반응을 근거로 반등 셋업을 지지한다.",
    "ICT는 setup_bias를 bullish로 제시하지만, 최근 확정 구조 이벤트는 $60,037.00 하향 bearish BOS이므로 구조와 셋업이 내부적으로도 충돌한다.",
    "Harmonic의 bullish 신호는 PRZ 반응과 TP 사다리에는 유효하지만, 자체적으로 Wyckoff 분배 구조나 파생 포지셔닝 약세를 뒤집을 수 있는 구조 엔진은 아니다."
  ],
  "highest_conviction_analyst": "Wyckoff Expert — $60,734.00 BC, $58,388.00 AR, $60,543.30 UTAD, $59,678.80 LPSY로 이어지는 확인된 분배 시퀀스를 제시했고, 현재가 $59,451.40가 LPSY와 범위 중간값 약 $59,561.00 아래에 있어 구조 진단의 일관성이 가장 높다.",
  "invalidation_level": "$60,734.00 회복 시 현재 분배 기반 bearish 구조 해석은 무효화된다. 선행 경고 레벨은 UTAD $60,543.30 상회 및 수용이다.",
  "executive_summary": "BTC 15분 구조는 현재 bullish 반전 구조가 아니라 Wyckoff 기준 Phase D 분배 구조로 진단되며, UTAD $60,543.30 이후 LPSY $59,678.80가 형성된 뒤 가격이 그 아래에 머물고 있다. ICT의 최근 확정 구조도 $60,037.00 하향 bearish BOS이며, Fibonacci·Candlestick·Derivatives 모두 EMA20 $59,650.91 및 EMA120 약 $60,026 하방 체류를 근거로 구조적 약세를 지지한다. 다만 현재가 $59,451.40는 Harmonic 활성 bullish butterfly PRZ $59,451.32-$59,910.53 하단과 거의 일치하고, Fibonacci ext_1.0 $59,366.60 인근 지지 테스트가 진행 중이어서 단기 실행 셋업은 구조와 달리 bullish 반응 후보가 강하다. 핵심 구조 저항은 $59,650-$59,679, $59,884-$60,037, $60,543-$60,558이며, 구조적 bearish 해석은 $60,734.00 회복 시 무효화된다."
}
Full Result JSON
{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-06-29 05:00 KST",
  "last_price": 59451.4,
  "num_candles": 300,
  "stage1_analyses": {
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bullish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.779,
      "setup_signals": [
        "현재가 $59,451.40는 EQ $59,883.95 아래의 discount 영역에 위치",
        "활성 bullish OB 후보가 $58,288.00-$58,944.00에 존재하며 현재가와 비교적 근접",
        "최근 구조 이벤트는 bearish BOS $60,037.00이나, 가격은 discount에서 bullish 재진입 셋업을 형성 중",
        "이전일 저가 $59,714.80가 이미 하향 돌파되어 sell-side liquidity가 일부 처리된 상태",
        "bullish setup 점수 0.779로, 구조 전환 전 매수 셋업 강도가 우세"
      ],
      "reasoning": "확정 구조 기준으로는 가장 최근 이벤트가 $60,037.00 하향 bearish BOS이므로 structure_bias는 bearish로 본다. 그러나 현재가는 $59,451.40로 EQ $59,883.95 아래 discount 영역에 있으며, $58,288.00-$58,944.00 bullish OB 후보가 아직 활성 상태라 pre-confirmation 관점의 setup_bias는 bullish이다. 이전일 저가 $59,714.80가 이미 깨졌고 현재가가 그 아래에 머물러 있어 단기적으로는 약세 구조가 유지되지만, 기관 관점에서는 discount 내 sell-side 유동성 처리 후 $60,037.00, $60,314.30, $60,557.80 방향으로 되돌림을 노릴 수 있는 구간이다. 다만 활성 FVG가 없고 해당 OB도 confirmed가 아닌 candidate이므로 신뢰도는 중간 수준으로 제한한다.",
      "key_levels": {
        "support": [
          59224.6,
          58944.0,
          58616.0,
          58288.0
        ],
        "resistance": [
          59883.95,
          60037.0,
          60314.3,
          60557.8,
          60924.7
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$58,288.00",
      "risk_scenario": "$58,288.00 bullish OB 하단이 종가 기준으로 이탈되면 discount 매수 셋업은 실패로 보고, $58,288.00 아래의 추가 sell-side liquidity 확장 및 bearish continuation 가능성이 커진다. 반대로 상승 시에도 $60,037.00 bearish BOS 레벨과 $60,314.30 bullish CHoCH 레벨을 회복하지 못하면 단순 약세 되돌림에 그칠 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 2,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 1,
        "candidate_bearish_ob": 1,
        "active_bullish_ob": 1,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": {
          "bottom": 58288.0,
          "top": 58944.0,
          "quality": "candidate",
          "score": 0.577
        },
        "nearest_bear_ob_range": {
          "bottom": 60174.6,
          "top": 60435.8,
          "quality": "candidate",
          "score": 0.633
        },
        "active_bullish_ob_list": [
          {
            "type": "bullish_ob",
            "idx": 40,
            "top": 58944.0,
            "bottom": 58288.0,
            "mid": 58616.0,
            "quality": "candidate",
            "score": 0.577,
            "displacement_score": 0.363,
            "has_fvg": true,
            "has_sweep_context": false,
            "fvg_range": {
              "bottom": 58944.0,
              "top": 58983.4
            },
            "swept_level": null,
            "source_move_idx": 40,
            "proximity": "nearby"
          }
        ],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 1,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 62,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "CHoCH_bullish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "CHoCH_bullish",
            "level": 60245.0
          },
          {
            "type": "BOS_bullish",
            "level": 60557.8
          },
          {
            "type": "CHoCH_bearish",
            "level": 60162.0
          },
          {
            "type": "BOS_bearish",
            "level": 59819.8
          },
          {
            "type": "CHoCH_bullish",
            "level": 60314.3
          },
          {
            "type": "BOS_bearish",
            "level": 60037.0
          }
        ],
        "bos_sequence": [
          "CHoCH_bullish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 1,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "discount",
        "eq_level": 59883.95,
        "range_high": 60543.3,
        "range_low": 59224.6,
        "bull_score": 9.546,
        "bear_score": 8.0,
        "setup_bias": "bullish",
        "setup_score": 0.779,
        "setup_signals": [
          "bullish CHoCH above $60,245.00",
          "bullish BOS above $60,557.80",
          "bullish CHoCH above $60,314.30",
          "bullish OB candidate $58,288.00-$58,944.00 (nearby, score=0.58)",
          "deep retracement 262.7% in discount zone"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 262.7,
        "deepest_retracement_pct": 268.1,
        "previous_day_high": 60924.7,
        "previous_day_low": 59714.8,
        "broken_prev_high": false,
        "broken_prev_low": true,
        "sessions": {
          "London": {
            "active": false,
            "high": null,
            "low": null
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.779,\n  \"setup_signals\": [\n    \"현재가 $59,451.40는 EQ $59,883.95 아래의 discount 영역에 위치\",\n    \"활성 bullish OB 후보가 $58,288.00-$58,944.00에 존재하며 현재가와 비교적 근접\",\n    \"최근 구조 이벤트는 bearish BOS $60,037.00이나, 가격은 discount에서 bullish 재진입 셋업을 형성 중\",\n    \"이전일 저가 $59,714.80가 이미 하향 돌파되어 sell-side liquidity가 일부 처리된 상태\",\n    \"bullish setup 점수 0.779로, 구조 전환 전 매수 셋업 강도가 우세\"\n  ],\n  \"reasoning\": \"확정 구조 기준으로는 가장 최근 이벤트가 $60,037.00 하향 bearish BOS이므로 structure_bias는 bearish로 본다. 그러나 현재가는 $59,451.40로 EQ $59,883.95 아래 discount 영역에 있으며, $58,288.00-$58,944.00 bullish OB 후보가 아직 활성 상태라 pre-confirmation 관점의 setup_bias는 bullish이다. 이전일 저가 $59,714.80가 이미 깨졌고 현재가가 그 아래에 머물러 있어 단기적으로는 약세 구조가 유지되지만, 기관 관점에서는 discount 내 sell-side 유동성 처리 후 $60,037.00, $60,314.30, $60,557.80 방향으로 되돌림을 노릴 수 있는 구간이다. 다만 활성 FVG가 없고 해당 OB도 confirmed가 아닌 candidate이므로 신뢰도는 중간 수준으로 제한한다.\",\n  \"key_levels\": {\n    \"support\": [\n      59224.6,\n      58944.0,\n      58616.0,\n      58288.0\n    ],\n    \"resistance\": [\n      59883.95,\n      60037.0,\n      60314.3,\n      60557.8,\n      60924.7\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$58,288.00\",\n  \"risk_scenario\": \"$58,288.00 bullish OB 하단이 종가 기준으로 이탈되면 discount 매수 셋업은 실패로 보고, $58,288.00 아래의 추가 sell-side liquidity 확장 및 bearish continuation 가능성이 커진다. 반대로 상승 시에도 $60,037.00 bearish BOS 레벨과 $60,314.30 bullish CHoCH 레벨을 회복하지 못하면 단순 약세 되돌림에 그칠 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.56,
      "setup_signals": [
        "현재가 $59,451.40은 하락 스윙 $60,436→$59,367의 ext_1.0 지지 $59,366.60 바로 위에서 테스트 중",
        "가격이 EQ/ret_0.5 $59,901.20 아래에 있어 단기 할인 구간에 위치",
        "근접 지지 클러스터 $59,245.87 부근에 ext_1.272, ret_0.618, ext_1.0 confluence가 형성되어 하방 추격 리스크 존재",
        "상단에는 ret_0.236 $59,618.93, ret_0.382 $59,775.03, ret_0.5 $59,901.20이 연속 저항으로 대기"
      ],
      "reasoning": "확정 구조는 하락 스윙 $60,436에서 $59,367로 진행된 상태이며, 현재가 $59,451.40은 EMA20 $59,650.91 및 EMA120 $60,025.82 아래에 있어 structure_bias는 bearish로 판단한다. 다만 가격은 ext_1.0 $59,366.60 지지 바로 위에서 fib_reaction_state가 testing이고, 반응 확률 0.65가 제시되어 단기 setup_bias는 반등 우위로 본다. 상승 반등 시 1차 저항은 ret_0.236 $59,618.93, 이후 ret_0.382 $59,775.03이며, 핵심 골든비율 0.618은 $60,027.37로 EMA120 $60,025.82와 거의 겹쳐 강한 저항 confluence를 만든다. 반대로 $59,366.60을 명확히 이탈하면 ext_1.272 $59,075.78, ext_1.414 $58,923.95, ext_1.618 $58,705.83까지 하락 확장 가능성이 커진다.",
      "key_levels": {
        "support": [
          59366.6,
          59075.78,
          58923.95,
          58705.83,
          58297.4
        ],
        "resistance": [
          59618.93,
          59775.03,
          59901.2,
          60027.37,
          60206.99
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,366.60 하향 이탈 및 15분봉 종가 안착",
      "risk_scenario": "$59,366.60 지지가 무너지면 현재의 단기 반등 setup은 실패하며, 하락 구조가 재가속되어 $59,075.78과 $58,923.95 지지 테스트로 이어질 수 있다. 반대로 가격이 $59,901.20을 회복하고 특히 골든비율 $60,027.37 위에 안착하면 하락 구조가 약화되고 $60,206.99 ret_0.786까지 되돌림이 확장될 수 있다.",
      "data_quality": "high",
      "metrics": {
        "swing_pair": "High→Low: $60,436 → $59,367",
        "direction": "down",
        "nearest_fib": "ext_1.0",
        "nearest_fib_price": 59366.6,
        "nearest_fib_distance": 0.14,
        "golden_ratio_level": 60027.37,
        "fib_ret_382": 59775.03,
        "fib_ret_618": 60027.37,
        "confluence_zones": [
          {
            "price": 59725.38,
            "count": 4,
            "levels": [
              "ret_0.5",
              "ret_0.236",
              "ret_0.382",
              "ret_0.5"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 58827.35,
            "count": 3,
            "levels": [
              "ext_1.618",
              "ret_0.786",
              "ext_1.414"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 59245.87,
            "count": 3,
            "levels": [
              "ext_1.272",
              "ret_0.618",
              "ext_1.0"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 60050.61,
            "count": 3,
            "levels": [
              "ret_0.382",
              "ret_0.618",
              "ret_0.786"
            ],
            "cluster_score": 0.85
          }
        ],
        "support_levels": [
          59366.6,
          59075.777599999994,
          58923.951199999996
        ],
        "resistance_levels": [
          59618.9312,
          59775.0344,
          59901.2
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 59618.93,
            "distance_pct": 0.28,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.382",
            "price": 59775.03,
            "distance_pct": 0.54,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.5",
            "price": 59901.2,
            "distance_pct": 0.76,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.618",
            "price": 60027.37,
            "distance_pct": 0.97,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.786",
            "price": 60206.99,
            "distance_pct": 1.27,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.0",
            "price": 59366.6,
            "distance_pct": 0.14,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.272",
            "price": 59075.78,
            "distance_pct": 0.63,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.414",
            "price": 58923.95,
            "distance_pct": 0.89,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.618",
            "price": 58705.83,
            "distance_pct": 1.25,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_2.0",
            "price": 58297.4,
            "distance_pct": 1.94,
            "is_support": true,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 1.0,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.56,\n  \"setup_signals\": [\n    \"현재가 $59,451.40은 하락 스윙 $60,436→$59,367의 ext_1.0 지지 $59,366.60 바로 위에서 테스트 중\",\n    \"가격이 EQ/ret_0.5 $59,901.20 아래에 있어 단기 할인 구간에 위치\",\n    \"근접 지지 클러스터 $59,245.87 부근에 ext_1.272, ret_0.618, ext_1.0 confluence가 형성되어 하방 추격 리스크 존재\",\n    \"상단에는 ret_0.236 $59,618.93, ret_0.382 $59,775.03, ret_0.5 $59,901.20이 연속 저항으로 대기\"\n  ],\n  \"reasoning\": \"확정 구조는 하락 스윙 $60,436에서 $59,367로 진행된 상태이며, 현재가 $59,451.40은 EMA20 $59,650.91 및 EMA120 $60,025.82 아래에 있어 structure_bias는 bearish로 판단한다. 다만 가격은 ext_1.0 $59,366.60 지지 바로 위에서 fib_reaction_state가 testing이고, 반응 확률 0.65가 제시되어 단기 setup_bias는 반등 우위로 본다. 상승 반등 시 1차 저항은 ret_0.236 $59,618.93, 이후 ret_0.382 $59,775.03이며, 핵심 골든비율 0.618은 $60,027.37로 EMA120 $60,025.82와 거의 겹쳐 강한 저항 confluence를 만든다. 반대로 $59,366.60을 명확히 이탈하면 ext_1.272 $59,075.78, ext_1.414 $58,923.95, ext_1.618 $58,705.83까지 하락 확장 가능성이 커진다.\",\n  \"key_levels\": {\n    \"support\": [\n      59366.6,\n      59075.78,\n      58923.95,\n      58705.83,\n      58297.4\n    ],\n    \"resistance\": [\n      59618.93,\n      59775.03,\n      59901.2,\n      60027.37,\n      60206.99\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,366.60 하향 이탈 및 15분봉 종가 안착\",\n  \"risk_scenario\": \"$59,366.60 지지가 무너지면 현재의 단기 반등 setup은 실패하며, 하락 구조가 재가속되어 $59,075.78과 $58,923.95 지지 테스트로 이어질 수 있다. 반대로 가격이 $59,901.20을 회복하고 특히 골든비율 $60,027.37 위에 안착하면 하락 구조가 약화되고 $60,206.99 ret_0.786까지 되돌림이 확장될 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.48,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.55,
      "setup_signals": [
        "현재가 $59,451.40은 7일 범위 EQ $59,606.35 아래의 할인 구간에 위치",
        "strict 등급 bullish_harami 감지: pattern_quality 0.760, high_volume=true",
        "가격이 EMA20 $59,650.91 아래 -0.3%에 있어 구조 전환 확인은 아직 없음",
        "최근 bearish_engulfing@296 및 @298 이후 bullish_harami@297, @299가 반복되어 매도 압력 둔화 가능성",
        "7일 저점 $58,288.00 위에서 반등 시도 중이나 EMA120 $60,025.82 회복 전까지는 미확정"
      ],
      "reasoning": "15분봉 기준 현재 BTC는 $59,451.40으로 EMA20 $59,650.91, EMA120 $60,025.82, EMA240 $60,010.32 모두 아래에 있어 확인된 구조는 아직 약세로 보는 것이 타당합니다. 다만 7일 고점 $60,924.70과 저점 $58,288.00의 중간값인 EQ $59,606.35 아래 할인 구간에서 high-volume bullish harami가 quality 0.760으로 포착되어 단기 반등 셋업은 존재합니다. 최근 5개 패턴은 bearish_engulfing 2개, bullish_harami 2개, doji 1개로 충돌하며, bull_score 1.30 대비 bear_score 1.50이 근소하게 우세해 방향성 확정보다는 중립 판단이 적절합니다. $59,650.91 이상 회복 후 $60,010~$60,026 EMA 클러스터를 돌파해야 bullish setup이 구조 전환으로 이어질 수 있습니다.",
      "key_levels": {
        "support": [
          59451.4,
          59284.94,
          58288.0
        ],
        "resistance": [
          59606.35,
          59650.91,
          60010.32,
          60025.82,
          60924.7
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$58,288.00 하향 이탈 시 bullish setup은 무효화되고 약세 지속 시나리오가 우세해집니다.",
      "risk_scenario": "$59,650.91 EMA20 회복에 실패하고 bearish engulfing 흐름이 재개되면 $59,284.94 부근의 1ATR 하단, 이후 7일 저점 $58,288.00 재시험 가능성이 커집니다. 반대로 $60,025.82 위로 15분봉 종가가 안착하면 현재의 약세 구조 판단은 약화되고 $60,924.70 고점 재도전 가능성이 열립니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 153,
        "recent_patterns": 5,
        "pattern_list": [
          "bearish_engulfing@296",
          "bearish_engulfing@298",
          "doji@295",
          "bullish_harami@297",
          "bullish_harami@299"
        ],
        "atr_value": 166.46,
        "vol_avg_20": 1520.46,
        "high_volume_patterns": [
          "bullish_harami"
        ],
        "pattern_candidates": [
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.76,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.532,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.476,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.448,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.76,
        "bull_score": 1.3,
        "bear_score": 1.5
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.48,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.55,\n  \"setup_signals\": [\n    \"현재가 $59,451.40은 7일 범위 EQ $59,606.35 아래의 할인 구간에 위치\",\n    \"strict 등급 bullish_harami 감지: pattern_quality 0.760, high_volume=true\",\n    \"가격이 EMA20 $59,650.91 아래 -0.3%에 있어 구조 전환 확인은 아직 없음\",\n    \"최근 bearish_engulfing@296 및 @298 이후 bullish_harami@297, @299가 반복되어 매도 압력 둔화 가능성\",\n    \"7일 저점 $58,288.00 위에서 반등 시도 중이나 EMA120 $60,025.82 회복 전까지는 미확정\"\n  ],\n  \"reasoning\": \"15분봉 기준 현재 BTC는 $59,451.40으로 EMA20 $59,650.91, EMA120 $60,025.82, EMA240 $60,010.32 모두 아래에 있어 확인된 구조는 아직 약세로 보는 것이 타당합니다. 다만 7일 고점 $60,924.70과 저점 $58,288.00의 중간값인 EQ $59,606.35 아래 할인 구간에서 high-volume bullish harami가 quality 0.760으로 포착되어 단기 반등 셋업은 존재합니다. 최근 5개 패턴은 bearish_engulfing 2개, bullish_harami 2개, doji 1개로 충돌하며, bull_score 1.30 대비 bear_score 1.50이 근소하게 우세해 방향성 확정보다는 중립 판단이 적절합니다. $59,650.91 이상 회복 후 $60,010~$60,026 EMA 클러스터를 돌파해야 bullish setup이 구조 전환으로 이어질 수 있습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59451.4,\n      59284.94,\n      58288.0\n    ],\n    \"resistance\": [\n      59606.35,\n      59650.91,\n      60010.32,\n      60025.82,\n      60924.7\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$58,288.00 하향 이탈 시 bullish setup은 무효화되고 약세 지속 시나리오가 우세해집니다.\",\n  \"risk_scenario\": \"$59,650.91 EMA20 회복에 실패하고 bearish engulfing 흐름이 재개되면 $59,284.94 부근의 1ATR 하단, 이후 7일 저점 $58,288.00 재시험 가능성이 커집니다. 반대로 $60,025.82 위로 15분봉 종가가 안착하면 현재의 약세 구조 판단은 약화되고 $60,924.70 고점 재도전 가능성이 열립니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.68,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.74,
      "setup_signals": [
        "현재가 $59,451.40가 7일 레인지 EQ 약 $59,606.35 아래에 위치하며 EMA20 $59,650.91 회복 실패",
        "롱 계정 비율 0.687, 24시간 +0.022 상승으로 롱 포지셔닝 과밀(account_long_crowding 1.000)",
        "CVD 변화 -2230.7160으로 가격 반등 대비 매수 참여 약화",
        "OI 24시간 -1.4070% 감소로 신규 롱 유입보다 포지션 언와인딩 성격 우세",
        "선물 basis -0.0511%로 현물 대비 선물 약세, 파생 수요 부진",
        "하방 청산 유동성 $59,000, $58,900에 근접해 단기 유동성 자석으로 작용 가능"
      ],
      "reasoning": "구조적으로 BTC는 현재 $59,451.40에서 EMA20 $59,650.91, EMA120 $60,025.82, EMA240 $60,010.32를 모두 하회하고 있어 단기 구조는 약세로 판단한다. 파생 포지셔닝은 롱 계정 비율이 0.687까지 올라가며 롱 과밀이 극단적이고, 동시에 CVD가 -2230.7160 감소해 가격 방어 구간에서 실제 매수 체결 강도가 약하다. OI도 24시간 -1.4070% 감소해 상승을 위한 신규 레버리지 유입이 아니라 포지션 축소 국면에 가깝고, aggregate_score 0.323 및 bear_signals 3개가 하방 우위를 지지한다. 단기적으로 $59,000과 $58,900의 하방 청산 유동성이 먼저 테스트될 가능성이 높으며, 해당 구간 이탈 시 7일 저점 $58,288까지 열릴 수 있다.",
      "key_levels": {
        "support": [
          59000,
          58900,
          58288,
          57200
        ],
        "resistance": [
          59650.91,
          60010.32,
          60025.82,
          60700,
          60800,
          62000
        ]
      },
      "time_horizon": "short term, 향후 4-8시간",
      "invalidation_level": "$60,025.82",
      "risk_scenario": "$60,025.82 EMA120 위로 회복 및 15분봉 기준 수용이 확인되면 현재의 롱 과밀 숏 셋업은 무효화되며, 상방 청산 유동성 $60,700-$60,800을 향한 숏 스퀴즈가 발생할 수 있다. 이 경우 추가 확장 목표는 $62,000 청산 클러스터다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -2230.716,
        "oi_trend": 0.359,
        "oi_change_pct_24h": -1.407,
        "oi_latest": 102289.81,
        "funding_pressure": 0.467,
        "funding_avg": 3.348e-05,
        "funding_change_24h": 1.72e-06,
        "long_account_ratio": 0.671,
        "short_account_ratio": 0.329,
        "long_account_latest": 0.687,
        "short_account_latest": 0.313,
        "long_account_change_24h": 0.0222,
        "short_account_change_24h": -0.0222,
        "account_flow_label": "long_accounts_rising_short_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.487,
        "spot_futures_basis_pct": -0.0511,
        "basis_change_lookback": -0.0084,
        "aggregate_score": 0.323,
        "bull_signals": 0,
        "bear_signals": 3,
        "liq_below": [
          [
            59000,
            1302.6615673499998
          ],
          [
            58900,
            1635.5675719499998
          ],
          [
            57200,
            1671.1052760000002
          ]
        ],
        "liq_above": [
          [
            60700,
            1381.6874904
          ],
          [
            60800,
            1553.6806476
          ],
          [
            62000,
            1697.376276
          ]
        ],
        "strongest_liq_level": 53600,
        "fragility_score": 0.557,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.68,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.74,\n  \"setup_signals\": [\n    \"현재가 $59,451.40가 7일 레인지 EQ 약 $59,606.35 아래에 위치하며 EMA20 $59,650.91 회복 실패\",\n    \"롱 계정 비율 0.687, 24시간 +0.022 상승으로 롱 포지셔닝 과밀(account_long_crowding 1.000)\",\n    \"CVD 변화 -2230.7160으로 가격 반등 대비 매수 참여 약화\",\n    \"OI 24시간 -1.4070% 감소로 신규 롱 유입보다 포지션 언와인딩 성격 우세\",\n    \"선물 basis -0.0511%로 현물 대비 선물 약세, 파생 수요 부진\",\n    \"하방 청산 유동성 $59,000, $58,900에 근접해 단기 유동성 자석으로 작용 가능\"\n  ],\n  \"reasoning\": \"구조적으로 BTC는 현재 $59,451.40에서 EMA20 $59,650.91, EMA120 $60,025.82, EMA240 $60,010.32를 모두 하회하고 있어 단기 구조는 약세로 판단한다. 파생 포지셔닝은 롱 계정 비율이 0.687까지 올라가며 롱 과밀이 극단적이고, 동시에 CVD가 -2230.7160 감소해 가격 방어 구간에서 실제 매수 체결 강도가 약하다. OI도 24시간 -1.4070% 감소해 상승을 위한 신규 레버리지 유입이 아니라 포지션 축소 국면에 가깝고, aggregate_score 0.323 및 bear_signals 3개가 하방 우위를 지지한다. 단기적으로 $59,000과 $58,900의 하방 청산 유동성이 먼저 테스트될 가능성이 높으며, 해당 구간 이탈 시 7일 저점 $58,288까지 열릴 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      59000,\n      58900,\n      58288,\n      57200\n    ],\n    \"resistance\": [\n      59650.91,\n      60010.32,\n      60025.82,\n      60700,\n      60800,\n      62000\n    ]\n  },\n  \"time_horizon\": \"short term, 향후 4-8시간\",\n  \"invalidation_level\": \"$60,025.82\",\n  \"risk_scenario\": \"$60,025.82 EMA120 위로 회복 및 15분봉 기준 수용이 확인되면 현재의 롱 과밀 숏 셋업은 무효화되며, 상방 청산 유동성 $60,700-$60,800을 향한 숏 스퀴즈가 발생할 수 있다. 이 경우 추가 확장 목표는 $62,000 청산 클러스터다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.76,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "분배 구조 Phase D: UTAD $60,543.30 이후 LPSY $59,678.80 형성",
        "현재가 $59,451.40가 범위 중간값 약 $59,561.00 및 LPSY $59,678.80 아래에 위치",
        "EMA20 $59,650.91, EMA120 $60,025.82, EMA240 $60,010.32 아래에서 단기 공급 우위",
        "상단 실패 구조: BC $60,734.00 → UTAD $60,543.30 → LPSY $59,678.80로 고점이 낮아지는 공급 테스트",
        "하방 목표 유동성은 메인 AR 저점 $58,388.00 및 7일 저점 $58,288.00 구간"
      ],
      "reasoning": "현재 15분 구조는 regime=DIS, regime_fitness 0.963, dis_score 96.2로 분배 구조가 우세하며, 메인 range는 BC $60,734.00와 AR $58,388.00로 고정된다. 이벤트 체인은 BC → AR → ST $60,167.30 → SOW_IN_PHASE_B $59,819.80 → UT $60,303.20 → UTAD $60,543.30 → LPSY $59,678.80이며, 현재 major_phase는 Phase D로 해석된다. 현재가 $59,451.40는 LPSY $59,678.80와 범위 중간값 약 $59,561.00 아래에 있어 구조적으론 약세이나, 이미 EQ 아래에 있으므로 신규 추격보다는 $59,561~$59,679 재테스트에서 거부가 유지되는지가 중요하다. $59,678.80 회복 실패 시 다음 Wyckoff 테스트는 AR 저점 $58,388.00 및 7일 저점 $58,288.00 유동성 확인 쪽으로 기운다.",
      "key_levels": {
        "support": [
          58388.0,
          58288.0
        ],
        "resistance": [
          59561.0,
          59678.8,
          59819.8,
          60167.3,
          60543.3,
          60734.0
        ]
      },
      "time_horizon": "단기",
      "invalidation_level": "$60,734.00 상향 회복 및 수용 시 현재 분배 해석은 무효화",
      "risk_scenario": "$59,678.80 LPSY와 $60,167.30 ST를 차례로 회복하면 Phase D 약세 진행이 지연되고, $60,543.30 UTAD 고점 재시험 가능성이 열린다. 특히 $60,734.00 BC 상단을 회복해 수용되면 분배 구조가 실패한 상방 재축적 또는 범위 확장으로 재평가되어야 한다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 88.8,
        "dis_score": 96.2,
        "regime": "DIS",
        "regime_state": "dis_candidate",
        "structure_bias": "bearish",
        "phase_context": "dis_candidate / distribution / Phase D",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "UTAD",
          "LPSY"
        ],
        "last_phase": "LPSY",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 58,
            "price": 60734.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 81,
            "price": 58388.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 124,
            "price": 60167.3,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 213,
            "price": 59819.8,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 216,
            "price": 60303.2,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 254,
            "price": 60543.3,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 292,
            "price": 59678.8,
            "color": "#8338ec"
          }
        ],
        "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": 58,
            "end_idx": 292,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 58,
                "price": 60734.0,
                "color": "#ffd166",
                "dt": "2026-06-26 16:30:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 81,
                "price": 58388.0,
                "color": "#06d6a0",
                "dt": "2026-06-26 22:15:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 124,
                "price": 60167.3,
                "color": "#118ab2",
                "dt": "2026-06-27 09:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 213,
                "price": 59819.8,
                "color": "#ef476f",
                "dt": "2026-06-28 07:15:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 216,
                "price": 60303.2,
                "color": "#f9844a",
                "dt": "2026-06-28 08:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 254,
                "price": 60543.3,
                "color": "#f9844a",
                "dt": "2026-06-28 17:30:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 292,
                "price": 59678.8,
                "color": "#8338ec",
                "dt": "2026-06-29 03:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_1",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.9625,
        "current_event": "LPSY",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 58388.0,
        "main_range_high": 60734.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.76,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"분배 구조 Phase D: UTAD $60,543.30 이후 LPSY $59,678.80 형성\",\n    \"현재가 $59,451.40가 범위 중간값 약 $59,561.00 및 LPSY $59,678.80 아래에 위치\",\n    \"EMA20 $59,650.91, EMA120 $60,025.82, EMA240 $60,010.32 아래에서 단기 공급 우위\",\n    \"상단 실패 구조: BC $60,734.00 → UTAD $60,543.30 → LPSY $59,678.80로 고점이 낮아지는 공급 테스트\",\n    \"하방 목표 유동성은 메인 AR 저점 $58,388.00 및 7일 저점 $58,288.00 구간\"\n  ],\n  \"reasoning\": \"현재 15분 구조는 regime=DIS, regime_fitness 0.963, dis_score 96.2로 분배 구조가 우세하며, 메인 range는 BC $60,734.00와 AR $58,388.00로 고정된다. 이벤트 체인은 BC → AR → ST $60,167.30 → SOW_IN_PHASE_B $59,819.80 → UT $60,303.20 → UTAD $60,543.30 → LPSY $59,678.80이며, 현재 major_phase는 Phase D로 해석된다. 현재가 $59,451.40는 LPSY $59,678.80와 범위 중간값 약 $59,561.00 아래에 있어 구조적으론 약세이나, 이미 EQ 아래에 있으므로 신규 추격보다는 $59,561~$59,679 재테스트에서 거부가 유지되는지가 중요하다. $59,678.80 회복 실패 시 다음 Wyckoff 테스트는 AR 저점 $58,388.00 및 7일 저점 $58,288.00 유동성 확인 쪽으로 기운다.\",\n  \"key_levels\": {\n    \"support\": [\n      58388.0,\n      58288.0\n    ],\n    \"resistance\": [\n      59561.0,\n      59678.8,\n      59819.8,\n      60167.3,\n      60543.3,\n      60734.0\n    ]\n  },\n  \"time_horizon\": \"단기\",\n  \"invalidation_level\": \"$60,734.00 상향 회복 및 수용 시 현재 분배 해석은 무효화\",\n  \"risk_scenario\": \"$59,678.80 LPSY와 $60,167.30 ST를 차례로 회복하면 Phase D 약세 진행이 지연되고, $60,543.30 UTAD 고점 재시험 가능성이 열린다. 특히 $60,734.00 BC 상단을 회복해 수용되면 분배 구조가 실패한 상방 재축적 또는 범위 확장으로 재평가되어야 한다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.64,
      "setup_signals": [
        "현재가 $59,451.40이 완료된 bullish butterfly 활성 PRZ 하단 $59,451.32-$59,910.53에 재진입/접촉",
        "완료된 bullish butterfly가 PRZ_touch_or_entry, PRZ_rejection_or_defense, AD0.382_reaction_reached, D_PRZ_failure_zone_defended로 반응 확인됨",
        "확인된 bullish butterfly TP 사다리: TP1 $60,015.89, TP2 $60,222.84, TP3 $60,557.80",
        "고품질 strict bullish bat 형성 PRZ $59,703.20-$60,039.05, XAB 0.4956로 Bat 기준 0.50에 근접",
        "고품질 strict bullish gartley 형성 PRZ $59,766.59-$60,009.11, XAB 0.6111로 Gartley 기준 0.618에 근접",
        "고품질 strict bullish butterfly PRZ $59,792.38-$60,098.72와 완료 butterfly PRZ가 중첩되어 $59,790-$60,100 구간에 Fib confluence 형성"
      ],
      "reasoning": "하모닉 기준으로는 bullish 쪽 반응 구간이 우세하지만, 확정 BOS/CHoCH 또는 상위 구조 수용 데이터가 없으므로 structure_bias는 neutral로 둔다. 현재가 $59,451.40은 확인된 bullish butterfly의 활성 PRZ $59,451.32-$59,910.53 하단에 정확히 위치하며, 해당 패턴은 reaction_score 1.0과 directional_vote_weight 0.58로 사후 반응이 확인된 중간 강도 근거다. 추가로 $59,703.20-$60,039.05의 strict high bullish bat, $59,766.59-$60,009.11의 strict high bullish gartley, $59,792.38-$60,098.72의 strict high butterfly가 모두 ABCD, BC_EXT, XAD 3중 Fib confluence를 갖고 있어 $59.45k-$60.10k는 강한 반등 후보 PRZ다. 다만 하모닉은 단독 경로 엔진이 아니므로 이 신호는 구조 전환 확정이 아니라 PRZ 방어 기반의 bullish setup이며, $60,015-$60,154 회복 전까지는 공격적 추격보다 반응 확인이 필요하다.",
      "key_levels": {
        "support": [
          59451.32,
          59241.58,
          59703.2,
          59766.59,
          59792.38
        ],
        "resistance": [
          59910.53,
          60015.89,
          60016.01,
          60154.37,
          60222.84,
          60283.38,
          60492.2,
          60557.8
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,241.58 15분 종가 이탈",
      "risk_scenario": "$59,241.58 아래로 15분 종가가 확정되면 현재 활성 PRZ 방어 논리가 훼손되고, bullish butterfly의 D 실패 방어가 무효화될 가능성이 크다. 이 경우 $59,451-$59,910 구간은 지지 PRZ가 아니라 저항 재테스트 구간으로 바뀔 수 있으며, $58,288.00 7일 저점 유동성 재탐색이 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 45,
        "completed_patterns_found": 16,
        "forming_d_prz_found": 29,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 57,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 28,
        "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": 18,
          "medium": 15,
          "low": 12
        },
        "prz_status_counts": {
          "active": 7,
          "nearby": 9,
          "watch": 8,
          "far": 21,
          "forming": 13
        },
        "high_confluence_prz_count": 33,
        "strict_patterns_found": 33,
        "candidate_patterns_found": 12,
        "active_patterns_at_prz": 7,
        "nearby_patterns": 9,
        "all_patterns": [
          "crab",
          "bat",
          "shark",
          "gartley",
          "butterfly",
          "butterfly",
          "bat",
          "butterfly",
          "bat",
          "shark",
          "gartley",
          "shark",
          "crab",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "gartley",
          "crab",
          "gartley",
          "gartley",
          "gartley",
          "butterfly",
          "crab",
          "gartley",
          "butterfly",
          "gartley",
          "butterfly",
          "butterfly",
          "bat",
          "shark",
          "crab",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "butterfly",
          "shark",
          "crab",
          "bat",
          "crab",
          "crab"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish"
        ],
        "best_pattern": "crab",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.941,
        "best_completion_status": "forming",
        "nearest_pattern": "gartley",
        "nearest_prz": 59547.06,
        "price_to_prz": 0.16,
        "prz_range": [
          59241.58,
          59852.53
        ],
        "council_relevant_prz_count": 5,
        "directional_influence_prz_count": 5,
        "confirmed_reaction_prz_count": 2,
        "validated_harmonic_tp_count": 2,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.938,
            "ratio_score": 0.961,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59871.13,
            "prz_range": [
              59703.2,
              60039.05
            ],
            "prz_width_pct": 0.561,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.71,
            "price_to_prz_pct_raw": 0.706,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59871.13,
              "a_price": 60250.4,
              "tp1_ad_382": 60016.01,
              "tp2_ad_618": 60105.52,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.8974
            },
            "x_price": 59819.8,
            "x_idx": 213,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 234,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 261,
            "b_order": 8,
            "c_price": 60228.5,
            "c_idx": 277,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.927,
            "ratio_score": 0.959,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59887.85,
            "prz_range": [
              59766.59,
              60009.11
            ],
            "prz_width_pct": 0.405,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.73,
            "price_to_prz_pct_raw": 0.7341,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 59887.85,
              "a_price": 60543.3,
              "tp1_ad_382": 60138.23,
              "tp2_ad_618": 60292.92,
              "tp3_a_or_structure_liquidity": 60543.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6111,
              "ABC": 0.7877
            },
            "x_price": 59714.8,
            "x_idx": 241,
            "x_order": 8,
            "a_price": 60543.3,
            "a_idx": 254,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 261,
            "b_order": 8,
            "c_price": 60435.8,
            "c_idx": 270,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.919,
            "ratio_score": 0.979,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59945.55,
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_width_pct": 0.511,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.83,
            "price_to_prz_pct_raw": 0.8312,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7905,
              "ABC": 0.4276
            },
            "x_price": 60074.5,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 151,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 170,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 216,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.911,
            "ratio_score": 0.998,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60091.22,
            "prz_range": [
              60012.86,
              60169.57
            ],
            "prz_width_pct": 0.261,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.08,
            "price_to_prz_pct_raw": 1.0762,
            "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": 60091.22,
              "a_price": 60697.6,
              "tp1_ad_382": 60322.86,
              "tp2_ad_618": 60465.96,
              "tp3_a_or_structure_liquidity": 60697.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4452,
              "ABC": 0.3818
            },
            "x_price": 60074.5,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60697.6,
            "a_idx": 180,
            "a_order": 3,
            "b_price": 60420.2,
            "b_idx": 196,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 229,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.909,
            "ratio_score": 0.991,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59950.0,
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_width_pct": 0.511,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.83,
            "price_to_prz_pct_raw": 0.8312,
            "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.672,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7905,
              "ABC": 0.4276,
              "BCD": 2.5014,
              "XAD": 1.2981
            },
            "x_price": 60074.5,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 151,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 170,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 216,
            "c_order": 5,
            "d_idx": 224
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.901,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60184.14,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.23,
            "price_to_prz_pct_raw": 1.2325,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924
            },
            "x_price": 60074.5,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 155,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 161,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 165,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.9,
            "ratio_score": 1.0,
            "prz_score": 0.992,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60182.95,
            "prz_range": [
              59996.13,
              60369.77
            ],
            "prz_width_pct": 0.621,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.23,
            "price_to_prz_pct_raw": 1.2305,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 60182.95,
              "a_price": 60492.2,
              "tp1_ad_382": 60301.08,
              "tp2_ad_618": 60374.07,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5535,
              "ABC": 1.3663
            },
            "x_price": 60074.5,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 151,
            "a_order": 3,
            "b_price": 60261.0,
            "b_idx": 161,
            "b_order": 5,
            "c_price": 60576.9,
            "c_idx": 200,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.891,
            "ratio_score": 0.98,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59950.0,
            "prz_range": [
              59909.54,
              60101.4
            ],
            "prz_width_pct": 0.32,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.93,
            "price_to_prz_pct_raw": 0.932,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.832,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60005.47,
              "a_price": 60387.8,
              "tp1_ad_382": 60151.52,
              "tp2_ad_618": 60241.75,
              "tp3_a_or_structure_liquidity": 60387.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4524,
              "ABC": 0.6253,
              "BCD": 2.5014,
              "XAD": 0.8772
            },
            "x_price": 59888.7,
            "x_idx": 132,
            "x_order": 5,
            "a_price": 60387.8,
            "a_idx": 136,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 170,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 216,
            "c_order": 5,
            "d_idx": 224
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.909,
            "ratio_score": 0.991,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59950.0,
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_width_pct": 0.511,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.83,
            "price_to_prz_pct_raw": 0.8312,
            "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.672,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7905,
              "ABC": 0.4276,
              "BCD": 2.5014,
              "XAD": 1.2981
            },
            "x_price": 60074.5,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 151,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 170,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 216,
            "c_order": 5,
            "d_idx": 224
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.895,
            "ratio_score": 0.93,
            "prz_score": 0.934,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59714.8,
            "prz_range": [
              59451.32,
              59910.53
            ],
            "prz_width_pct": 0.769,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.39,
            "price_to_prz_pct_raw": 0.3861,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.631,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59680.93,
              "a_price": 60557.8,
              "tp1_ad_382": 60015.89,
              "tp2_ad_618": 60222.84,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7589,
              "ABC": 0.5205,
              "BCD": 2.2683,
              "XAD": 1.2599
            },
            "x_price": 59888.7,
            "x_idx": 132,
            "x_order": 5,
            "a_price": 60557.8,
            "a_idx": 155,
            "a_order": 8,
            "b_price": 60050.0,
            "b_idx": 202,
            "b_order": 8,
            "c_price": 60314.3,
            "c_idx": 229,
            "c_order": 8,
            "d_idx": 241
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.938,
            "ratio_score": 0.961,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59871.13,
            "prz_range": [
              59703.2,
              60039.05
            ],
            "prz_width_pct": 0.561,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.71,
            "price_to_prz_pct_raw": 0.706,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59871.13,
              "a_price": 60250.4,
              "tp1_ad_382": 60016.01,
              "tp2_ad_618": 60105.52,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.8974
            },
            "x_price": 59819.8,
            "x_idx": 213,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 234,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 261,
            "b_order": 8,
            "c_price": 60228.5,
            "c_idx": 277,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.927,
            "ratio_score": 0.959,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59887.85,
            "prz_range": [
              59766.59,
              60009.11
            ],
            "prz_width_pct": 0.405,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.73,
            "price_to_prz_pct_raw": 0.7341,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 59887.85,
              "a_price": 60543.3,
              "tp1_ad_382": 60138.23,
              "tp2_ad_618": 60292.92,
              "tp3_a_or_structure_liquidity": 60543.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6111,
              "ABC": 0.7877
            },
            "x_price": 59714.8,
            "x_idx": 241,
            "x_order": 8,
            "a_price": 60543.3,
            "a_idx": 254,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 261,
            "b_order": 8,
            "c_price": 60435.8,
            "c_idx": 270,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.919,
            "ratio_score": 0.979,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59945.55,
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_width_pct": 0.511,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.83,
            "price_to_prz_pct_raw": 0.8312,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7905,
              "ABC": 0.4276
            },
            "x_price": 60074.5,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 151,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 170,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 216,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.938,
            "ratio_score": 0.961,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59871.13,
            "prz_range": [
              59703.2,
              60039.05
            ],
            "prz_width_pct": 0.561,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.71,
            "price_to_prz_pct_raw": 0.706,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59871.13,
              "a_price": 60250.4,
              "tp1_ad_382": 60016.01,
              "tp2_ad_618": 60105.52,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.8974
            },
            "x_price": 59819.8,
            "x_idx": 213,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 234,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 261,
            "b_order": 8,
            "c_price": 60228.5,
            "c_idx": 277,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.927,
            "ratio_score": 0.959,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59887.85,
            "prz_range": [
              59766.59,
              60009.11
            ],
            "prz_width_pct": 0.405,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.73,
            "price_to_prz_pct_raw": 0.7341,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 59887.85,
              "a_price": 60543.3,
              "tp1_ad_382": 60138.23,
              "tp2_ad_618": 60292.92,
              "tp3_a_or_structure_liquidity": 60543.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6111,
              "ABC": 0.7877
            },
            "x_price": 59714.8,
            "x_idx": 241,
            "x_order": 8,
            "a_price": 60543.3,
            "a_idx": 254,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 261,
            "b_order": 8,
            "c_price": 60435.8,
            "c_idx": 270,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.919,
            "ratio_score": 0.979,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59945.55,
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_width_pct": 0.511,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.83,
            "price_to_prz_pct_raw": 0.8312,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7905,
              "ABC": 0.4276
            },
            "x_price": 60074.5,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 151,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 170,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 216,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.911,
            "ratio_score": 0.998,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60091.22,
            "prz_range": [
              60012.86,
              60169.57
            ],
            "prz_width_pct": 0.261,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.08,
            "price_to_prz_pct_raw": 1.0762,
            "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": 60091.22,
              "a_price": 60697.6,
              "tp1_ad_382": 60322.86,
              "tp2_ad_618": 60465.96,
              "tp3_a_or_structure_liquidity": 60697.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4452,
              "ABC": 0.3818
            },
            "x_price": 60074.5,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60697.6,
            "a_idx": 180,
            "a_order": 3,
            "b_price": 60420.2,
            "b_idx": 196,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 229,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.909,
            "ratio_score": 0.991,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59950.0,
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_width_pct": 0.511,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.83,
            "price_to_prz_pct_raw": 0.8312,
            "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.672,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7905,
              "ABC": 0.4276,
              "BCD": 2.5014,
              "XAD": 1.2981
            },
            "x_price": 60074.5,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 151,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 170,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 216,
            "c_order": 5,
            "d_idx": 224
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.901,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60184.14,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.23,
            "price_to_prz_pct_raw": 1.2325,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924
            },
            "x_price": 60074.5,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 155,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 161,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 165,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.9,
            "ratio_score": 1.0,
            "prz_score": 0.992,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60182.95,
            "prz_range": [
              59996.13,
              60369.77
            ],
            "prz_width_pct": 0.621,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.23,
            "price_to_prz_pct_raw": 1.2305,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 60182.95,
              "a_price": 60492.2,
              "tp1_ad_382": 60301.08,
              "tp2_ad_618": 60374.07,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5535,
              "ABC": 1.3663
            },
            "x_price": 60074.5,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60492.2,
            "a_idx": 151,
            "a_order": 3,
            "b_price": 60261.0,
            "b_idx": 161,
            "b_order": 5,
            "c_price": 60576.9,
            "c_idx": 200,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.891,
            "ratio_score": 0.98,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59950.0,
            "prz_range": [
              59909.54,
              60101.4
            ],
            "prz_width_pct": 0.32,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.93,
            "price_to_prz_pct_raw": 0.932,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.832,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 60005.47,
              "a_price": 60387.8,
              "tp1_ad_382": 60151.52,
              "tp2_ad_618": 60241.75,
              "tp3_a_or_structure_liquidity": 60387.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4524,
              "ABC": 0.6253,
              "BCD": 2.5014,
              "XAD": 0.8772
            },
            "x_price": 59888.7,
            "x_idx": 132,
            "x_order": 5,
            "a_price": 60387.8,
            "a_idx": 136,
            "a_order": 3,
            "b_price": 60162.0,
            "b_idx": 170,
            "b_order": 8,
            "c_price": 60303.2,
            "c_idx": 216,
            "c_order": 5,
            "d_idx": 224
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.876,
            "ratio_score": 0.884,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60017.2,
            "prz_range": [
              59855.91,
              60065.1
            ],
            "prz_width_pct": 0.349,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.86,
            "price_to_prz_pct_raw": 0.8563,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.343,
                "adverse_move_ratio_ad": 0.444,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59960.51,
              "a_price": 60697.6,
              "tp1_ad_382": 60242.08,
              "tp2_ad_618": 60416.03,
              "tp3_a_or_structure_liquidity": 60697.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6354,
              "ABC": 0.4218,
              "BCD": 2.4444,
              "XAD": 1.5584
            },
            "x_price": 60261.0,
            "x_idx": 161,
            "x_order": 5,
            "a_price": 60697.6,
            "a_idx": 180,
            "a_order": 3,
            "b_price": 60420.2,
            "b_idx": 196,
            "b_order": 3,
            "c_price": 60303.2,
            "c_idx": 216,
            "c_order": 5,
            "d_idx": 229
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.861,
            "ratio_score": 0.908,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60162.0,
            "prz_range": [
              60109.93,
              60258.36
            ],
            "prz_width_pct": 0.247,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.23,
            "price_to_prz_pct_raw": 1.2325,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.353,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 60184.14,
              "a_price": 60557.8,
              "tp1_ad_382": 60326.88,
              "tp2_ad_618": 60415.06,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6141,
              "ABC": 0.6924,
              "BCD": 1.4818,
              "XAD": 0.819
            },
            "x_price": 60074.5,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60557.8,
            "a_idx": 155,
            "a_order": 8,
            "b_price": 60261.0,
            "b_idx": 161,
            "b_order": 5,
            "c_price": 60466.5,
            "c_idx": 165,
            "c_order": 3,
            "d_idx": 170
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.851,
            "ratio_score": 0.855,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59934.3,
            "prz_range": [
              59766.59,
              60009.11
            ],
            "prz_width_pct": 0.405,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.73,
            "price_to_prz_pct_raw": 0.7341,
            "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"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.483,
                "adverse_move_ratio_ad": 0.268,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 59887.85,
              "a_price": 60543.3,
              "tp1_ad_382": 60138.23,
              "tp2_ad_618": 60292.92,
              "tp3_a_or_structure_liquidity": 60543.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6111,
              "ABC": 0.7877,
              "BCD": 1.2575,
              "XAD": 0.7351
            },
            "x_price": 59714.8,
            "x_idx": 241,
            "x_order": 8,
            "a_price": 60543.3,
            "a_idx": 254,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 261,
            "b_order": 8,
            "c_price": 60435.8,
            "c_idx": 270,
            "c_order": 8,
            "d_idx": 272
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.941,
            "ratio_score": 1.0,
            "prz_score": 0.974,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59865.27,
            "prz_range": [
              59665.48,
              60065.07
            ],
            "prz_width_pct": 0.667,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.7,
            "price_to_prz_pct_raw": 0.6962,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59865.27,
              "a_price": 60697.6,
              "tp1_ad_382": 60183.22,
              "tp2_ad_618": 60379.65,
              "tp3_a_or_structure_liquidity": 60697.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4452,
              "ABC": 0.4218
            },
            "x_price": 60074.5,
            "x_idx": 149,
            "x_order": 8,
            "a_price": 60697.6,
            "a_idx": 180,
            "a_order": 3,
            "b_price": 60420.2,
            "b_idx": 196,
            "b_order": 3,
            "c_price": 60303.2,
            "c_idx": 216,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.938,
            "prz_proximity": "nearby",
            "prz_range": [
              59703.2,
              60039.05
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.71,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59871.13,
              "a_price": 60250.4,
              "tp1_ad_382": 60016.01,
              "tp2_ad_618": 60105.52,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $59,703.20-$60,039.05: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.927,
            "prz_proximity": "nearby",
            "prz_range": [
              59766.59,
              60009.11
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.73,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 59887.85,
              "a_price": 60543.3,
              "tp1_ad_382": 60138.23,
              "tp2_ad_618": 60292.92,
              "tp3_a_or_structure_liquidity": 60543.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $59,766.59-$60,009.11: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.919,
            "prz_proximity": "nearby",
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.83,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY FORMING HIGH PRZ $59,792.38-$60,098.72: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.909,
            "prz_proximity": "nearby",
            "prz_range": [
              59792.38,
              60098.72
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.83,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.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.672,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59945.55,
              "a_price": 60492.2,
              "tp1_ad_382": 60154.37,
              "tp2_ad_618": 60283.38,
              "tp3_a_or_structure_liquidity": 60492.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY COMPLETED HIGH PRZ $59,792.38-$60,098.72: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.895,
            "prz_proximity": "active",
            "prz_range": [
              59451.32,
              59910.53
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.39,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.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.631,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59680.93,
              "a_price": 60557.8,
              "tp1_ad_382": 60015.89,
              "tp2_ad_618": 60222.84,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY COMPLETED MEDIUM PRZ $59,451.32-$59,910.53: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "bat",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.938,
          "ratio_score": 0.961,
          "prz_score": 1.0,
          "prz_proximity": "nearby",
          "action_status": "nearby",
          "high_confluence_prz": true,
          "d_price": 59871.13,
          "prz_range": [
            59703.2,
            60039.05
          ],
          "prz_width_pct": 0.561,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 0.71,
          "price_to_prz_pct_raw": 0.706,
          "harmonic_vote_state": {
            "authority": "pre_confirmation_reversal_candidate",
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "confirmation_reasons": [],
            "reaction_score": 0.0,
            "reaction_detail": {
              "reaction_score": 0.0,
              "reasons": []
            },
            "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
            "standalone_path_override_allowed": false
          },
          "directional_vote_weight": 0.35,
          "confirmed_reaction": false,
          "standalone_path_override_allowed": false,
          "tp_ladder": {
            "direction": "bullish",
            "source": "bat",
            "d_price": 59871.13,
            "a_price": 60250.4,
            "tp1_ad_382": 60016.01,
            "tp2_ad_618": 60105.52,
            "tp3_a_or_structure_liquidity": 60250.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.4956,
            "ABC": 0.8974
          },
          "x_price": 59819.8,
          "x_idx": 213,
          "x_order": 8,
          "a_price": 60250.4,
          "a_idx": 234,
          "a_order": 3,
          "b_price": 60037.0,
          "b_idx": 261,
          "b_order": 8,
          "c_price": 60228.5,
          "c_idx": 277,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 59871.13,
          "a_price": 60250.4,
          "tp1_ad_382": 60016.01,
          "tp2_ad_618": 60105.52,
          "tp3_a_or_structure_liquidity": 60250.4,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "butterfly",
          "d_price": 59945.55,
          "a_price": 60492.2,
          "tp1_ad_382": 60154.37,
          "tp2_ad_618": 60283.38,
          "tp3_a_or_structure_liquidity": 60492.2,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 59871.13,
            "a_price": 60250.4,
            "tp1_ad_382": 60016.01,
            "tp2_ad_618": 60105.52,
            "tp3_a_or_structure_liquidity": 60250.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 59887.85,
            "a_price": 60543.3,
            "tp1_ad_382": 60138.23,
            "tp2_ad_618": 60292.92,
            "tp3_a_or_structure_liquidity": 60543.3,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 59945.55,
            "a_price": 60492.2,
            "tp1_ad_382": 60154.37,
            "tp2_ad_618": 60283.38,
            "tp3_a_or_structure_liquidity": 60492.2,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 59945.55,
            "a_price": 60492.2,
            "tp1_ad_382": 60154.37,
            "tp2_ad_618": 60283.38,
            "tp3_a_or_structure_liquidity": 60492.2,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 59680.93,
            "a_price": 60557.8,
            "tp1_ad_382": 60015.89,
            "tp2_ad_618": 60222.84,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 59945.55,
            "a_price": 60492.2,
            "tp1_ad_382": 60154.37,
            "tp2_ad_618": 60283.38,
            "tp3_a_or_structure_liquidity": 60492.2,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 59680.93,
            "a_price": 60557.8,
            "tp1_ad_382": 60015.89,
            "tp2_ad_618": 60222.84,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "watch",
        "directional_scores": {
          "bullish": 1.19,
          "bearish": 0
        },
        "directional_score_total": 1.19,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"현재가 $59,451.40이 완료된 bullish butterfly 활성 PRZ 하단 $59,451.32-$59,910.53에 재진입/접촉\",\n    \"완료된 bullish butterfly가 PRZ_touch_or_entry, PRZ_rejection_or_defense, AD0.382_reaction_reached, D_PRZ_failure_zone_defended로 반응 확인됨\",\n    \"확인된 bullish butterfly TP 사다리: TP1 $60,015.89, TP2 $60,222.84, TP3 $60,557.80\",\n    \"고품질 strict bullish bat 형성 PRZ $59,703.20-$60,039.05, XAB 0.4956로 Bat 기준 0.50에 근접\",\n    \"고품질 strict bullish gartley 형성 PRZ $59,766.59-$60,009.11, XAB 0.6111로 Gartley 기준 0.618에 근접\",\n    \"고품질 strict bullish butterfly PRZ $59,792.38-$60,098.72와 완료 butterfly PRZ가 중첩되어 $59,790-$60,100 구간에 Fib confluence 형성\"\n  ],\n  \"reasoning\": \"하모닉 기준으로는 bullish 쪽 반응 구간이 우세하지만, 확정 BOS/CHoCH 또는 상위 구조 수용 데이터가 없으므로 structure_bias는 neutral로 둔다. 현재가 $59,451.40은 확인된 bullish butterfly의 활성 PRZ $59,451.32-$59,910.53 하단에 정확히 위치하며, 해당 패턴은 reaction_score 1.0과 directional_vote_weight 0.58로 사후 반응이 확인된 중간 강도 근거다. 추가로 $59,703.20-$60,039.05의 strict high bullish bat, $59,766.59-$60,009.11의 strict high bullish gartley, $59,792.38-$60,098.72의 strict high butterfly가 모두 ABCD, BC_EXT, XAD 3중 Fib confluence를 갖고 있어 $59.45k-$60.10k는 강한 반등 후보 PRZ다. 다만 하모닉은 단독 경로 엔진이 아니므로 이 신호는 구조 전환 확정이 아니라 PRZ 방어 기반의 bullish setup이며, $60,015-$60,154 회복 전까지는 공격적 추격보다 반응 확인이 필요하다.\",\n  \"key_levels\": {\n    \"support\": [\n      59451.32,\n      59241.58,\n      59703.2,\n      59766.59,\n      59792.38\n    ],\n    \"resistance\": [\n      59910.53,\n      60015.89,\n      60016.01,\n      60154.37,\n      60222.84,\n      60283.38,\n      60492.2,\n      60557.8\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,241.58 15분 종가 이탈\",\n  \"risk_scenario\": \"$59,241.58 아래로 15분 종가가 확정되면 현재 활성 PRZ 방어 논리가 훼손되고, bullish butterfly의 D 실패 방어가 무효화될 가능성이 크다. 이 경우 $59,451-$59,910 구간은 지지 PRZ가 아니라 저항 재테스트 구간으로 바뀔 수 있으며, $58,288.00 7일 저점 유동성 재탐색이 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.72,
    "execution_setup": {
      "setup_bias": "bullish",
      "setup_strength": 0.63,
      "active_setups": [
        "ICT: 현재가 $59,451.40가 EQ $59,883.95 아래 discount 영역에 있으며, $58,288.00-$58,944.00 bullish OB 후보가 활성",
        "Fibonacci: 현재가가 하락 스윙 확장 지지 ext_1.0 $59,366.60 바로 위에서 테스트 중이며 반응 확률 0.65",
        "Candlestick: 7일 범위 EQ $59,606.35 아래에서 high-volume bullish harami 감지, pattern_quality 0.760",
        "Harmonic: 완료된 bullish butterfly 활성 PRZ $59,451.32-$59,910.53 하단에 가격이 접촉, 확인된 반응 기반 TP 후보 $60,015.89 / $60,222.84 / $60,557.80",
        "Derivatives: 롱 계정 비율 0.687로 롱 과밀, CVD 변화 -2230.7160으로 매수 체결 강도 약화",
        "Wyckoff: Phase D 분배 구조 내 LPSY $59,678.80 하방 체류"
      ],
      "setup_vs_structure": "확정 구조는 분배·하락 BOS·EMA 하방 체류로 bearish이나, 단기 실행 셋업은 discount/PRZ/피보나치 지지 반응 때문에 bullish 쪽이 더 많이 관측된다. 즉, 구조와 실행 셋업이 분리되어 있으며 현재 구간은 추세 확정 구간이 아니라 약세 구조 내부의 반등 후보 구간으로 해석해야 한다."
    },
    "signal_breakdown": {
      "bullish_count": 2,
      "bearish_count": 2,
      "neutral_count": 2
    },
    "key_levels": {
      "support": [
        59451.32,
        59366.6,
        59245.87,
        59224.6,
        59075.78,
        58944.0,
        58923.95,
        58900.0,
        58388.0,
        58288.0
      ],
      "resistance": [
        59606.35,
        59650.91,
        59678.8,
        59883.95,
        59901.2,
        59910.53,
        60015.89,
        60027.37,
        60037.0,
        60314.3,
        60543.3,
        60557.8,
        60734.0
      ]
    },
    "confluences": [
      "Wyckoff의 LPSY $59,678.80, Candlestick의 EMA20 $59,650.91, Derivatives의 EMA20 저항 $59,650.91이 모두 $59.65k-$59.68k를 단기 구조 저항으로 지목한다.",
      "ICT EQ $59,883.95, Fibonacci ret_0.5 $59,901.20, Harmonic 활성 PRZ 상단 $59,910.53이 $59.88k-$59.91k를 핵심 균형·반응 경계로 형성한다.",
      "Fibonacci golden ratio $60,027.37, EMA120 $60,025.82, ICT bearish BOS 레벨 $60,037.00, Harmonic TP/PRZ $60,015.89-$60,039.05가 $60.02k-$60.04k에 강한 저항 클러스터를 만든다.",
      "Harmonic의 활성 bullish butterfly PRZ 하단 $59,451.32와 현재가 $59,451.40이 거의 일치하며, Fibonacci ext_1.0 $59,366.60과 함께 $59.36k-$59.45k 반응 구간을 형성한다.",
      "Fibonacci 하방 확장 $58,923.95, ICT bullish OB 상단 $58,944.00, Derivatives 청산 레벨 $58,900이 $58.90k-$58.94k 지지·유동성 클러스터로 겹친다.",
      "Wyckoff AR $58,388.00, ICT bullish OB 하단 $58,288.00, 7일 저점 $58,288.00이 $58.29k-$58.39k를 구조적 하단 방어 구간으로 공유한다.",
      "Wyckoff UTAD $60,543.30, ICT bullish BOS 과거 레벨 $60,557.80, Harmonic TP3 $60,557.80이 $60.54k-$60.56k를 상단 구조 검증 레벨로 일치시킨다."
    ],
    "conflicts": [
      "구조 진단은 대부분 bearish이다. ICT, Fibonacci, Candlestick, Derivatives, Wyckoff 모두 가격이 EMA20/EMA120 및 주요 EQ 하단에 있다고 보며, Wyckoff는 이를 Phase D 분배 구조로 해석한다.",
      "반면 실행 셋업은 bullish 쪽이 우세하다. ICT discount, Fibonacci 지지 테스트, Candlestick bullish harami, Harmonic 활성 PRZ가 모두 반등 후보 조건을 제시하지만, 이는 아직 구조 전환 확정 신호는 아니다.",
      "Derivatives는 롱 계정 비율 0.687과 CVD -2230.7160을 근거로 매수 기반이 약하다고 판단하는 반면, Harmonic은 확인된 bullish butterfly PRZ 반응을 근거로 반등 셋업을 지지한다.",
      "ICT는 setup_bias를 bullish로 제시하지만, 최근 확정 구조 이벤트는 $60,037.00 하향 bearish BOS이므로 구조와 셋업이 내부적으로도 충돌한다.",
      "Harmonic의 bullish 신호는 PRZ 반응과 TP 사다리에는 유효하지만, 자체적으로 Wyckoff 분배 구조나 파생 포지셔닝 약세를 뒤집을 수 있는 구조 엔진은 아니다."
    ],
    "executive_summary": "BTC 15분 구조는 현재 bullish 반전 구조가 아니라 Wyckoff 기준 Phase D 분배 구조로 진단되며, UTAD $60,543.30 이후 LPSY $59,678.80가 형성된 뒤 가격이 그 아래에 머물고 있다. ICT의 최근 확정 구조도 $60,037.00 하향 bearish BOS이며, Fibonacci·Candlestick·Derivatives 모두 EMA20 $59,650.91 및 EMA120 약 $60,026 하방 체류를 근거로 구조적 약세를 지지한다. 다만 현재가 $59,451.40는 Harmonic 활성 bullish butterfly PRZ $59,451.32-$59,910.53 하단과 거의 일치하고, Fibonacci ext_1.0 $59,366.60 인근 지지 테스트가 진행 중이어서 단기 실행 셋업은 구조와 달리 bullish 반응 후보가 강하다. 핵심 구조 저항은 $59,650-$59,679, $59,884-$60,037, $60,543-$60,558이며, 구조적 bearish 해석은 $60,734.00 회복 시 무효화된다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.72,\n  \"execution_setup\": {\n    \"setup_bias\": \"bullish\",\n    \"setup_strength\": 0.63,\n    \"active_setups\": [\n      \"ICT: 현재가 $59,451.40가 EQ $59,883.95 아래 discount 영역에 있으며, $58,288.00-$58,944.00 bullish OB 후보가 활성\",\n      \"Fibonacci: 현재가가 하락 스윙 확장 지지 ext_1.0 $59,366.60 바로 위에서 테스트 중이며 반응 확률 0.65\",\n      \"Candlestick: 7일 범위 EQ $59,606.35 아래에서 high-volume bullish harami 감지, pattern_quality 0.760\",\n      \"Harmonic: 완료된 bullish butterfly 활성 PRZ $59,451.32-$59,910.53 하단에 가격이 접촉, 확인된 반응 기반 TP 후보 $60,015.89 / $60,222.84 / $60,557.80\",\n      \"Derivatives: 롱 계정 비율 0.687로 롱 과밀, CVD 변화 -2230.7160으로 매수 체결 강도 약화\",\n      \"Wyckoff: Phase D 분배 구조 내 LPSY $59,678.80 하방 체류\"\n    ],\n    \"setup_vs_structure\": \"확정 구조는 분배·하락 BOS·EMA 하방 체류로 bearish이나, 단기 실행 셋업은 discount/PRZ/피보나치 지지 반응 때문에 bullish 쪽이 더 많이 관측된다. 즉, 구조와 실행 셋업이 분리되어 있으며 현재 구간은 추세 확정 구간이 아니라 약세 구조 내부의 반등 후보 구간으로 해석해야 한다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 2,\n    \"bearish_count\": 2,\n    \"neutral_count\": 2\n  },\n  \"key_levels\": {\n    \"support\": [\n      59451.32,\n      59366.6,\n      59245.87,\n      59224.6,\n      59075.78,\n      58944.0,\n      58923.95,\n      58900.0,\n      58388.0,\n      58288.0\n    ],\n    \"resistance\": [\n      59606.35,\n      59650.91,\n      59678.8,\n      59883.95,\n      59901.2,\n      59910.53,\n      60015.89,\n      60027.37,\n      60037.0,\n      60314.3,\n      60543.3,\n      60557.8,\n      60734.0\n    ]\n  },\n  \"confluences\": [\n    \"Wyckoff의 LPSY $59,678.80, Candlestick의 EMA20 $59,650.91, Derivatives의 EMA20 저항 $59,650.91이 모두 $59.65k-$59.68k를 단기 구조 저항으로 지목한다.\",\n    \"ICT EQ $59,883.95, Fibonacci ret_0.5 $59,901.20, Harmonic 활성 PRZ 상단 $59,910.53이 $59.88k-$59.91k를 핵심 균형·반응 경계로 형성한다.\",\n    \"Fibonacci golden ratio $60,027.37, EMA120 $60,025.82, ICT bearish BOS 레벨 $60,037.00, Harmonic TP/PRZ $60,015.89-$60,039.05가 $60.02k-$60.04k에 강한 저항 클러스터를 만든다.\",\n    \"Harmonic의 활성 bullish butterfly PRZ 하단 $59,451.32와 현재가 $59,451.40이 거의 일치하며, Fibonacci ext_1.0 $59,366.60과 함께 $59.36k-$59.45k 반응 구간을 형성한다.\",\n    \"Fibonacci 하방 확장 $58,923.95, ICT bullish OB 상단 $58,944.00, Derivatives 청산 레벨 $58,900이 $58.90k-$58.94k 지지·유동성 클러스터로 겹친다.\",\n    \"Wyckoff AR $58,388.00, ICT bullish OB 하단 $58,288.00, 7일 저점 $58,288.00이 $58.29k-$58.39k를 구조적 하단 방어 구간으로 공유한다.\",\n    \"Wyckoff UTAD $60,543.30, ICT bullish BOS 과거 레벨 $60,557.80, Harmonic TP3 $60,557.80이 $60.54k-$60.56k를 상단 구조 검증 레벨로 일치시킨다.\"\n  ],\n  \"conflicts\": [\n    \"구조 진단은 대부분 bearish이다. ICT, Fibonacci, Candlestick, Derivatives, Wyckoff 모두 가격이 EMA20/EMA120 및 주요 EQ 하단에 있다고 보며, Wyckoff는 이를 Phase D 분배 구조로 해석한다.\",\n    \"반면 실행 셋업은 bullish 쪽이 우세하다. ICT discount, Fibonacci 지지 테스트, Candlestick bullish harami, Harmonic 활성 PRZ가 모두 반등 후보 조건을 제시하지만, 이는 아직 구조 전환 확정 신호는 아니다.\",\n    \"Derivatives는 롱 계정 비율 0.687과 CVD -2230.7160을 근거로 매수 기반이 약하다고 판단하는 반면, Harmonic은 확인된 bullish butterfly PRZ 반응을 근거로 반등 셋업을 지지한다.\",\n    \"ICT는 setup_bias를 bullish로 제시하지만, 최근 확정 구조 이벤트는 $60,037.00 하향 bearish BOS이므로 구조와 셋업이 내부적으로도 충돌한다.\",\n    \"Harmonic의 bullish 신호는 PRZ 반응과 TP 사다리에는 유효하지만, 자체적으로 Wyckoff 분배 구조나 파생 포지셔닝 약세를 뒤집을 수 있는 구조 엔진은 아니다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — $60,734.00 BC, $58,388.00 AR, $60,543.30 UTAD, $59,678.80 LPSY로 이어지는 확인된 분배 시퀀스를 제시했고, 현재가 $59,451.40가 LPSY와 범위 중간값 약 $59,561.00 아래에 있어 구조 진단의 일관성이 가장 높다.\",\n  \"invalidation_level\": \"$60,734.00 회복 시 현재 분배 기반 bearish 구조 해석은 무효화된다. 선행 경고 레벨은 UTAD $60,543.30 상회 및 수용이다.\",\n  \"executive_summary\": \"BTC 15분 구조는 현재 bullish 반전 구조가 아니라 Wyckoff 기준 Phase D 분배 구조로 진단되며, UTAD $60,543.30 이후 LPSY $59,678.80가 형성된 뒤 가격이 그 아래에 머물고 있다. ICT의 최근 확정 구조도 $60,037.00 하향 bearish BOS이며, Fibonacci·Candlestick·Derivatives 모두 EMA20 $59,650.91 및 EMA120 약 $60,026 하방 체류를 근거로 구조적 약세를 지지한다. 다만 현재가 $59,451.40는 Harmonic 활성 bullish butterfly PRZ $59,451.32-$59,910.53 하단과 거의 일치하고, Fibonacci ext_1.0 $59,366.60 인근 지지 테스트가 진행 중이어서 단기 실행 셋업은 구조와 달리 bullish 반응 후보가 강하다. 핵심 구조 저항은 $59,650-$59,679, $59,884-$60,037, $60,543-$60,558이며, 구조적 bearish 해석은 $60,734.00 회복 시 무효화된다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.72,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.6,
    "waypoints": [
      {
        "seq": 1,
        "price": 59725.38,
        "type": "resistance_test",
        "source": "Fibonacci(strict fib confluence $59,725.38 score 1.0, ret_0.236 $59,618.93), Wyckoff(LPSY $59,678.80 재테스트), Candlestick/Derivatives(EMA20 $59,650.91 저항), Harmonic(확인된 PRZ 반등)",
        "description": "실행 셋업이 bullish(강도 0.63)로 구조와 분리되어 셋업-우선 규칙상 첫 구간은 반등이다. 현재가가 확인된 bullish butterfly PRZ 하단 $59,451.32 및 Fib ext_1.0 $59,366.60 지지에서 방어된 직후라, EMA20 $59,650.91·Wyckoff LPSY $59,678.80 저항 위의 strict fib confluence $59,725.38(score 1.0)까지 LPSY 재테스트성 반등이 우세하다. EMA20/LPSY 상단 매수 stop을 흡수한 뒤 Phase D 분배 구조 특유의 거부가 예상되는 자리다. 단, 파생(CVD -2230·롱 과밀)이 약세라 하모닉 TP 사다리($60,015+)까지 확장은 제한된다.",
        "est_hours": 2.5,
        "turning_zone": [
          59725.38,
          59790.0
        ],
        "likely_wick": 59775.03,
        "rejection_confirm": 59650.91,
        "invalid_overshoot": 59911.0,
        "calibration_reasoning": "4중 strict fib confluence $59,725.38(score 1.0)을 zone 하단으로, 바로 위 Fib 0.382 저항 $59,775.03을 상단 자석으로 설정(폭 ~0.39 ATR). EMA20 $59,650.91·LPSY $59,678.80 상단 매수 stop을 흡수하는 wick이 Fib 0.382까지 닿을 확률이 높고, 파생 약세로 그 이상 확장은 제한된다. EMA20 $59,650.91 재상실 시 거부 확정, 챔피언 저항 클러스터 $59,883.95~$59,910.53 돌파 시 하모닉 TP1 $60,015.89로 향해 resistance_test가 무효화된다."
      },
      {
        "seq": 2,
        "price": 59245.87,
        "type": "support_test",
        "source": "Fibonacci(strict fib confluence $59,245.87 score 0.85, ext_1.0 $59,366.60), ICT(지지 $59,224.60)",
        "description": "LPSY 클러스터에서 거부되면 bearish 구조(분배·$60,037 하향 BOS·EMA 하방 체류)가 재개된다. 지지 $59,451.32와 Fib ext_1.0 $59,366.60을 차례로 이탈하며 strict fib confluence $59,245.87(score 0.85)을 테스트한다. ICT 지지 $59,224.60이 바로 아래 겹쳐 1차 markdown 목표이자 단기 반응 가능 구간이다.",
        "est_hours": 7.0,
        "turning_zone": [
          59180.0,
          59245.87
        ],
        "likely_wick": 59221.0,
        "rejection_confirm": 59300.0,
        "invalid_overshoot": 59075.78,
        "calibration_reasoning": "strict fib confluence $59,245.87(ext_1.272·ret_0.618·ext_1.0, score 0.85)을 zone 상단으로, 바로 아래 겹친 ICT 지지 $59,224.60(1차 markdown·단기 반응 구간)을 포함하고 소폭 스윕까지 허용(폭 ~0.40 ATR). likely_wick은 ICT 지지를 살짝 쓸어내리는 $59,221로 둔다. $59,300 회복 시 단기 반응 확정, 다음 Fib ext_1.272 지지 $59,075.78 이탈 시 반응 실패로 waypoint 3 연장."
      },
      {
        "seq": 3,
        "price": 58827.35,
        "type": "swing_low",
        "source": "Fibonacci(strict fib confluence $58,827.35 score 0.85, ext_1.272 $59,075.78, ext_1.414 $58,923.95), Derivatives(청산 유동성 $59,000/$58,900), ICT(bull OB 상단 $58,944)",
        "description": "Derivatives 롱 과밀 0.687·CVD -2230·OI 감소가 하방을 지지하며 $59,000·$58,900 청산 유동성이 우선 테스트된다. Fib ext_1.272 $59,075.78, ext_1.414 $58,923.95(=ICT bull OB 상단 $58,944·청산 $58,900 클러스터)를 이탈하며 strict fib confluence $58,827.35(score 0.85)까지 청산 유동성을 쓸어내리는 swing low를 형성한다. 추가 이탈 시 Wyckoff AR $58,388·7일 저점 $58,288이 다음 목표다.",
        "est_hours": 16.0,
        "turning_zone": [
          58715.0,
          58827.35
        ],
        "likely_wick": 58800.0,
        "rejection_confirm": 58944.0,
        "invalid_overshoot": 58700.0,
        "calibration_reasoning": "터미널 waypoint로 wider zone(~0.68 ATR) 적용. strict fib confluence $58,827.35(ext_1.618·ret_0.786·ext_1.414, score 0.85)을 상단으로 두고, $58,900 청산 유동성을 쓸어낸 뒤 라운드넘버 $58,800(유동성 자석)로 wick을 bias한다. ICT bull OB 상단 $58,944 재탈환 시 swing low 확정, $58,700 이탈 시 Wyckoff AR $58,388·7일 저점 $58,288행 추가 markdown으로 본 turning point 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 59725.38,
        "expected_low": 59561.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 59725.38,
        "expected_low": 59224.6,
        "high_first": true
      },
      "24h": {
        "expected_high": 59725.38,
        "expected_low": 58827.35,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 60037.0,
        "description": "골든비율 $60,027.37·EMA120 $60,025.82·ICT 하향 BOS $60,037.00·하모닉 TP1 $60,015.89 클러스터를 15분 종가로 회복하면 단기 구조가 bullish로 전환되어 하모닉 TP 사다리 $60,222.84 → $60,557.80이 활성화된다. markdown 시나리오는 이때 보류된다."
      },
      "bearish": {
        "price": 59366.6,
        "description": "Fib ext_1.0·PRZ 하단 $59,366.60을 15분 종가로 이탈하면 PRZ 방어 실패와 반등 무산으로 bearish 가속이 확정되어 WP1 반등 없이 $59,245.87 → $59,075.78 → $58,900 청산 클러스터로 직행한다."
      }
    },
    "scenario_invalidation": 60734.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.6,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 59725.38,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci(strict fib confluence $59,725.38 score 1.0, ret_0.236 $59,618.93), Wyckoff(LPSY $59,678.80 재테스트), Candlestick/Derivatives(EMA20 $59,650.91 저항), Harmonic(확인된 PRZ 반등)\",\n      \"description\": \"실행 셋업이 bullish(강도 0.63)로 구조와 분리되어 셋업-우선 규칙상 첫 구간은 반등이다. 현재가가 확인된 bullish butterfly PRZ 하단 $59,451.32 및 Fib ext_1.0 $59,366.60 지지에서 방어된 직후라, EMA20 $59,650.91·Wyckoff LPSY $59,678.80 저항 위의 strict fib confluence $59,725.38(score 1.0)까지 LPSY 재테스트성 반등이 우세하다. EMA20/LPSY 상단 매수 stop을 흡수한 뒤 Phase D 분배 구조 특유의 거부가 예상되는 자리다. 단, 파생(CVD -2230·롱 과밀)이 약세라 하모닉 TP 사다리($60,015+)까지 확장은 제한된다.\",\n      \"est_hours\": 2.5\n    },\n    {\n      \"seq\": 2,\n      \"price\": 59245.87,\n      \"type\": \"support_test\",\n      \"source\": \"Fibonacci(strict fib confluence $59,245.87 score 0.85, ext_1.0 $59,366.60), ICT(지지 $59,224.60)\",\n      \"description\": \"LPSY 클러스터에서 거부되면 bearish 구조(분배·$60,037 하향 BOS·EMA 하방 체류)가 재개된다. 지지 $59,451.32와 Fib ext_1.0 $59,366.60을 차례로 이탈하며 strict fib confluence $59,245.87(score 0.85)을 테스트한다. ICT 지지 $59,224.60이 바로 아래 겹쳐 1차 markdown 목표이자 단기 반응 가능 구간이다.\",\n      \"est_hours\": 7.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 58827.35,\n      \"type\": \"swing_low\",\n      \"source\": \"Fibonacci(strict fib confluence $58,827.35 score 0.85, ext_1.272 $59,075.78, ext_1.414 $58,923.95), Derivatives(청산 유동성 $59,000/$58,900), ICT(bull OB 상단 $58,944)\",\n      \"description\": \"Derivatives 롱 과밀 0.687·CVD -2230·OI 감소가 하방을 지지하며 $59,000·$58,900 청산 유동성이 우선 테스트된다. Fib ext_1.272 $59,075.78, ext_1.414 $58,923.95(=ICT bull OB 상단 $58,944·청산 $58,900 클러스터)를 이탈하며 strict fib confluence $58,827.35(score 0.85)까지 청산 유동성을 쓸어내리는 swing low를 형성한다. 추가 이탈 시 Wyckoff AR $58,388·7일 저점 $58,288이 다음 목표다.\",\n      \"est_hours\": 16.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 59725.38, \"expected_low\": 59561.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 59725.38, \"expected_low\": 59224.6, \"high_first\": true},\n    \"24h\": {\"expected_high\": 59725.38, \"expected_low\": 58827.35, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 60037.0, \"description\": \"골든비율 $60,027.37·EMA120 $60,025.82·ICT 하향 BOS $60,037.00·하모닉 TP1 $60,015.89 클러스터를 15분 종가로 회복하면 단기 구조가 bullish로 전환되어 하모닉 TP 사다리 $60,222.84 → $60,557.80이 활성화된다. markdown 시나리오는 이때 보류된다.\"},\n    \"bearish\": {\"price\": 59366.6, \"description\": \"Fib ext_1.0·PRZ 하단 $59,366.60을 15분 종가로 이탈하면 PRZ 방어 실패와 반등 무산으로 bearish 가속이 확정되어 WP1 반등 없이 $59,245.87 → $59,075.78 → $58,900 청산 클러스터로 직행한다.\"}\n  },\n  \"scenario_invalidation\": 60734.0\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 59725.38,
        "turning_zone": [
          59725.38,
          59790.0
        ],
        "likely_wick": 59775.03,
        "rejection_confirm": 59650.91,
        "invalid_overshoot": 59911.0,
        "calibration_reasoning": "4중 strict fib confluence $59,725.38(score 1.0)을 zone 하단으로, 바로 위 Fib 0.382 저항 $59,775.03을 상단 자석으로 설정(폭 ~0.39 ATR). EMA20 $59,650.91·LPSY $59,678.80 상단 매수 stop을 흡수하는 wick이 Fib 0.382까지 닿을 확률이 높고, 파생 약세로 그 이상 확장은 제한된다. EMA20 $59,650.91 재상실 시 거부 확정, 챔피언 저항 클러스터 $59,883.95~$59,910.53 돌파 시 하모닉 TP1 $60,015.89로 향해 resistance_test가 무효화된다."
      },
      {
        "seq": 2,
        "base_target": 59245.87,
        "turning_zone": [
          59180.0,
          59245.87
        ],
        "likely_wick": 59221.0,
        "rejection_confirm": 59300.0,
        "invalid_overshoot": 59075.78,
        "calibration_reasoning": "strict fib confluence $59,245.87(ext_1.272·ret_0.618·ext_1.0, score 0.85)을 zone 상단으로, 바로 아래 겹친 ICT 지지 $59,224.60(1차 markdown·단기 반응 구간)을 포함하고 소폭 스윕까지 허용(폭 ~0.40 ATR). likely_wick은 ICT 지지를 살짝 쓸어내리는 $59,221로 둔다. $59,300 회복 시 단기 반응 확정, 다음 Fib ext_1.272 지지 $59,075.78 이탈 시 반응 실패로 waypoint 3 연장."
      },
      {
        "seq": 3,
        "base_target": 58827.35,
        "turning_zone": [
          58715.0,
          58827.35
        ],
        "likely_wick": 58800.0,
        "rejection_confirm": 58944.0,
        "invalid_overshoot": 58700.0,
        "calibration_reasoning": "터미널 waypoint로 wider zone(~0.68 ATR) 적용. strict fib confluence $58,827.35(ext_1.618·ret_0.786·ext_1.414, score 0.85)을 상단으로 두고, $58,900 청산 유동성을 쓸어낸 뒤 라운드넘버 $58,800(유동성 자석)로 wick을 bias한다. ICT bull OB 상단 $58,944 재탈환 시 swing low 확정, $58,700 이탈 시 Wyckoff AR $58,388·7일 저점 $58,288행 추가 markdown으로 본 turning point 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 59725.38,\n      \"turning_zone\": [59725.38, 59790.00],\n      \"likely_wick\": 59775.03,\n      \"rejection_confirm\": 59650.91,\n      \"invalid_overshoot\": 59911.00,\n      \"calibration_reasoning\": \"4중 strict fib confluence $59,725.38(score 1.0)을 zone 하단으로, 바로 위 Fib 0.382 저항 $59,775.03을 상단 자석으로 설정(폭 ~0.39 ATR). EMA20 $59,650.91·LPSY $59,678.80 상단 매수 stop을 흡수하는 wick이 Fib 0.382까지 닿을 확률이 높고, 파생 약세로 그 이상 확장은 제한된다. EMA20 $59,650.91 재상실 시 거부 확정, 챔피언 저항 클러스터 $59,883.95~$59,910.53 돌파 시 하모닉 TP1 $60,015.89로 향해 resistance_test가 무효화된다.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 59245.87,\n      \"turning_zone\": [59180.00, 59245.87],\n      \"likely_wick\": 59221.00,\n      \"rejection_confirm\": 59300.00,\n      \"invalid_overshoot\": 59075.78,\n      \"calibration_reasoning\": \"strict fib confluence $59,245.87(ext_1.272·ret_0.618·ext_1.0, score 0.85)을 zone 상단으로, 바로 아래 겹친 ICT 지지 $59,224.60(1차 markdown·단기 반응 구간)을 포함하고 소폭 스윕까지 허용(폭 ~0.40 ATR). likely_wick은 ICT 지지를 살짝 쓸어내리는 $59,221로 둔다. $59,300 회복 시 단기 반응 확정, 다음 Fib ext_1.272 지지 $59,075.78 이탈 시 반응 실패로 waypoint 3 연장.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 58827.35,\n      \"turning_zone\": [58715.00, 58827.35],\n      \"likely_wick\": 58800.00,\n      \"rejection_confirm\": 58944.00,\n      \"invalid_overshoot\": 58700.00,\n      \"calibration_reasoning\": \"터미널 waypoint로 wider zone(~0.68 ATR) 적용. strict fib confluence $58,827.35(ext_1.618·ret_0.786·ext_1.414, score 0.85)을 상단으로 두고, $58,900 청산 유동성을 쓸어낸 뒤 라운드넘버 $58,800(유동성 자석)로 wick을 bias한다. ICT bull OB 상단 $58,944 재탈환 시 swing low 확정, $58,700 이탈 시 Wyckoff AR $58,388·7일 저점 $58,288행 추가 markdown으로 본 turning point 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 53.8,
      "chairman": 83.2,
      "operating_path": 354.0,
      "tp_calibrator": 155.8
    },
    "agents": {},
    "total_s": 646.8
  }
}