{
  "symbol": "BTC/USDT",
  "timeframe": "4h",
  "timestamp": "2026-06-29 01:00 KST",
  "last_price": 59850.0,
  "num_candles": 300,
  "stage1_analyses": {
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bullish",
      "confidence": 0.69,
      "structure_bias": "bullish",
      "setup_bias": "bullish",
      "setup_score": 0.55,
      "setup_signals": [
        "현재가 $59,850은 메인 레인지 EQ 약 $61,665 아래의 discount 구간에 위치",
        "Spring $58,288 이후 SOS $60,924.7 형성, 이후 LPS $59,714.8 부근에서 테스트 진행",
        "현재가가 LPS $59,714.8 위에 있으나, SOS $60,924.7 및 EQ $61,665 재돌파는 아직 미확인",
        "SC $59,080 및 Spring $58,288 구간이 하방 유동성 회수 후 수요 방어 구간으로 작동 중"
      ],
      "reasoning": "지표상 regime은 ACC, regime_state는 confirmed_acc이며 acc_score 90.1, regime_fitness 0.901로 현재 구조는 확정된 축적 Phase D로 해석된다. 주요 앵커는 SC $59,080, AR $64,250이며, 이후 Spring $58,288 → SOS $60,924.7 → LPS $59,714.8 순서가 확인되어 구조적 편향은 bullish이다. 다만 현재가 $59,850은 LPS 바로 위에 머물러 있을 뿐 SOS $60,924.7과 레인지 EQ 약 $61,665를 회복하지 못했기 때문에, 즉각적인 상승 확정보다는 LPS 방어 여부를 확인하는 구간이다. $59,714.8을 유지하면 $60,924.7 재시험이 우선이며, 실패 시 SC $59,080 및 Spring $58,288 재검증 위험이 열린다.",
      "key_levels": {
        "support": [
          59714.8,
          59080.0,
          58288.0
        ],
        "resistance": [
          60924.7,
          61665.0,
          64250.0
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$58,288",
      "risk_scenario": "반대 시나리오는 LPS $59,714.8 이탈 후 SC $59,080 아래로 재진입하고, Spring 저점 $58,288까지 깨지는 경우이다. 이 경우 Spring 이후 SOS-LPS 구조가 실패한 것으로 보며, Phase D 축적 해석은 약화되고 레인지 하단 재축적 또는 실패한 Spring 구조로 재평가해야 한다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 90.1,
        "dis_score": 77.5,
        "regime": "ACC",
        "regime_state": "confirmed_acc",
        "structure_bias": "bullish",
        "phase_context": "confirmed_acc / accumulation / Phase D",
        "phases_detected": [
          "SC",
          "AR",
          "ST",
          "Spring",
          "SOS",
          "LPS"
        ],
        "last_phase": "LPS",
        "phase_candidates": [
          {
            "label": "SC",
            "side": "low",
            "idx": 162,
            "price": 59080.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 175,
            "price": 64250.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 216,
            "price": 63650.0,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 284,
            "price": 58288.0,
            "color": "#f9844a"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 293,
            "price": 60924.7,
            "color": "#06d6a0"
          },
          {
            "label": "LPS",
            "side": "low",
            "idx": 297,
            "price": 59714.8,
            "color": "#8338ec"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "4h_cycle_1",
            "sequence": 1,
            "timeframe": "4h",
            "regime": "accumulation",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 162,
            "end_idx": 297,
            "phase_count": 6,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 162,
                "price": 59080.0,
                "color": "#ffd166",
                "dt": "2026-06-06 01:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 175,
                "price": 64250.0,
                "color": "#06d6a0",
                "dt": "2026-06-08 05:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 216,
                "price": 63650.0,
                "color": "#118ab2",
                "dt": "2026-06-15 01:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 284,
                "price": 58288.0,
                "color": "#f9844a",
                "dt": "2026-06-26 09:00:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 293,
                "price": 60924.7,
                "color": "#06d6a0",
                "dt": "2026-06-27 21:00:00+09:00"
              },
              {
                "label": "LPS",
                "side": "low",
                "idx": 297,
                "price": 59714.8,
                "color": "#8338ec",
                "dt": "2026-06-28 13:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "4h_cycle_1",
        "primary_structure_id": "4h_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.9007525083612039,
        "current_event": "LPS",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 59080.0,
        "main_range_high": 64250.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.69,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.55,\n  \"setup_signals\": [\n    \"현재가 $59,850은 메인 레인지 EQ 약 $61,665 아래의 discount 구간에 위치\",\n    \"Spring $58,288 이후 SOS $60,924.7 형성, 이후 LPS $59,714.8 부근에서 테스트 진행\",\n    \"현재가가 LPS $59,714.8 위에 있으나, SOS $60,924.7 및 EQ $61,665 재돌파는 아직 미확인\",\n    \"SC $59,080 및 Spring $58,288 구간이 하방 유동성 회수 후 수요 방어 구간으로 작동 중\"\n  ],\n  \"reasoning\": \"지표상 regime은 ACC, regime_state는 confirmed_acc이며 acc_score 90.1, regime_fitness 0.901로 현재 구조는 확정된 축적 Phase D로 해석된다. 주요 앵커는 SC $59,080, AR $64,250이며, 이후 Spring $58,288 → SOS $60,924.7 → LPS $59,714.8 순서가 확인되어 구조적 편향은 bullish이다. 다만 현재가 $59,850은 LPS 바로 위에 머물러 있을 뿐 SOS $60,924.7과 레인지 EQ 약 $61,665를 회복하지 못했기 때문에, 즉각적인 상승 확정보다는 LPS 방어 여부를 확인하는 구간이다. $59,714.8을 유지하면 $60,924.7 재시험이 우선이며, 실패 시 SC $59,080 및 Spring $58,288 재검증 위험이 열린다.\",\n  \"key_levels\": {\n    \"support\": [\n      59714.8,\n      59080.0,\n      58288.0\n    ],\n    \"resistance\": [\n      60924.7,\n      61665.0,\n      64250.0\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$58,288\",\n  \"risk_scenario\": \"반대 시나리오는 LPS $59,714.8 이탈 후 SC $59,080 아래로 재진입하고, Spring 저점 $58,288까지 깨지는 경우이다. 이 경우 Spring 이후 SOS-LPS 구조가 실패한 것으로 보며, Phase D 축적 해석은 약화되고 레인지 하단 재축적 또는 실패한 Spring 구조로 재평가해야 한다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.55,
      "setup_signals": [
        "현재가 $59,850이 EMA20 $60,449.11 아래에서 거래되어 단기 반등이 아직 구조적으로 확인되지 않음",
        "현재가가 EMA120 $63,435.14보다 5.7%, EMA240 $66,801.03보다 10.4% 낮아 상위 4시간 구조는 하방 우위",
        "7일 범위 EQ 약 $61,813.60 아래의 디스카운트 구간에 위치하지만, $58,030 저점 유동성 스윕 후 반전 확인은 아직 없음",
        "최근 패턴에 bearish_engulfing@299가 있으며 품질 0.567로 최근 후보 중 최상위 bearish 신호",
        "dark_cloud_cover@292와 bearish_engulfing@294가 추가로 확인되어 최근 5개 패턴 중 약세 패턴 비중이 높음"
      ],
      "reasoning": "현재 BTC는 $59,850으로 EMA20 $60,449.11 아래에 있으며, EMA120 $63,435.14와 EMA240 $66,801.03도 모두 상방 저항으로 남아 있어 확인된 구조는 bearish로 판단한다. 최근 패턴은 bearish_engulfing@299, bearish_engulfing@294, dark_cloud_cover@292가 포함되어 있고 bear_score 2.2000이 bull_score 0.750을 크게 상회한다. 다만 최고 패턴 품질이 0.567에 그치고 high_volume_patterns가 없어 강한 확정 신호라기보다는 단기 약세 지속 후보에 가깝다. 7일 저점 $58,030이 바로 아래 핵심 지지이며, 이 구간을 이탈하면 하방 추세가 더 명확해질 수 있다.",
      "key_levels": {
        "support": [
          59850,
          58030
        ],
        "resistance": [
          60449.11,
          61813.6,
          63435.14,
          65597.2,
          66801.03
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,449.11 위에서 4시간봉 종가가 안착하면 단기 bearish 캔들 리딩은 무효화됩니다.",
      "risk_scenario": "반대로 가격이 EMA20 $60,449.11을 회복하고 7일 EQ $61,813.60 위로 올라서면, 최근 bearish engulfing 신호는 실패 패턴이 되며 $63,435.14 EMA120까지 숏 커버링 반등이 열릴 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 141,
        "recent_patterns": 5,
        "pattern_list": [
          "bullish_engulfing@293",
          "bearish_engulfing@294",
          "bearish_engulfing@299",
          "doji@297",
          "dark_cloud_cover@292"
        ],
        "atr_value": 858.9,
        "vol_avg_20": 33328.73,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.567,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "dark_cloud_cover",
            "signal": "bearish",
            "pattern_quality": 0.558,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.54,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.473,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.567,
        "bull_score": 0.75,
        "bear_score": 2.2
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.55,\n  \"setup_signals\": [\n    \"현재가 $59,850이 EMA20 $60,449.11 아래에서 거래되어 단기 반등이 아직 구조적으로 확인되지 않음\",\n    \"현재가가 EMA120 $63,435.14보다 5.7%, EMA240 $66,801.03보다 10.4% 낮아 상위 4시간 구조는 하방 우위\",\n    \"7일 범위 EQ 약 $61,813.60 아래의 디스카운트 구간에 위치하지만, $58,030 저점 유동성 스윕 후 반전 확인은 아직 없음\",\n    \"최근 패턴에 bearish_engulfing@299가 있으며 품질 0.567로 최근 후보 중 최상위 bearish 신호\",\n    \"dark_cloud_cover@292와 bearish_engulfing@294가 추가로 확인되어 최근 5개 패턴 중 약세 패턴 비중이 높음\"\n  ],\n  \"reasoning\": \"현재 BTC는 $59,850으로 EMA20 $60,449.11 아래에 있으며, EMA120 $63,435.14와 EMA240 $66,801.03도 모두 상방 저항으로 남아 있어 확인된 구조는 bearish로 판단한다. 최근 패턴은 bearish_engulfing@299, bearish_engulfing@294, dark_cloud_cover@292가 포함되어 있고 bear_score 2.2000이 bull_score 0.750을 크게 상회한다. 다만 최고 패턴 품질이 0.567에 그치고 high_volume_patterns가 없어 강한 확정 신호라기보다는 단기 약세 지속 후보에 가깝다. 7일 저점 $58,030이 바로 아래 핵심 지지이며, 이 구간을 이탈하면 하방 추세가 더 명확해질 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      59850,\n      58030\n    ],\n    \"resistance\": [\n      60449.11,\n      61813.6,\n      63435.14,\n      65597.2,\n      66801.03\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,449.11 위에서 4시간봉 종가가 안착하면 단기 bearish 캔들 리딩은 무효화됩니다.\",\n  \"risk_scenario\": \"반대로 가격이 EMA20 $60,449.11을 회복하고 7일 EQ $61,813.60 위로 올라서면, 최근 bearish engulfing 신호는 실패 패턴이 되며 $63,435.14 EMA120까지 숏 커버링 반등이 열릴 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.84,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.92,
      "setup_signals": [
        "현재가 $59,850.00가 EQ $61,813.60 아래의 discount 영역에 머물며 4H 기준 상단 회복 실패",
        "EMA20 $60,449.11 아래에서 거래 중이며 단기 평균선 재탈환 실패",
        "이전일 고가 $60,924.70 미돌파로 단기 buy-side liquidity 회수 실패",
        "최근 확정 구조가 $62,232.10 하향 BOS로 마감되어 반등 시 공급 우위",
        "활성 bullish OB 및 미충족 bullish FVG가 없어 현재 구간에서 명확한 기관성 수요 배열 부재",
        "bear_score 12.70 대비 bull_score 3.00으로 매도 우위 점수 차이가 큼"
      ],
      "reasoning": "확정 구조는 bearish로 판단한다. 시퀀스상 $78,713.80 bearish CHoCH 이후 $76,014.20, $74,203.60, $72,436.00, 그리고 최근 $62,232.10 bearish BOS가 이어졌고, 현재가 $59,850.00는 EMA20 $60,449.11, EMA120 $63,435.14, EMA240 $66,801.03 모두 아래에 있다. 현재 가격은 range EQ $61,813.60 아래 discount에 있어 신규 숏 진입 위치로는 다소 낮지만, 이전일 고가 $60,924.70 및 $62,232.10 BOS 레벨을 회복하지 못하면 반등은 매도 유동성 공급으로 해석된다. 활성 bullish OB, open FVG, 최근 liquidity sweep이 없기 때문에 즉각적인 bullish reversal 근거는 약하며, $58,030.00 7일 저점이 다음 sell-side liquidity 타깃이다.",
      "key_levels": {
        "support": [
          59530.7,
          58030.0
        ],
        "resistance": [
          60449.11,
          60924.7,
          61813.6,
          62232.1,
          65597.2,
          76234.7,
          78077.1
        ]
      },
      "time_horizon": "short to medium term, 4H 기준",
      "invalidation_level": "$62,232.10 4H 종가 회복",
      "risk_scenario": "$62,232.10 bearish BOS 레벨을 4H 종가로 회복하면 현재 하락 구조의 continuation thesis가 약화되고, EQ $61,813.60 위 재수용 이후 $63,435.14 EMA120 및 $65,597.20 range high 방향의 숏 청산 랠리가 발생할 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 2,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 2,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 76234.7,
          "top": 78077.1,
          "quality": "candidate",
          "score": 0.56
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 55,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "CHoCH_bearish",
            "level": 78713.8
          },
          {
            "type": "BOS_bearish",
            "level": 76014.2
          },
          {
            "type": "BOS_bearish",
            "level": 74203.6
          },
          {
            "type": "BOS_bearish",
            "level": 72436.0
          },
          {
            "type": "BOS_bullish",
            "level": 64250.0
          },
          {
            "type": "BOS_bearish",
            "level": 62232.1
          }
        ],
        "bos_sequence": [
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 1,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "BSL",
            "level": 78128.55
          }
        ],
        "current_zone": "discount",
        "eq_level": 61813.6,
        "range_high": 65597.2,
        "range_low": 58030.0,
        "bull_score": 3.0,
        "bear_score": 12.7,
        "setup_bias": "bearish",
        "setup_score": 0.92,
        "setup_signals": [
          "bearish CHoCH below $78,713.80",
          "bearish BOS below $76,014.20",
          "bearish BOS below $74,203.60",
          "bearish BOS below $72,436.00",
          "bearish BOS below $62,232.10"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 33.2,
        "deepest_retracement_pct": 49.1,
        "previous_day_high": 60924.7,
        "previous_day_low": 59530.7,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.84,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.92,\n  \"setup_signals\": [\n    \"현재가 $59,850.00가 EQ $61,813.60 아래의 discount 영역에 머물며 4H 기준 상단 회복 실패\",\n    \"EMA20 $60,449.11 아래에서 거래 중이며 단기 평균선 재탈환 실패\",\n    \"이전일 고가 $60,924.70 미돌파로 단기 buy-side liquidity 회수 실패\",\n    \"최근 확정 구조가 $62,232.10 하향 BOS로 마감되어 반등 시 공급 우위\",\n    \"활성 bullish OB 및 미충족 bullish FVG가 없어 현재 구간에서 명확한 기관성 수요 배열 부재\",\n    \"bear_score 12.70 대비 bull_score 3.00으로 매도 우위 점수 차이가 큼\"\n  ],\n  \"reasoning\": \"확정 구조는 bearish로 판단한다. 시퀀스상 $78,713.80 bearish CHoCH 이후 $76,014.20, $74,203.60, $72,436.00, 그리고 최근 $62,232.10 bearish BOS가 이어졌고, 현재가 $59,850.00는 EMA20 $60,449.11, EMA120 $63,435.14, EMA240 $66,801.03 모두 아래에 있다. 현재 가격은 range EQ $61,813.60 아래 discount에 있어 신규 숏 진입 위치로는 다소 낮지만, 이전일 고가 $60,924.70 및 $62,232.10 BOS 레벨을 회복하지 못하면 반등은 매도 유동성 공급으로 해석된다. 활성 bullish OB, open FVG, 최근 liquidity sweep이 없기 때문에 즉각적인 bullish reversal 근거는 약하며, $58,030.00 7일 저점이 다음 sell-side liquidity 타깃이다.\",\n  \"key_levels\": {\n    \"support\": [\n      59530.7,\n      58030.0\n    ],\n    \"resistance\": [\n      60449.11,\n      60924.7,\n      61813.6,\n      62232.1,\n      65597.2,\n      76234.7,\n      78077.1\n    ]\n  },\n  \"time_horizon\": \"short to medium term, 4H 기준\",\n  \"invalidation_level\": \"$62,232.10 4H 종가 회복\",\n  \"risk_scenario\": \"$62,232.10 bearish BOS 레벨을 4H 종가로 회복하면 현재 하락 구조의 continuation thesis가 약화되고, EQ $61,813.60 위 재수용 이후 $63,435.14 EMA120 및 $65,597.20 range high 방향의 숏 청산 랠리가 발생할 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $59,850은 단기 상승 스윙 $58,030→$60,925의 0.382 되돌림 $59,818.92를 테스트 중",
        "가격이 EQ 0.5 되돌림 $59,477.35 위에 있어 아직 완전한 discount 진입 전이며, 추가 되돌림 여지 존재",
        "0.618 골든레시오 지지 $59,135.78이 하방의 핵심 반응 구간으로 남아 있음",
        "현재가가 EMA20 $60,449.11 아래에 있어 단기 반등 확인 전까지 상단 압력 존재",
        "상단 저항은 ret_0.236 $60,241.55와 스윙 고점 $60,924.70에 집중"
      ],
      "reasoning": "BTC는 단기 상승 스윙 $58,030→$60,924.70 이후 현재 $59,850에서 0.382 되돌림 $59,818.92를 거의 정확히 테스트하고 있으며, 거리 점수는 0.050으로 매우 근접합니다. 다만 가격은 아직 EQ인 0.5 되돌림 $59,477.35 위에 있어 깊은 discount 매수 구간에는 도달하지 않았고, 0.618 골든레시오 $59,135.78까지 추가 하락 여지가 남아 있습니다. 구조적으로는 스윙 저점 $58,030이 깨지지 않았으므로 명확한 하락 구조 확정은 아니지만, EMA20 $60,449.11 및 EMA120 $63,435.14 아래에 머물러 있어 강한 상승 구조로도 보기 어렵습니다. 따라서 현재는 0.382 지지 반응을 관찰하는 중립 구조이며, 단기 setup은 $59,477.35~$59,135.78 재테스트 가능성을 반영해 약한 bearish로 평가합니다.",
      "key_levels": {
        "support": [
          59818.92,
          59477.35,
          59135.78,
          58649.47,
          58030.0
        ],
        "resistance": [
          60241.55,
          60449.11,
          60924.7,
          61712.06,
          63807.5
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,924.70",
      "risk_scenario": "$59,818.92가 강하게 방어되고 가격이 $60,241.55 및 EMA20 $60,449.11을 회복하면 하방 setup은 약화되며, $60,924.70 돌파 시 $61,712.06, $62,713.62까지 확장 목표가 열립니다. 반대로 $59,477.35가 이탈되면 0.618 골든레시오 $59,135.78이 핵심 지지이며, 이 구간마저 무너지면 $58,649.47 및 스윙 저점 $58,030 재검증 위험이 커집니다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $58,030 → $60,925",
        "direction": "up",
        "nearest_fib": "ret_0.382",
        "nearest_fib_price": 59818.92,
        "nearest_fib_distance": 0.05,
        "golden_ratio_level": 59135.78,
        "fib_ret_382": 59818.92,
        "fib_ret_618": 59135.78,
        "confluence_zones": [
          {
            "price": 63807.5,
            "count": 2,
            "levels": [
              "ret_0.236",
              "ext_2.0"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          59818.9246,
          59477.35,
          59135.7754
        ],
        "resistance_levels": [
          60241.5508,
          60924.7,
          61712.058399999994
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 60241.55,
            "distance_pct": 0.65,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 59818.92,
            "distance_pct": 0.05,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.5",
            "price": 59477.35,
            "distance_pct": 0.62,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 59135.78,
            "distance_pct": 1.19,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 58649.47,
            "distance_pct": 2.01,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 60924.7,
            "distance_pct": 1.8,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 61712.06,
            "distance_pct": 3.11,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.414",
            "price": 62123.11,
            "distance_pct": 3.8,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.618",
            "price": 62713.62,
            "distance_pct": 4.78,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 63819.4,
            "distance_pct": 6.63,
            "is_support": false,
            "cluster_score": 0.6
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $59,850은 단기 상승 스윙 $58,030→$60,925의 0.382 되돌림 $59,818.92를 테스트 중\",\n    \"가격이 EQ 0.5 되돌림 $59,477.35 위에 있어 아직 완전한 discount 진입 전이며, 추가 되돌림 여지 존재\",\n    \"0.618 골든레시오 지지 $59,135.78이 하방의 핵심 반응 구간으로 남아 있음\",\n    \"현재가가 EMA20 $60,449.11 아래에 있어 단기 반등 확인 전까지 상단 압력 존재\",\n    \"상단 저항은 ret_0.236 $60,241.55와 스윙 고점 $60,924.70에 집중\"\n  ],\n  \"reasoning\": \"BTC는 단기 상승 스윙 $58,030→$60,924.70 이후 현재 $59,850에서 0.382 되돌림 $59,818.92를 거의 정확히 테스트하고 있으며, 거리 점수는 0.050으로 매우 근접합니다. 다만 가격은 아직 EQ인 0.5 되돌림 $59,477.35 위에 있어 깊은 discount 매수 구간에는 도달하지 않았고, 0.618 골든레시오 $59,135.78까지 추가 하락 여지가 남아 있습니다. 구조적으로는 스윙 저점 $58,030이 깨지지 않았으므로 명확한 하락 구조 확정은 아니지만, EMA20 $60,449.11 및 EMA120 $63,435.14 아래에 머물러 있어 강한 상승 구조로도 보기 어렵습니다. 따라서 현재는 0.382 지지 반응을 관찰하는 중립 구조이며, 단기 setup은 $59,477.35~$59,135.78 재테스트 가능성을 반영해 약한 bearish로 평가합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59818.92,\n      59477.35,\n      59135.78,\n      58649.47,\n      58030.0\n    ],\n    \"resistance\": [\n      60241.55,\n      60449.11,\n      60924.7,\n      61712.06,\n      63807.5\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,924.70\",\n  \"risk_scenario\": \"$59,818.92가 강하게 방어되고 가격이 $60,241.55 및 EMA20 $60,449.11을 회복하면 하방 setup은 약화되며, $60,924.70 돌파 시 $61,712.06, $62,713.62까지 확장 목표가 열립니다. 반대로 $59,477.35가 이탈되면 0.618 골든레시오 $59,135.78이 핵심 지지이며, 이 구간마저 무너지면 $58,649.47 및 스윙 저점 $58,030 재검증 위험이 커집니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.41,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.46,
      "setup_signals": [
        "현재가 $59,850.00가 확인 반응이 나온 bullish Butterfly PRZ $58,953.26-$60,620.53 내부에 위치하며, PRZ 중심 $59,786.90과의 괴리는 -0.11%에 불과함",
        "completed strict bullish Butterfly: D $58,030.00, PRZ $58,953.26-$60,620.53, 반응 확인 사유 PRZ_touch_or_entry 및 PRZ_rejection_or_defense, reaction_score 0.75",
        "active bullish Crab forming PRZ $58,886.43-$60,375.81가 현재가를 감싸며 단기 반등 후보 구간을 형성함",
        "active bullish Bat forming PRZ $59,934.01-$61,200.40가 바로 위에 걸쳐 있으나, high_confluence_prz=false 및 low quality라 단독 매수 근거로는 부족함",
        "상방 TP 후보는 확인된 Butterfly 기준 $62,639.86, $64,402.43, $67,255.40이나, validated_tp_ladder_count=0으로 구조 확인 전에는 목표 참고값에 한정됨"
      ],
      "reasoning": "4h 구조는 현재가 $59,850.00가 EMA20 $60,449.11, EMA120 $63,435.14, EMA240 $66,801.03 아래에 있어 확인된 추세 관점에서는 아직 bearish로 읽힌다. 다만 하모닉 관점에서는 현재가가 bullish Butterfly PRZ $58,953.26-$60,620.53 안에 있고, D 저점 $58,030.00 이후 PRZ 방어 및 AD 0.236 반응이 확인되어 단기 setup_bias는 bullish다. 그러나 actionable_patterns_list와 council_relevant_prz가 모두 0이고, 가장 가까운 PRZ도 low quality 및 폭 2.789%로 strict actionable 기준을 넘지 못해 방향 전환 신호로 격상할 수 없다. 따라서 하모닉은 현재 bearish 구조를 뒤집는 엔진이 아니라 $58,030.00-$60,620.53 구간의 반등 리스크 및 TP 참고 컨텍스트로만 사용해야 한다.",
      "key_levels": {
        "support": [
          58953.26,
          58886.43,
          58406.59,
          58030.0
        ],
        "resistance": [
          60620.53,
          61200.4,
          62152.73,
          62639.86,
          64402.43
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$58,030.00",
      "risk_scenario": "가격이 $58,030.00을 4h 종가로 하회하면 현재 bullish PRZ 방어 해석은 실패하며, active bullish Butterfly/Crab/Bat 반등 setup은 무효화된다. 그 경우 $58,953.26-$60,620.53 PRZ는 지지에서 저항으로 전환될 수 있고, EMA20 $60,449.11 재돌파 실패 시 하락 추세 지속 리스크가 커진다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 127,
        "completed_patterns_found": 49,
        "forming_d_prz_found": 78,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 58,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 29,
        "timeframe": "4h",
        "prz_active_threshold_pct": 0.75,
        "prz_nearby_threshold_pct": 1.5,
        "prz_watch_threshold_pct": 3.0,
        "prz_max_width_pct": 1.3,
        "quality_counts": {
          "high": 3,
          "medium": 32,
          "low": 92
        },
        "prz_status_counts": {
          "active": 28,
          "nearby": 8,
          "watch": 25,
          "far": 66,
          "forming": 42
        },
        "high_confluence_prz_count": 18,
        "strict_patterns_found": 48,
        "candidate_patterns_found": 79,
        "active_patterns_at_prz": 28,
        "nearby_patterns": 8,
        "all_patterns": [
          "bat",
          "shark",
          "gartley",
          "butterfly",
          "butterfly",
          "crab",
          "bat",
          "shark",
          "butterfly",
          "butterfly",
          "gartley",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "butterfly",
          "butterfly",
          "crab",
          "bat",
          "gartley",
          "butterfly",
          "bat",
          "crab",
          "shark",
          "shark",
          "shark",
          "shark",
          "crab",
          "crab",
          "bat",
          "crab",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "bat",
          "crab",
          "gartley",
          "butterfly",
          "crab",
          "shark",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "shark",
          "crab",
          "gartley",
          "crab",
          "bat",
          "crab",
          "gartley",
          "gartley",
          "crab",
          "shark",
          "butterfly",
          "butterfly",
          "gartley",
          "gartley",
          "gartley",
          "shark",
          "gartley",
          "crab",
          "crab",
          "crab",
          "shark",
          "shark",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "gartley",
          "shark",
          "crab",
          "bat",
          "shark",
          "shark",
          "shark",
          "crab",
          "crab",
          "bat",
          "crab",
          "shark",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "bat",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "bat",
          "crab",
          "crab",
          "gartley",
          "crab",
          "bat",
          "gartley",
          "butterfly",
          "bat",
          "bat",
          "bat",
          "crab",
          "bat",
          "bat",
          "crab",
          "shark",
          "gartley",
          "shark",
          "crab",
          "bat",
          "butterfly",
          "shark",
          "gartley",
          "bat"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "low",
        "best_pattern_score": 0.912,
        "best_completion_status": "forming",
        "nearest_pattern": "butterfly",
        "nearest_prz": 59786.9,
        "price_to_prz": -0.11,
        "prz_range": [
          58953.26,
          60620.53
        ],
        "council_relevant_prz_count": 0,
        "directional_influence_prz_count": 0,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.887,
            "ratio_score": 0.945,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61815.71,
            "prz_range": [
              61478.18,
              62153.24
            ],
            "prz_width_pct": 1.092,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.28,
            "price_to_prz_pct_raw": 3.2844,
            "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": 61815.71,
              "a_price": 63915.3,
              "tp1_ad_382": 62617.75,
              "tp2_ad_618": 63113.26,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6087,
              "ABC": 0.5807
            },
            "x_price": 61150.2,
            "x_idx": 174,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 198,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 239,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.832,
            "ratio_score": 0.826,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              60933.28,
              61663.11
            ],
            "prz_width_pct": 1.191,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.42,
            "price_to_prz_pct_raw": 2.4197,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61298.2,
              "a_price": 67255.4,
              "tp1_ad_382": 63573.85,
              "tp2_ad_618": 64979.75,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8338,
              "ABC": 0.5974,
              "BCD": 2.6563,
              "XAD": 1.6589
            },
            "x_price": 62315.0,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 221,
            "a_order": 8,
            "b_price": 63136.2,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 263,
            "c_order": 8,
            "d_idx": 276
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.901,
            "ratio_score": 1.0,
            "prz_score": 0.918,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61305.5,
            "prz_range": [
              60767.09,
              61843.92
            ],
            "prz_width_pct": 1.757,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.43,
            "price_to_prz_pct_raw": 2.4319,
            "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": 61305.5,
              "a_price": 63915.3,
              "tp1_ad_382": 62302.44,
              "tp2_ad_618": 62918.36,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5499,
              "ABC": 1.4993
            },
            "x_price": 61344.8,
            "x_idx": 152,
            "x_order": 5,
            "a_price": 63915.3,
            "a_idx": 198,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 227,
            "b_order": 3,
            "c_price": 63209.6,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.885,
            "ratio_score": 0.959,
            "prz_score": 0.873,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.42,
            "price_to_prz_pct_raw": -1.4225,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465,
              "BCD": 2.358,
              "XAD": 1.2608
            },
            "x_price": 60755.0,
            "x_idx": 186,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 221,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 239,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 255,
            "c_order": 3,
            "d_idx": 276
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.885,
            "ratio_score": 0.938,
            "prz_score": 0.873,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58998.66,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.42,
            "price_to_prz_pct_raw": -1.4225,
            "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": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465
            },
            "x_price": 60755.0,
            "x_idx": 186,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 221,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 239,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 255,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.87,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.69,
            "price_to_prz_pct_raw": 2.6919,
            "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": "butterfly",
              "d_price": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 226,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 259,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 263,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.84,
            "ratio_score": 0.837,
            "prz_score": 0.918,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61139.25,
            "prz_range": [
              60602.82,
              61675.69
            ],
            "prz_width_pct": 1.755,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.15,
            "price_to_prz_pct_raw": 2.1541,
            "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": 61139.25,
              "a_price": 63915.3,
              "tp1_ad_382": 62199.7,
              "tp2_ad_618": 62854.85,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5222,
              "ABC": 0.5807
            },
            "x_price": 60691.9,
            "x_idx": 190,
            "x_order": 8,
            "a_price": 63915.3,
            "a_idx": 198,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 239,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.836,
            "ratio_score": 0.935,
            "prz_score": 0.884,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61760.53,
            "prz_range": [
              61158.69,
              62362.37
            ],
            "prz_width_pct": 1.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.19,
            "price_to_prz_pct_raw": 3.1922,
            "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": "butterfly",
              "d_price": 61760.53,
              "a_price": 66419.2,
              "tp1_ad_382": 63540.14,
              "tp2_ad_618": 64639.59,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7999,
              "ABC": 0.7496
            },
            "x_price": 62315.0,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 234,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 263,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.887,
            "ratio_score": 0.945,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61815.71,
            "prz_range": [
              61478.18,
              62153.24
            ],
            "prz_width_pct": 1.092,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.28,
            "price_to_prz_pct_raw": 3.2844,
            "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": 61815.71,
              "a_price": 63915.3,
              "tp1_ad_382": 62617.75,
              "tp2_ad_618": 63113.26,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6087,
              "ABC": 0.5807
            },
            "x_price": 61150.2,
            "x_idx": 174,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 198,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 239,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.832,
            "ratio_score": 0.826,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              60933.28,
              61663.11
            ],
            "prz_width_pct": 1.191,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.42,
            "price_to_prz_pct_raw": 2.4197,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61298.2,
              "a_price": 67255.4,
              "tp1_ad_382": 63573.85,
              "tp2_ad_618": 64979.75,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8338,
              "ABC": 0.5974,
              "BCD": 2.6563,
              "XAD": 1.6589
            },
            "x_price": 62315.0,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 221,
            "a_order": 8,
            "b_price": 63136.2,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 263,
            "c_order": 8,
            "d_idx": 276
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.901,
            "ratio_score": 1.0,
            "prz_score": 0.918,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61305.5,
            "prz_range": [
              60767.09,
              61843.92
            ],
            "prz_width_pct": 1.757,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.43,
            "price_to_prz_pct_raw": 2.4319,
            "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": 61305.5,
              "a_price": 63915.3,
              "tp1_ad_382": 62302.44,
              "tp2_ad_618": 62918.36,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5499,
              "ABC": 1.4993
            },
            "x_price": 61344.8,
            "x_idx": 152,
            "x_order": 5,
            "a_price": 63915.3,
            "a_idx": 198,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 227,
            "b_order": 3,
            "c_price": 63209.6,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.885,
            "ratio_score": 0.959,
            "prz_score": 0.873,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.42,
            "price_to_prz_pct_raw": -1.4225,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465,
              "BCD": 2.358,
              "XAD": 1.2608
            },
            "x_price": 60755.0,
            "x_idx": 186,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 221,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 239,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 255,
            "c_order": 3,
            "d_idx": 276
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.885,
            "ratio_score": 0.938,
            "prz_score": 0.873,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58998.66,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.42,
            "price_to_prz_pct_raw": -1.4225,
            "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": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465
            },
            "x_price": 60755.0,
            "x_idx": 186,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 221,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 239,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 255,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.87,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.69,
            "price_to_prz_pct_raw": 2.6919,
            "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": "butterfly",
              "d_price": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 226,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 259,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 263,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.84,
            "ratio_score": 0.837,
            "prz_score": 0.918,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61139.25,
            "prz_range": [
              60602.82,
              61675.69
            ],
            "prz_width_pct": 1.755,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.15,
            "price_to_prz_pct_raw": 2.1541,
            "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": 61139.25,
              "a_price": 63915.3,
              "tp1_ad_382": 62199.7,
              "tp2_ad_618": 62854.85,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5222,
              "ABC": 0.5807
            },
            "x_price": 60691.9,
            "x_idx": 190,
            "x_order": 8,
            "a_price": 63915.3,
            "a_idx": 198,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 239,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.836,
            "ratio_score": 0.935,
            "prz_score": 0.884,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61760.53,
            "prz_range": [
              61158.69,
              62362.37
            ],
            "prz_width_pct": 1.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.19,
            "price_to_prz_pct_raw": 3.1922,
            "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": "butterfly",
              "d_price": 61760.53,
              "a_price": 66419.2,
              "tp1_ad_382": 63540.14,
              "tp2_ad_618": 64639.59,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7999,
              "ABC": 0.7496
            },
            "x_price": 62315.0,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 234,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 263,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.731,
            "ratio_score": 0.731,
            "prz_score": 0.884,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              61158.69,
              62362.37
            ],
            "prz_width_pct": 1.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.19,
            "price_to_prz_pct_raw": 3.1922,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.39,
                "adverse_move_ratio_ad": 0.14,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61760.53,
              "a_price": 66419.2,
              "tp1_ad_382": 63540.14,
              "tp2_ad_618": 64639.59,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7999,
              "ABC": 0.7496,
              "BCD": 2.6563,
              "XAD": 1.7931
            },
            "x_price": 62315.0,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 234,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 263,
            "c_order": 8,
            "d_idx": 276
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.912,
            "ratio_score": 1.0,
            "prz_score": 0.858,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 60567.2,
            "prz_range": [
              59934.01,
              61200.4
            ],
            "prz_width_pct": 2.091,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.2,
            "price_to_prz_pct_raw": 1.1983,
            "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": 60567.2,
              "a_price": 64738.0,
              "tp1_ad_382": 62160.45,
              "tp2_ad_618": 63144.76,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3959,
              "ABC": 0.7523
            },
            "x_price": 60691.9,
            "x_idx": 190,
            "x_order": 8,
            "a_price": 64738.0,
            "a_idx": 211,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 61931.1,
            "c_idx": 279,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.885,
            "ratio_score": 1.0,
            "prz_score": 0.785,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 59631.12,
            "prz_range": [
              58886.43,
              60375.81
            ],
            "prz_width_pct": 2.498,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.37,
            "price_to_prz_pct_raw": -0.3657,
            "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": 59631.12,
              "a_price": 64738.0,
              "tp1_ad_382": 61581.95,
              "tp2_ad_618": 62787.17,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4465,
              "ABC": 0.7523
            },
            "x_price": 61150.2,
            "x_idx": 174,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 211,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 61931.1,
            "c_idx": 279,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.855,
            "ratio_score": 0.974,
            "prz_score": 0.733,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 58030.0,
            "prz_range": [
              58953.26,
              60620.53
            ],
            "prz_width_pct": 2.789,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.11,
            "price_to_prz_pct_raw": -0.1054,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.314,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59786.9,
              "a_price": 67255.4,
              "tp1_ad_382": 62639.86,
              "tp2_ad_618": 64402.43,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.6699,
              "BCD": 2.2487,
              "XAD": 1.4192
            },
            "x_price": 60755.0,
            "x_idx": 186,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 221,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 239,
            "b_order": 8,
            "c_price": 65597.2,
            "c_idx": 263,
            "c_order": 8,
            "d_idx": 281
          }
        ],
        "actionable_patterns_list": [],
        "tp_ladder": [],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "early"
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.41,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.46,\n  \"setup_signals\": [\n    \"현재가 $59,850.00가 확인 반응이 나온 bullish Butterfly PRZ $58,953.26-$60,620.53 내부에 위치하며, PRZ 중심 $59,786.90과의 괴리는 -0.11%에 불과함\",\n    \"completed strict bullish Butterfly: D $58,030.00, PRZ $58,953.26-$60,620.53, 반응 확인 사유 PRZ_touch_or_entry 및 PRZ_rejection_or_defense, reaction_score 0.75\",\n    \"active bullish Crab forming PRZ $58,886.43-$60,375.81가 현재가를 감싸며 단기 반등 후보 구간을 형성함\",\n    \"active bullish Bat forming PRZ $59,934.01-$61,200.40가 바로 위에 걸쳐 있으나, high_confluence_prz=false 및 low quality라 단독 매수 근거로는 부족함\",\n    \"상방 TP 후보는 확인된 Butterfly 기준 $62,639.86, $64,402.43, $67,255.40이나, validated_tp_ladder_count=0으로 구조 확인 전에는 목표 참고값에 한정됨\"\n  ],\n  \"reasoning\": \"4h 구조는 현재가 $59,850.00가 EMA20 $60,449.11, EMA120 $63,435.14, EMA240 $66,801.03 아래에 있어 확인된 추세 관점에서는 아직 bearish로 읽힌다. 다만 하모닉 관점에서는 현재가가 bullish Butterfly PRZ $58,953.26-$60,620.53 안에 있고, D 저점 $58,030.00 이후 PRZ 방어 및 AD 0.236 반응이 확인되어 단기 setup_bias는 bullish다. 그러나 actionable_patterns_list와 council_relevant_prz가 모두 0이고, 가장 가까운 PRZ도 low quality 및 폭 2.789%로 strict actionable 기준을 넘지 못해 방향 전환 신호로 격상할 수 없다. 따라서 하모닉은 현재 bearish 구조를 뒤집는 엔진이 아니라 $58,030.00-$60,620.53 구간의 반등 리스크 및 TP 참고 컨텍스트로만 사용해야 한다.\",\n  \"key_levels\": {\n    \"support\": [\n      58953.26,\n      58886.43,\n      58406.59,\n      58030.0\n    ],\n    \"resistance\": [\n      60620.53,\n      61200.4,\n      62152.73,\n      62639.86,\n      64402.43\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$58,030.00\",\n  \"risk_scenario\": \"가격이 $58,030.00을 4h 종가로 하회하면 현재 bullish PRZ 방어 해석은 실패하며, active bullish Butterfly/Crab/Bat 반등 setup은 무효화된다. 그 경우 $58,953.26-$60,620.53 PRZ는 지지에서 저항으로 전환될 수 있고, EMA20 $60,449.11 재돌파 실패 시 하락 추세 지속 리스크가 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.66,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "롱 계정 비율 0.673으로 과밀, account_long_crowding 1.000: 군중 포지셔닝은 하방 반대 신호",
        "24시간 OI -1.566% 감소: 신규 숏 추격보다는 포지션 언와인딩 국면으로, 반등 시 매도 압력 재유입 가능",
        "CVD change -881.2470 및 cvd_divergence 0.300: 가격 방어 대비 체결 참여가 약해 매수 흡수 신뢰도 낮음",
        "현재가 $59,850이 EMA20 $60,449.11 아래에 있으며, 7일 range EQ $61,813.60 아래 디스카운트 구간에 체류",
        "상방 청산/저항 클러스터 $60,900, $61,500, $61,900가 근접해 있어 반등 시 숏 셋업 재형성 구간",
        "spot-futures basis -0.0668%로 선물이 현물 대비 할인: 파생시장 수요가 약함"
      ],
      "reasoning": "현재 BTC는 $59,850으로 EMA20 $60,449.11, EMA120 $63,435.14, EMA240 $66,801.03을 모두 하회하며 확정 구조는 여전히 약세로 본다. 파생 포지셔닝은 롱 계정 비율 0.673, account_long_crowding 1.000으로 롱 쏠림이 강한데, 동시에 OI가 24시간 -1.566% 감소하고 CVD가 -881.2470 하락해 롱 주도의 건강한 누적 매수가 아니라 약한 방어에 가깝다. 단기적으로 $60,900-$61,900 상방 청산 클러스터가 반등 자석이 될 수 있으나, 해당 구간을 회복하지 못하면 $58,300, $57,200 하방 유동성 재탐색 가능성이 높다. 구조적으로는 약세가 확인된 상태이고, 셋업도 롱 과밀과 참여 약화 때문에 하방 우위지만, 가격이 7일 저점 $58,030에 가까워 추격 숏의 보상비는 다소 낮다.",
      "key_levels": {
        "support": [
          58300,
          58030,
          57200,
          54300
        ],
        "resistance": [
          60449.11,
          60900,
          61500,
          61900,
          63435.14,
          66300
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,900 4시간 종가 회복",
      "risk_scenario": "$61,900 위로 4시간 종가가 안착하면 상방 청산 클러스터가 연쇄적으로 소화되며 EMA120 $63,435.14까지 숏 커버링 반등이 열릴 수 있다. 특히 $63,435 회복 시 현재의 약세 셋업은 중립화되고, 가장 강한 유동성 레벨인 $66,300까지의 squeeze risk가 커진다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -881.247,
        "oi_trend": 0.343,
        "oi_change_pct_24h": -1.566,
        "oi_latest": 102877.834,
        "funding_pressure": 0.469,
        "funding_avg": 3.118e-05,
        "funding_change_24h": -2.387e-05,
        "long_account_ratio": 0.669,
        "short_account_ratio": 0.331,
        "long_account_latest": 0.673,
        "short_account_latest": 0.327,
        "long_account_change_24h": 0.0083,
        "short_account_change_24h": -0.0083,
        "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.483,
        "spot_futures_basis_pct": -0.0668,
        "basis_change_lookback": -0.0092,
        "aggregate_score": 0.319,
        "bull_signals": 0,
        "bear_signals": 3,
        "liq_below": [
          [
            58300,
            24211.619872
          ],
          [
            57200,
            24399.917996
          ],
          [
            54300,
            25069.166341250002
          ]
        ],
        "liq_above": [
          [
            60900,
            24427.9452288
          ],
          [
            61500,
            29830.6594326
          ],
          [
            61900,
            31766.9842484
          ]
        ],
        "strongest_liq_level": 66300,
        "fragility_score": 0.548,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.66,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"롱 계정 비율 0.673으로 과밀, account_long_crowding 1.000: 군중 포지셔닝은 하방 반대 신호\",\n    \"24시간 OI -1.566% 감소: 신규 숏 추격보다는 포지션 언와인딩 국면으로, 반등 시 매도 압력 재유입 가능\",\n    \"CVD change -881.2470 및 cvd_divergence 0.300: 가격 방어 대비 체결 참여가 약해 매수 흡수 신뢰도 낮음\",\n    \"현재가 $59,850이 EMA20 $60,449.11 아래에 있으며, 7일 range EQ $61,813.60 아래 디스카운트 구간에 체류\",\n    \"상방 청산/저항 클러스터 $60,900, $61,500, $61,900가 근접해 있어 반등 시 숏 셋업 재형성 구간\",\n    \"spot-futures basis -0.0668%로 선물이 현물 대비 할인: 파생시장 수요가 약함\"\n  ],\n  \"reasoning\": \"현재 BTC는 $59,850으로 EMA20 $60,449.11, EMA120 $63,435.14, EMA240 $66,801.03을 모두 하회하며 확정 구조는 여전히 약세로 본다. 파생 포지셔닝은 롱 계정 비율 0.673, account_long_crowding 1.000으로 롱 쏠림이 강한데, 동시에 OI가 24시간 -1.566% 감소하고 CVD가 -881.2470 하락해 롱 주도의 건강한 누적 매수가 아니라 약한 방어에 가깝다. 단기적으로 $60,900-$61,900 상방 청산 클러스터가 반등 자석이 될 수 있으나, 해당 구간을 회복하지 못하면 $58,300, $57,200 하방 유동성 재탐색 가능성이 높다. 구조적으로는 약세가 확인된 상태이고, 셋업도 롱 과밀과 참여 약화 때문에 하방 우위지만, 가격이 7일 저점 $58,030에 가까워 추격 숏의 보상비는 다소 낮다.\",\n  \"key_levels\": {\n    \"support\": [\n      58300,\n      58030,\n      57200,\n      54300\n    ],\n    \"resistance\": [\n      60449.11,\n      60900,\n      61500,\n      61900,\n      63435.14,\n      66300\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,900 4시간 종가 회복\",\n  \"risk_scenario\": \"$61,900 위로 4시간 종가가 안착하면 상방 청산 클러스터가 연쇄적으로 소화되며 EMA120 $63,435.14까지 숏 커버링 반등이 열릴 수 있다. 특히 $63,435 회복 시 현재의 약세 셋업은 중립화되고, 가장 강한 유동성 레벨인 $66,300까지의 squeeze risk가 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.62,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.74,
      "active_setups": [
        "현재가 $59,850이 EMA20 $60,449.11 아래에 있어 단기 구조 회복이 미확인",
        "ICT 기준 최근 bearish BOS 레벨 $62,232.10 회복 실패 상태",
        "이전일 고가 $60,924.70 미돌파로 단기 buy-side liquidity 회수 실패",
        "가격이 7일 범위 EQ $61,813.60 아래 discount 영역에 있으나, 반전 확인 없이 약세 구조 내부에 위치",
        "단기 상승 스윙 $58,030 → $60,924.70의 0.382 되돌림 $59,818.92 테스트 중이며, $59,477.35 및 $59,135.78까지 추가 되돌림 여지 존재",
        "파생 포지셔닝에서 롱 계정 비율 0.673으로 롱 과밀이 강하고, CVD 변화 -881.2470으로 매수 참여 신뢰도가 낮음",
        "하모닉상 bullish Butterfly PRZ $58,953.26-$60,620.53 내부에 있으나, actionable PRZ가 없어 구조 전환 근거로는 부족"
      ],
      "setup_vs_structure": "구조적 종합은 bearish 쪽이 우세하고, 실행 셋업도 ICT·캔들·피보나치·파생이 모두 bearish로 정렬되어 있다. 다만 Wyckoff는 Spring 이후 LPS 방어 가능성을 제시하므로, 현재 구간은 약세 구조 내 반등/축적 후보가 충돌하는 저가권 테스트 구간이다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 4,
      "neutral_count": 1
    },
    "key_levels": {
      "support": [
        59818.92,
        59714.8,
        59530.7,
        59477.35,
        59135.78,
        59080.0,
        58288.0,
        58030.0,
        57200.0
      ],
      "resistance": [
        60449.11,
        60924.7,
        61500.0,
        61665.0,
        61813.6,
        61900.0,
        62232.1,
        63435.14,
        64250.0
      ]
    },
    "confluences": [
      "EMA20 $60,449.11은 캔들·ICT·피보나치·파생 분석이 공통으로 제시한 단기 구조 저항이다.",
      "$60,924.70은 Wyckoff의 SOS, ICT의 이전일 고가, 피보나치 확장 기준으로 중첩되는 핵심 회복 레벨이다.",
      "$61,813.60 부근은 ICT와 캔들이 7일 범위 EQ로 제시했으며, Wyckoff의 메인 레인지 EQ $61,665와도 근접해 중기 균형선 저항 클러스터를 형성한다.",
      "$58,030은 ICT·캔들·피보나치·하모닉이 공통으로 인식하는 7일 저점 및 주요 sell-side liquidity/스윙 저점이다.",
      "$59,714.8-$59,818.92 구간은 Wyckoff LPS $59,714.8과 피보나치 0.382 되돌림 $59,818.92가 겹치는 단기 방어 테스트 구간이다.",
      "$59,080-$59,135.78 구간은 Wyckoff SC $59,080과 피보나치 0.618 골든레시오 $59,135.78이 근접한 하방 반응 구간이다."
    ],
    "conflicts": [
      "Wyckoff는 SC $59,080 → AR $64,250 → Spring $58,288 → SOS $60,924.7 → LPS $59,714.8 순서가 확인된 축적 Phase D로 해석해 구조를 bullish로 본다.",
      "반면 ICT는 $78,713.80 bearish CHoCH 이후 다수의 bearish BOS와 최근 $62,232.10 bearish BOS를 근거로 4H 구조를 강한 bearish로 평가한다.",
      "하모닉은 현재가가 bullish Butterfly PRZ $58,953.26-$60,620.53 내부라고 보지만, 해당 신호는 low quality·비독립적 PRZ 반응 컨텍스트에 가까워 Wyckoff/ICT 구조 판단을 뒤집기 어렵다.",
      "피보나치는 $58,030 저점이 아직 깨지지 않았다는 점에서 구조를 neutral로 유지하지만, EMA20 및 상위 EMA 하회 때문에 실행 셋업은 약한 bearish로 기운다.",
      "가격은 discount 영역에 있어 신규 숏 위치로는 불리할 수 있으나, 구조 회복 레벨인 $60,924.70-$62,232.10을 되찾지 못해 약세 구조 해소도 아직 확인되지 않았다."
    ],
    "executive_summary": "현재 BTC 4H 구조의 종합 판정은 bearish 우위이지만, Wyckoff 관점에서는 확정 축적 Phase D 안에서 Spring $58,288 이후 LPS $59,714.8을 테스트하는 내부 반등 구조가 병존한다. 핵심 구조 충돌은 Wyckoff의 축적 해석과 ICT의 bearish CHoCH/BOS 연속 구조이며, 가격은 아직 $60,924.70 SOS/이전일 고가와 $61,665-$61,813.60 EQ 클러스터를 회복하지 못했다. 현재 위치는 $59,714.8 LPS와 피보나치 0.382 $59,818.92가 겹치는 단기 방어 구간이며, 하방에는 $59,080-$59,135.78 및 $58,030-$58,288 저점 클러스터가 구조적 검증 구간으로 남아 있다. 구조적 리스크는 LPS 방어 실패 시 Wyckoff 축적 해석이 약화되고, 반대로 $62,232.10 회복 시 ICT bearish BOS 구조가 훼손되는 양방향 조건부 상태다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.62,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.74,\n    \"active_setups\": [\n      \"현재가 $59,850이 EMA20 $60,449.11 아래에 있어 단기 구조 회복이 미확인\",\n      \"ICT 기준 최근 bearish BOS 레벨 $62,232.10 회복 실패 상태\",\n      \"이전일 고가 $60,924.70 미돌파로 단기 buy-side liquidity 회수 실패\",\n      \"가격이 7일 범위 EQ $61,813.60 아래 discount 영역에 있으나, 반전 확인 없이 약세 구조 내부에 위치\",\n      \"단기 상승 스윙 $58,030 → $60,924.70의 0.382 되돌림 $59,818.92 테스트 중이며, $59,477.35 및 $59,135.78까지 추가 되돌림 여지 존재\",\n      \"파생 포지셔닝에서 롱 계정 비율 0.673으로 롱 과밀이 강하고, CVD 변화 -881.2470으로 매수 참여 신뢰도가 낮음\",\n      \"하모닉상 bullish Butterfly PRZ $58,953.26-$60,620.53 내부에 있으나, actionable PRZ가 없어 구조 전환 근거로는 부족\"\n    ],\n    \"setup_vs_structure\": \"구조적 종합은 bearish 쪽이 우세하고, 실행 셋업도 ICT·캔들·피보나치·파생이 모두 bearish로 정렬되어 있다. 다만 Wyckoff는 Spring 이후 LPS 방어 가능성을 제시하므로, 현재 구간은 약세 구조 내 반등/축적 후보가 충돌하는 저가권 테스트 구간이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 4,\n    \"neutral_count\": 1\n  },\n  \"key_levels\": {\n    \"support\": [\n      59818.92,\n      59714.8,\n      59530.7,\n      59477.35,\n      59135.78,\n      59080.0,\n      58288.0,\n      58030.0,\n      57200.0\n    ],\n    \"resistance\": [\n      60449.11,\n      60924.7,\n      61500.0,\n      61665.0,\n      61813.6,\n      61900.0,\n      62232.1,\n      63435.14,\n      64250.0\n    ]\n  },\n  \"confluences\": [\n    \"EMA20 $60,449.11은 캔들·ICT·피보나치·파생 분석이 공통으로 제시한 단기 구조 저항이다.\",\n    \"$60,924.70은 Wyckoff의 SOS, ICT의 이전일 고가, 피보나치 확장 기준으로 중첩되는 핵심 회복 레벨이다.\",\n    \"$61,813.60 부근은 ICT와 캔들이 7일 범위 EQ로 제시했으며, Wyckoff의 메인 레인지 EQ $61,665와도 근접해 중기 균형선 저항 클러스터를 형성한다.\",\n    \"$58,030은 ICT·캔들·피보나치·하모닉이 공통으로 인식하는 7일 저점 및 주요 sell-side liquidity/스윙 저점이다.\",\n    \"$59,714.8-$59,818.92 구간은 Wyckoff LPS $59,714.8과 피보나치 0.382 되돌림 $59,818.92가 겹치는 단기 방어 테스트 구간이다.\",\n    \"$59,080-$59,135.78 구간은 Wyckoff SC $59,080과 피보나치 0.618 골든레시오 $59,135.78이 근접한 하방 반응 구간이다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 SC $59,080 → AR $64,250 → Spring $58,288 → SOS $60,924.7 → LPS $59,714.8 순서가 확인된 축적 Phase D로 해석해 구조를 bullish로 본다.\",\n    \"반면 ICT는 $78,713.80 bearish CHoCH 이후 다수의 bearish BOS와 최근 $62,232.10 bearish BOS를 근거로 4H 구조를 강한 bearish로 평가한다.\",\n    \"하모닉은 현재가가 bullish Butterfly PRZ $58,953.26-$60,620.53 내부라고 보지만, 해당 신호는 low quality·비독립적 PRZ 반응 컨텍스트에 가까워 Wyckoff/ICT 구조 판단을 뒤집기 어렵다.\",\n    \"피보나치는 $58,030 저점이 아직 깨지지 않았다는 점에서 구조를 neutral로 유지하지만, EMA20 및 상위 EMA 하회 때문에 실행 셋업은 약한 bearish로 기운다.\",\n    \"가격은 discount 영역에 있어 신규 숏 위치로는 불리할 수 있으나, 구조 회복 레벨인 $60,924.70-$62,232.10을 되찾지 못해 약세 구조 해소도 아직 확인되지 않았다.\"\n  ],\n  \"highest_conviction_analyst\": \"ICT Trader — $78,713.80 bearish CHoCH 이후 $76,014.20, $74,203.60, $72,436.00, 최근 $62,232.10 bearish BOS까지 명확한 구조 이벤트를 제시했고, 현재가가 EMA20 $60,449.11·EMA120 $63,435.14·EMA240 $66,801.03을 모두 하회한다는 점에서 가장 구체적이고 일관된 bearish 구조 신호를 제공한다.\",\n  \"invalidation_level\": \"$62,232.10을 4H 종가 기준으로 회복하고, 이어 $61,665-$61,813.60 EQ 클러스터 위에서 구조적으로 안착하면 현재 bearish 구조 판단은 약화된다. 보수적 무효화는 Wyckoff AR $64,250 회복이다.\",\n  \"executive_summary\": \"현재 BTC 4H 구조의 종합 판정은 bearish 우위이지만, Wyckoff 관점에서는 확정 축적 Phase D 안에서 Spring $58,288 이후 LPS $59,714.8을 테스트하는 내부 반등 구조가 병존한다. 핵심 구조 충돌은 Wyckoff의 축적 해석과 ICT의 bearish CHoCH/BOS 연속 구조이며, 가격은 아직 $60,924.70 SOS/이전일 고가와 $61,665-$61,813.60 EQ 클러스터를 회복하지 못했다. 현재 위치는 $59,714.8 LPS와 피보나치 0.382 $59,818.92가 겹치는 단기 방어 구간이며, 하방에는 $59,080-$59,135.78 및 $58,030-$58,288 저점 클러스터가 구조적 검증 구간으로 남아 있다. 구조적 리스크는 LPS 방어 실패 시 Wyckoff 축적 해석이 약화되고, 반대로 $62,232.10 회복 시 ICT bearish BOS 구조가 훼손되는 양방향 조건부 상태다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.62,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.6,
    "waypoints": [
      {
        "seq": 1,
        "price": 59135.78,
        "type": "support_test",
        "source": "fibonacci (0.618 골든레시오 $59,135.78), wyckoff (SC $59,080), chairman ($59,080-$59,135.78 하방 반응 클러스터)",
        "description": "셋업 bias가 bearish 74%로 구조(bearish 62%)와 정렬되어 첫 이동은 하방. 현재가 $59,850은 fib 0.382 $59,818.92와 Wyckoff LPS $59,714.8를 테스트 중이며, EMA20 $60,449.11 재탈환 실패 상태. LPS와 EQ 0.5 $59,477.35를 차례로 이탈하면 fib 0.618 골든레시오 $59,135.78 + Wyckoff SC $59,080 클러스터가 첫 유의미한 지지 반응 구간. 현재가에서 약 $714 하락으로 0.5 ATR 이상 유효 스윙.",
        "est_hours": 5,
        "turning_zone": [
          58870.0,
          59135.78
        ],
        "likely_wick": 59000.0,
        "rejection_confirm": 59477.35,
        "invalid_overshoot": 58650.0,
        "calibration_reasoning": "fib 0.618 골든레시오 $59,135.78와 Wyckoff SC $59,080 클러스터를 상단 앵커로 잡고, 그 아래 라운드넘버 $59,000 유동성 자석까지 존을 확장(폭 ≈0.31 ATR). likely_wick은 SC 직하방을 스윕해 $59,000을 태깅하는 쪽으로 편향, EQ 0.5 $59,477.35 재탈환 시 지지 반응 확정."
      },
      {
        "seq": 2,
        "price": 58030.0,
        "type": "liquidity_sweep",
        "source": "ict (다음 sell-side liquidity 타깃), candlestick (7일 저점), fibonacci ($58,030 스윙 저점), harmonic (Butterfly D점), wyckoff (Spring $58,288 구간)",
        "description": "$59,135 지지가 종가 기준 방어에 실패하면 ICT가 명시한 다음 sell-side liquidity 타깃이자 ICT·캔들·피보나치·하모닉이 공통 인식하는 7일 저점 $58,030으로 확장. Wyckoff Spring $58,288 직하방이라 sell-side 유동성 스윕 성격이 강함. $59,135 → $58,030 약 $1,106 이동으로 핵심 구조 검증 구간 도달.",
        "est_hours": 14,
        "turning_zone": [
          57760.0,
          58030.0
        ],
        "likely_wick": 57930.0,
        "rejection_confirm": 58288.0,
        "invalid_overshoot": 57200.0,
        "calibration_reasoning": "경로 방향상 셀사이드(하방) 유동성 스윕이라 base 아래로 존 설정(liquidity_sweep 기본 '상방' 규칙을 방향 정합으로 오버라이드). 7일 저점 $58,030·라운드넘버 $58,000 직하의 스톱을 쓸어내는 $57,930을 wick 극값으로, Wyckoff Spring $58,288 재탈환을 스프링 반전 확인선, $57,200 이탈을 무효화로 설정."
      },
      {
        "seq": 3,
        "price": 60449.11,
        "type": "resistance_test",
        "source": "candlestick·ict·fibonacci·derivatives 공통 EMA20 $60,449.11, derivatives ($60,900-$61,900 상방 청산 자석), wyckoff (Spring 이후 SOS $60,924.7 방향 반응)",
        "description": "$58,030 유동성 스윕은 롱 과밀(0.673)·OI 언와인딩 환경에서 숏 추격 보상비가 낮아지는 지점이며, Wyckoff Spring/LPS 방어 시나리오와 derivatives의 $60,900-$61,900 반등 자석이 작동하는 반발 구간. 스윕 이후 반등은 다수 분석이 공통 저항으로 제시한 EMA20 $60,449.11을 하방에서 재시험. 여기서 거부되면 약세 구조 유지, 돌파 시 경로 훼손.",
        "est_hours": 22,
        "turning_zone": [
          60449.11,
          60925.0
        ],
        "likely_wick": 60600.0,
        "rejection_confirm": 60241.55,
        "invalid_overshoot": 61000.0,
        "calibration_reasoning": "터미널 구간이라 폭을 ≈0.55 ATR로 확대; 1차 거부선 EMA20 $60,449.11부터 스윙고점·fib 저항 $60,924.70까지 포괄. likely_wick은 EMA20 소폭 오버슈트로 $60,500 라운드넘버 구간을 태깅 후 거부, fib $60,241.55 하향 회귀가 거부 확정, $61,000 종가 상회는 약세 경로 훼손으로 무효화. butterfly PRZ $59,786.9는 미확정이라 앵커 미반영."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 59850.0,
        "expected_low": 59135.78,
        "high_first": true
      },
      "8h": {
        "expected_high": 59850.0,
        "expected_low": 58288.0,
        "high_first": true
      },
      "24h": {
        "expected_high": 60449.11,
        "expected_low": 58030.0,
        "high_first": false
      }
    },
    "triggers": {
      "bullish": {
        "price": 60924.7,
        "description": "이전일 고가이자 Wyckoff SOS인 $60,924.70를 종가로 재탈환하면 단기 buy-side liquidity 회수 + Wyckoff 축적 해석 강화로 상방 가속. 이후 $61,665-$61,813.60 EQ 클러스터 회복 시 ICT bearish BOS 구조 본격 훼손."
      },
      "bearish": {
        "price": 58030.0,
        "description": "7일 저점/주요 sell-side liquidity인 $58,030을 종가로 하향 이탈하면 Wyckoff Spring·축적 해석이 약화되고 하방 가속. 다음 타깃은 derivatives가 제시한 $57,200 하방 유동성."
      }
    },
    "scenario_invalidation": 60924.7,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.6,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 59135.78,\n      \"type\": \"support_test\",\n      \"source\": \"fibonacci (0.618 골든레시오 $59,135.78), wyckoff (SC $59,080), chairman ($59,080-$59,135.78 하방 반응 클러스터)\",\n      \"description\": \"셋업 bias가 bearish 74%로 구조(bearish 62%)와 정렬되어 첫 이동은 하방. 현재가 $59,850은 fib 0.382 $59,818.92와 Wyckoff LPS $59,714.8를 테스트 중이며, EMA20 $60,449.11 재탈환 실패 상태. LPS와 EQ 0.5 $59,477.35를 차례로 이탈하면 fib 0.618 골든레시오 $59,135.78 + Wyckoff SC $59,080 클러스터가 첫 유의미한 지지 반응 구간. 현재가에서 약 $714 하락으로 0.5 ATR 이상 유효 스윙.\",\n      \"est_hours\": 5\n    },\n    {\n      \"seq\": 2,\n      \"price\": 58030.0,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"ict (다음 sell-side liquidity 타깃), candlestick (7일 저점), fibonacci ($58,030 스윙 저점), harmonic (Butterfly D점), wyckoff (Spring $58,288 구간)\",\n      \"description\": \"$59,135 지지가 종가 기준 방어에 실패하면 ICT가 명시한 다음 sell-side liquidity 타깃이자 ICT·캔들·피보나치·하모닉이 공통 인식하는 7일 저점 $58,030으로 확장. Wyckoff Spring $58,288 직하방이라 sell-side 유동성 스윕 성격이 강함. $59,135 → $58,030 약 $1,106 이동으로 핵심 구조 검증 구간 도달.\",\n      \"est_hours\": 14\n    },\n    {\n      \"seq\": 3,\n      \"price\": 60449.11,\n      \"type\": \"resistance_test\",\n      \"source\": \"candlestick·ict·fibonacci·derivatives 공통 EMA20 $60,449.11, derivatives ($60,900-$61,900 상방 청산 자석), wyckoff (Spring 이후 SOS $60,924.7 방향 반응)\",\n      \"description\": \"$58,030 유동성 스윕은 롱 과밀(0.673)·OI 언와인딩 환경에서 숏 추격 보상비가 낮아지는 지점이며, Wyckoff Spring/LPS 방어 시나리오와 derivatives의 $60,900-$61,900 반등 자석이 작동하는 반발 구간. 스윕 이후 반등은 다수 분석이 공통 저항으로 제시한 EMA20 $60,449.11을 하방에서 재시험. 여기서 거부되면 약세 구조 유지, 돌파 시 경로 훼손.\",\n      \"est_hours\": 22\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 59850.0, \"expected_low\": 59135.78, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 59850.0, \"expected_low\": 58288.0, \"high_first\": true},\n    \"24h\": {\"expected_high\": 60449.11, \"expected_low\": 58030.0, \"high_first\": false}\n  },\n  \"triggers\": {\n    \"bullish\": {\n      \"price\": 60924.7,\n      \"description\": \"이전일 고가이자 Wyckoff SOS인 $60,924.70를 종가로 재탈환하면 단기 buy-side liquidity 회수 + Wyckoff 축적 해석 강화로 상방 가속. 이후 $61,665-$61,813.60 EQ 클러스터 회복 시 ICT bearish BOS 구조 본격 훼손.\"\n    },\n    \"bearish\": {\n      \"price\": 58030.0,\n      \"description\": \"7일 저점/주요 sell-side liquidity인 $58,030을 종가로 하향 이탈하면 Wyckoff Spring·축적 해석이 약화되고 하방 가속. 다음 타깃은 derivatives가 제시한 $57,200 하방 유동성.\"\n    }\n  },\n  \"scenario_invalidation\": 60924.7\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 59135.78,
        "turning_zone": [
          58870.0,
          59135.78
        ],
        "likely_wick": 59000.0,
        "rejection_confirm": 59477.35,
        "invalid_overshoot": 58650.0,
        "calibration_reasoning": "fib 0.618 골든레시오 $59,135.78와 Wyckoff SC $59,080 클러스터를 상단 앵커로 잡고, 그 아래 라운드넘버 $59,000 유동성 자석까지 존을 확장(폭 ≈0.31 ATR). likely_wick은 SC 직하방을 스윕해 $59,000을 태깅하는 쪽으로 편향, EQ 0.5 $59,477.35 재탈환 시 지지 반응 확정."
      },
      {
        "seq": 2,
        "base_target": 58030.0,
        "turning_zone": [
          57760.0,
          58030.0
        ],
        "likely_wick": 57930.0,
        "rejection_confirm": 58288.0,
        "invalid_overshoot": 57200.0,
        "calibration_reasoning": "경로 방향상 셀사이드(하방) 유동성 스윕이라 base 아래로 존 설정(liquidity_sweep 기본 '상방' 규칙을 방향 정합으로 오버라이드). 7일 저점 $58,030·라운드넘버 $58,000 직하의 스톱을 쓸어내는 $57,930을 wick 극값으로, Wyckoff Spring $58,288 재탈환을 스프링 반전 확인선, $57,200 이탈을 무효화로 설정."
      },
      {
        "seq": 3,
        "base_target": 60449.11,
        "turning_zone": [
          60449.11,
          60925.0
        ],
        "likely_wick": 60600.0,
        "rejection_confirm": 60241.55,
        "invalid_overshoot": 61000.0,
        "calibration_reasoning": "터미널 구간이라 폭을 ≈0.55 ATR로 확대; 1차 거부선 EMA20 $60,449.11부터 스윙고점·fib 저항 $60,924.70까지 포괄. likely_wick은 EMA20 소폭 오버슈트로 $60,500 라운드넘버 구간을 태깅 후 거부, fib $60,241.55 하향 회귀가 거부 확정, $61,000 종가 상회는 약세 경로 훼손으로 무효화. butterfly PRZ $59,786.9는 미확정이라 앵커 미반영."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 59135.78,\n      \"turning_zone\": [58870.0, 59135.78],\n      \"likely_wick\": 59000.0,\n      \"rejection_confirm\": 59477.35,\n      \"invalid_overshoot\": 58650.0,\n      \"calibration_reasoning\": \"fib 0.618 골든레시오 $59,135.78와 Wyckoff SC $59,080 클러스터를 상단 앵커로 잡고, 그 아래 라운드넘버 $59,000 유동성 자석까지 존을 확장(폭 ≈0.31 ATR). likely_wick은 SC 직하방을 스윕해 $59,000을 태깅하는 쪽으로 편향, EQ 0.5 $59,477.35 재탈환 시 지지 반응 확정.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 58030.0,\n      \"turning_zone\": [57760.0, 58030.0],\n      \"likely_wick\": 57930.0,\n      \"rejection_confirm\": 58288.0,\n      \"invalid_overshoot\": 57200.0,\n      \"calibration_reasoning\": \"경로 방향상 셀사이드(하방) 유동성 스윕이라 base 아래로 존 설정(liquidity_sweep 기본 '상방' 규칙을 방향 정합으로 오버라이드). 7일 저점 $58,030·라운드넘버 $58,000 직하의 스톱을 쓸어내는 $57,930을 wick 극값으로, Wyckoff Spring $58,288 재탈환을 스프링 반전 확인선, $57,200 이탈을 무효화로 설정.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 60449.11,\n      \"turning_zone\": [60449.11, 60925.0],\n      \"likely_wick\": 60600.0,\n      \"rejection_confirm\": 60241.55,\n      \"invalid_overshoot\": 61000.0,\n      \"calibration_reasoning\": \"터미널 구간이라 폭을 ≈0.55 ATR로 확대; 1차 거부선 EMA20 $60,449.11부터 스윙고점·fib 저항 $60,924.70까지 포괄. likely_wick은 EMA20 소폭 오버슈트로 $60,500 라운드넘버 구간을 태깅 후 거부, fib $60,241.55 하향 회귀가 거부 확정, $61,000 종가 상회는 약세 경로 훼손으로 무효화. butterfly PRZ $59,786.9는 미확정이라 앵커 미반영.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 63.7,
      "chairman": 81.1,
      "operating_path": 175.2,
      "tp_calibrator": 331.3
    },
    "agents": {},
    "total_s": 651.4
  }
}