{
  "symbol": "BTC/USDT",
  "timeframe": "1h",
  "timestamp": "2026-06-29 17:00 KST",
  "last_price": 60000.1,
  "num_candles": 300,
  "stage1_analyses": {
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "하락 스윙 $60,543 → $58,850 기준 가격이 EQ ret_0.5 $59,696.65 위에 위치하여 프리미엄 구간 진입",
        "현재가 $60,000.10이 골든비율 ret_0.618 $59,896.46을 테스트 중이며, 하락 스윙의 되돌림 매도 구간에 근접",
        "상단 ret_0.786 $60,180.93이 0.30% 거리의 즉시 저항으로 작용",
        "EMA120 $60,556.31 및 EMA240 $61,617.57 아래에서 거래되어 중기 구조 압력 유지",
        "0.5~0.618 클러스터 $59,796.55와 0.236~0.786 클러스터 $60,095.39 사이에서 반응 확률 0.65의 테스트 상태"
      ],
      "reasoning": "확정 구조는 하락 스윙 $60,543 → $58,850 이후의 되돌림 국면이며, 현재가는 EMA120 $60,556.31 및 EMA240 $61,617.57 아래에 있어 structure_bias는 bearish로 본다. 가격은 핵심 골든비율 ret_0.618 $59,896.46 바로 위에 있지만, 이는 하락 스윙 기준 프리미엄 되돌림 영역이며 ret_0.786 $60,180.93 저항까지 여유가 0.30%에 불과하다. 단기적으로 $59,896.46을 지키면 $60,180.93 재테스트가 가능하지만, $59,896.46 이탈 시 ret_0.5 $59,696.65와 ret_0.382 $59,496.84로 되밀릴 확률이 높다. 피보나치 confluence_quality는 0.600으로 중간 수준이며, 현재 fib_reaction_state가 testing이므로 확정 돌파보다는 저항 반응 여부를 우선 확인해야 한다.",
      "key_levels": {
        "support": [
          59896.46,
          59696.65,
          59496.84,
          58850.0,
          58389.42,
          58148.97,
          57803.54
        ],
        "resistance": [
          60180.93,
          60543.0,
          60556.31,
          61617.57
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "60180.93",
      "risk_scenario": "$60,180.93 ret_0.786을 1시간봉 종가로 상향 돌파하고 수용되면 하락 되돌림 매도 셋업은 무효화되며, 다음 저항은 스윙 고점 $60,543 및 EMA120 $60,556.31 부근으로 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "High→Low: $60,543 → $58,850",
        "direction": "down",
        "nearest_fib": "ret_0.618",
        "nearest_fib_price": 59896.46,
        "nearest_fib_distance": 0.17,
        "golden_ratio_level": 59896.46,
        "fib_ret_382": 59496.84,
        "fib_ret_618": 59896.46,
        "confluence_zones": [
          {
            "price": 57916.77,
            "count": 2,
            "levels": [
              "ext_1.618",
              "ext_1.0"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 58269.2,
            "count": 2,
            "levels": [
              "ext_1.414",
              "ext_1.272"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 59373.23,
            "count": 2,
            "levels": [
              "ret_0.236",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 59796.55,
            "count": 2,
            "levels": [
              "ret_0.5",
              "ret_0.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 60095.39,
            "count": 2,
            "levels": [
              "ret_0.236",
              "ret_0.786"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          59896.4594,
          59696.65,
          59496.8406
        ],
        "resistance_levels": [
          60180.9338
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 59249.62,
            "distance_pct": 1.25,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.382",
            "price": 59496.84,
            "distance_pct": 0.84,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.5",
            "price": 59696.65,
            "distance_pct": 0.51,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.618",
            "price": 59896.46,
            "distance_pct": 0.17,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.786",
            "price": 60180.93,
            "distance_pct": 0.3,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.0",
            "price": 58850.0,
            "distance_pct": 1.92,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 58389.42,
            "distance_pct": 2.68,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 58148.97,
            "distance_pct": 3.09,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 57803.54,
            "distance_pct": 3.66,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_2.0",
            "price": 57156.7,
            "distance_pct": 4.74,
            "is_support": true,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"하락 스윙 $60,543 → $58,850 기준 가격이 EQ ret_0.5 $59,696.65 위에 위치하여 프리미엄 구간 진입\",\n    \"현재가 $60,000.10이 골든비율 ret_0.618 $59,896.46을 테스트 중이며, 하락 스윙의 되돌림 매도 구간에 근접\",\n    \"상단 ret_0.786 $60,180.93이 0.30% 거리의 즉시 저항으로 작용\",\n    \"EMA120 $60,556.31 및 EMA240 $61,617.57 아래에서 거래되어 중기 구조 압력 유지\",\n    \"0.5~0.618 클러스터 $59,796.55와 0.236~0.786 클러스터 $60,095.39 사이에서 반응 확률 0.65의 테스트 상태\"\n  ],\n  \"reasoning\": \"확정 구조는 하락 스윙 $60,543 → $58,850 이후의 되돌림 국면이며, 현재가는 EMA120 $60,556.31 및 EMA240 $61,617.57 아래에 있어 structure_bias는 bearish로 본다. 가격은 핵심 골든비율 ret_0.618 $59,896.46 바로 위에 있지만, 이는 하락 스윙 기준 프리미엄 되돌림 영역이며 ret_0.786 $60,180.93 저항까지 여유가 0.30%에 불과하다. 단기적으로 $59,896.46을 지키면 $60,180.93 재테스트가 가능하지만, $59,896.46 이탈 시 ret_0.5 $59,696.65와 ret_0.382 $59,496.84로 되밀릴 확률이 높다. 피보나치 confluence_quality는 0.600으로 중간 수준이며, 현재 fib_reaction_state가 testing이므로 확정 돌파보다는 저항 반응 여부를 우선 확인해야 한다.\",\n  \"key_levels\": {\n    \"support\": [\n      59896.46,\n      59696.65,\n      59496.84,\n      58850.0,\n      58389.42,\n      58148.97,\n      57803.54\n    ],\n    \"resistance\": [\n      60180.93,\n      60543.0,\n      60556.31,\n      61617.57\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"60180.93\",\n  \"risk_scenario\": \"$60,180.93 ret_0.786을 1시간봉 종가로 상향 돌파하고 수용되면 하락 되돌림 매도 셋업은 무효화되며, 다음 저항은 스윙 고점 $60,543 및 EMA120 $60,556.31 부근으로 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.843,
      "setup_signals": [
        "현재가 $60,000.10은 EQ $59,887.35 위에 있어 프리미엄 구간에서 매도 셋업 우위",
        "이전일 저가 $59,714.80이 이미 하향 이탈되어 sell-side 유동성 공격 이후 재상승이 약함",
        "확정 bearish CHoCH 레벨 $63,220.00 이후 bearish BOS $61,870.00 및 $59,060.00이 연속 발생",
        "현재가가 EMA120 $60,556.31 및 EMA240 $61,617.57 아래에 있어 상위 평균값 기준 약세 압력 유지",
        "상단 $62,272.10~$63,209.60에 candidate bearish OB가 존재해 반등 시 공급 구간으로 작동 가능"
      ],
      "reasoning": "구조적으로는 $63,220.00 bearish CHoCH 이후 $61,870.00, $59,060.00 bearish BOS가 확인되어 큰 흐름은 여전히 약세로 해석된다. 최근 $60,734.00 bullish BOS가 있었지만 현재가 $60,000.10이 그 아래로 되밀렸고, EMA120 $60,556.31 및 EMA240 $61,617.57 아래에 있어 bullish 구조 전환의 수용이 부족하다. 셋업 관점에서도 가격은 EQ $59,887.35 위 프리미엄에 위치하며, 이전일 저가 $59,714.80을 이미 깬 상태라 하단 유동성 사냥 후 강한 반등 실패가 bearish continuation 가능성을 높인다. 상단에는 $62,272.10~$63,209.60 candidate bearish OB가 남아 있어 반등 시 기관 매도 재진입 구간으로 볼 수 있다.",
      "key_levels": {
        "support": [
          59714.8,
          59060.0,
          58850.0,
          58030.0
        ],
        "resistance": [
          60325.0,
          60734.0,
          60924.7,
          61870.0,
          62272.1,
          63209.6,
          63220.0
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$60,924.70",
      "risk_scenario": "반대로 가격이 이전일 고점이자 현재 range high인 $60,924.70을 회복하고 그 위에서 1시간봉 종가 수용을 만들면, $60,734.00 bullish BOS가 단순 반등이 아니라 실제 구조 전환으로 재평가될 수 있다. 이 경우 숏 포지션은 $61,870.00, 이후 $62,272.10~$63,209.60 bearish OB 재테스트까지 숏 스퀴즈 위험이 커진다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 1,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 1,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 62272.1,
          "top": 63209.6,
          "quality": "candidate",
          "score": 0.548
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 1,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 51,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 64568.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 63220.0
          },
          {
            "type": "BOS_bearish",
            "level": 61870.0
          },
          {
            "type": "BOS_bearish",
            "level": 59060.0
          },
          {
            "type": "BOS_bullish",
            "level": 60734.0
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish"
        ],
        "consecutive_bull_bos": 1,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "premium",
        "eq_level": 59887.35,
        "range_high": 60924.7,
        "range_low": 58850.0,
        "bull_score": 5.0,
        "bear_score": 8.0,
        "setup_bias": "bearish",
        "setup_score": 0.843,
        "setup_signals": [
          "bearish CHoCH below $63,220.00",
          "bearish BOS below $61,870.00",
          "bearish BOS below $59,060.00",
          "broken previous day low $59,714.80"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 62.9,
        "deepest_retracement_pct": 204.4,
        "previous_day_high": 60924.7,
        "previous_day_low": 59714.8,
        "broken_prev_high": false,
        "broken_prev_low": true,
        "sessions": {
          "London": {
            "active": true,
            "high": 60325.0,
            "low": 58850.0
          },
          "New York": {
            "active": true,
            "high": 60325.0,
            "low": 59360.3
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.843,\n  \"setup_signals\": [\n    \"현재가 $60,000.10은 EQ $59,887.35 위에 있어 프리미엄 구간에서 매도 셋업 우위\",\n    \"이전일 저가 $59,714.80이 이미 하향 이탈되어 sell-side 유동성 공격 이후 재상승이 약함\",\n    \"확정 bearish CHoCH 레벨 $63,220.00 이후 bearish BOS $61,870.00 및 $59,060.00이 연속 발생\",\n    \"현재가가 EMA120 $60,556.31 및 EMA240 $61,617.57 아래에 있어 상위 평균값 기준 약세 압력 유지\",\n    \"상단 $62,272.10~$63,209.60에 candidate bearish OB가 존재해 반등 시 공급 구간으로 작동 가능\"\n  ],\n  \"reasoning\": \"구조적으로는 $63,220.00 bearish CHoCH 이후 $61,870.00, $59,060.00 bearish BOS가 확인되어 큰 흐름은 여전히 약세로 해석된다. 최근 $60,734.00 bullish BOS가 있었지만 현재가 $60,000.10이 그 아래로 되밀렸고, EMA120 $60,556.31 및 EMA240 $61,617.57 아래에 있어 bullish 구조 전환의 수용이 부족하다. 셋업 관점에서도 가격은 EQ $59,887.35 위 프리미엄에 위치하며, 이전일 저가 $59,714.80을 이미 깬 상태라 하단 유동성 사냥 후 강한 반등 실패가 bearish continuation 가능성을 높인다. 상단에는 $62,272.10~$63,209.60 candidate bearish OB가 남아 있어 반등 시 기관 매도 재진입 구간으로 볼 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      59714.8,\n      59060.0,\n      58850.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60325.0,\n      60734.0,\n      60924.7,\n      61870.0,\n      62272.1,\n      63209.6,\n      63220.0\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$60,924.70\",\n  \"risk_scenario\": \"반대로 가격이 이전일 고점이자 현재 range high인 $60,924.70을 회복하고 그 위에서 1시간봉 종가 수용을 만들면, $60,734.00 bullish BOS가 단순 반등이 아니라 실제 구조 전환으로 재평가될 수 있다. 이 경우 숏 포지션은 $61,870.00, 이후 $62,272.10~$63,209.60 bearish OB 재테스트까지 숏 스퀴즈 위험이 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $60,000.10은 직전 LPSY $59,883.20을 소폭 상회하지만, UT/UTAD 공급대 $60,543.30~$60,557.80 아래에 위치",
        "활성 재분배 구간에서 SOW $58,850.00 발생 후 반등이 아직 $60,557.80 상단 수용으로 전환되지 않음",
        "EMA120 $60,556.31과 UT 고점 $60,557.80이 거의 일치해 단기 공급/거절 확인 구간 형성",
        "주 구조는 BC $66,092.50 이후 AR $64,525.00, UT $65,597.20, LPSY $64,247.20, SOW $61,870.00, Phase E 저점 $58,030.00 순으로 분배 완료"
      ],
      "reasoning": "1시간 Wyckoff 구조는 regime=DIS, regime_state=confirmed_dis, dis_score=100.0으로 확정 분배이며 구조적 편향은 약세입니다. 메인 분배 범위는 BC $66,092.50와 AR $64,525.00로 앵커링되며, 이후 UT $65,597.20, LPSY $64,247.20, SOW $61,870.00을 거쳐 Phase E 저점 $58,030.00까지 진행되었습니다. 현재 활성 구간은 $58,030.00 저점 이후 재분배 성격으로 보이며, $60,543.30~$60,557.80의 UT/UTAD 상단을 회복하지 못하면 반등은 LPSY 이후의 약한 되돌림으로 해석됩니다. 다만 현재가 $60,000.10은 직전 LPSY $59,883.20을 소폭 회복한 상태라 즉시 하락 확정보다는 $60,543.30~$60,557.80 공급대 재거절 여부가 단기 핵심입니다.",
      "key_levels": {
        "support": [
          59883.2,
          58850.0,
          58030.0
        ],
        "resistance": [
          60543.3,
          60557.8,
          61870.0,
          64247.2,
          65597.2
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$60,557.80의 1시간 종가 수용 시 단기 약세 setup은 무효화되며, $64,247.20 LPSY 회복 시 분배 구조 자체의 약세 해석이 크게 약화됩니다.",
      "risk_scenario": "$60,557.80 위로 가격이 수용되면 최근 SOW $58,850.00은 실패한 약세 신호가 될 수 있고, 가격은 $61,870.00 이전 SOW 레벨 및 $64,247.20 LPSY 공급대로 재시험할 가능성이 커집니다. 반대로 $60,543.30~$60,557.80에서 재차 거절되면 $58,850.00, 이후 $58,030.00 Phase E 저점 재시험이 우선 경로입니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 81.5,
        "dis_score": 100.0,
        "regime": "DIS",
        "regime_state": "confirmed_dis",
        "structure_bias": "bearish",
        "phase_context": "confirmed_dis / distribution / Phase E",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "LPSY",
          "SOW",
          "Phase E"
        ],
        "last_phase": "Phase E",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 6,
            "price": 66092.5,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 15,
            "price": 64525.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 65,
            "price": 63410.3,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 90,
            "price": 63136.2,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 138,
            "price": 65597.2,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 150,
            "price": 64247.2,
            "color": "#8338ec"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 156,
            "price": 61870.0,
            "color": "#ef476f"
          },
          {
            "label": "Phase E",
            "side": "low",
            "idx": 209,
            "price": 58030.0,
            "color": "#7209b7"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "1h_cycle_1",
            "sequence": 1,
            "timeframe": "1h",
            "regime": "distribution",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 6,
            "end_idx": 209,
            "phase_count": 8,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 6,
                "price": 66092.5,
                "color": "#ffd166",
                "dt": "2026-06-17 11:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 15,
                "price": 64525.0,
                "color": "#06d6a0",
                "dt": "2026-06-17 20:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 65,
                "price": 63410.3,
                "color": "#118ab2",
                "dt": "2026-06-19 22:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 90,
                "price": 63136.2,
                "color": "#ef476f",
                "dt": "2026-06-20 23:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 138,
                "price": 65597.2,
                "color": "#f9844a",
                "dt": "2026-06-22 23:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 150,
                "price": 64247.2,
                "color": "#8338ec",
                "dt": "2026-06-23 11:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 156,
                "price": 61870.0,
                "color": "#ef476f",
                "dt": "2026-06-23 17:00:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 209,
                "price": 58030.0,
                "color": "#7209b7",
                "dt": "2026-06-25 22:00:00+09:00"
              }
            ]
          },
          {
            "structure_id": "1h_cycle_2",
            "sequence": 2,
            "timeframe": "1h",
            "regime": "redistribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "redistribution",
            "start_idx": 209,
            "end_idx": 294,
            "phase_count": 8,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 209,
                "price": 58030.0,
                "color": "#ffd166",
                "dt": "2026-06-25 22:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 210,
                "price": 60466.9,
                "color": "#06d6a0",
                "dt": "2026-06-25 23:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 233,
                "price": 58388.0,
                "color": "#118ab2",
                "dt": "2026-06-26 22:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 238,
                "price": 59530.7,
                "color": "#ef476f",
                "dt": "2026-06-27 03:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 251,
                "price": 60557.8,
                "color": "#f9844a",
                "dt": "2026-06-27 16:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 276,
                "price": 60543.3,
                "color": "#f9844a",
                "dt": "2026-06-28 17:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 290,
                "price": 59883.2,
                "color": "#8338ec",
                "dt": "2026-06-29 07:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 294,
                "price": 58850.0,
                "color": "#ef476f",
                "dt": "2026-06-29 11:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "1h_cycle_2",
        "primary_structure_id": "1h_cycle_1",
        "structure_count": 2,
        "regime_fitness": 1.0,
        "current_event": "Phase E",
        "major_phase": "E",
        "pos_in_range": 0.5,
        "main_range_low": 64525.0,
        "main_range_high": 66092.5
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $60,000.10은 직전 LPSY $59,883.20을 소폭 상회하지만, UT/UTAD 공급대 $60,543.30~$60,557.80 아래에 위치\",\n    \"활성 재분배 구간에서 SOW $58,850.00 발생 후 반등이 아직 $60,557.80 상단 수용으로 전환되지 않음\",\n    \"EMA120 $60,556.31과 UT 고점 $60,557.80이 거의 일치해 단기 공급/거절 확인 구간 형성\",\n    \"주 구조는 BC $66,092.50 이후 AR $64,525.00, UT $65,597.20, LPSY $64,247.20, SOW $61,870.00, Phase E 저점 $58,030.00 순으로 분배 완료\"\n  ],\n  \"reasoning\": \"1시간 Wyckoff 구조는 regime=DIS, regime_state=confirmed_dis, dis_score=100.0으로 확정 분배이며 구조적 편향은 약세입니다. 메인 분배 범위는 BC $66,092.50와 AR $64,525.00로 앵커링되며, 이후 UT $65,597.20, LPSY $64,247.20, SOW $61,870.00을 거쳐 Phase E 저점 $58,030.00까지 진행되었습니다. 현재 활성 구간은 $58,030.00 저점 이후 재분배 성격으로 보이며, $60,543.30~$60,557.80의 UT/UTAD 상단을 회복하지 못하면 반등은 LPSY 이후의 약한 되돌림으로 해석됩니다. 다만 현재가 $60,000.10은 직전 LPSY $59,883.20을 소폭 회복한 상태라 즉시 하락 확정보다는 $60,543.30~$60,557.80 공급대 재거절 여부가 단기 핵심입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59883.2,\n      58850.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60543.3,\n      60557.8,\n      61870.0,\n      64247.2,\n      65597.2\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$60,557.80의 1시간 종가 수용 시 단기 약세 setup은 무효화되며, $64,247.20 LPSY 회복 시 분배 구조 자체의 약세 해석이 크게 약화됩니다.\",\n  \"risk_scenario\": \"$60,557.80 위로 가격이 수용되면 최근 SOW $58,850.00은 실패한 약세 신호가 될 수 있고, 가격은 $61,870.00 이전 SOW 레벨 및 $64,247.20 LPSY 공급대로 재시험할 가능성이 커집니다. 반대로 $60,543.30~$60,557.80에서 재차 거절되면 $58,850.00, 이후 $58,030.00 Phase E 저점 재시험이 우선 경로입니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bullish",
      "confidence": 0.56,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.64,
      "setup_signals": [
        "7일 범위 EQ 약 $61,813.60 아래의 할인 구간에서 거래 중: 현재가 $60,000.10",
        "EMA20 $59,832.44를 소폭 상회하며 단기 지지 반응 확인: 현재가가 EMA20 대비 약 +0.3%",
        "최근 패턴 중 최고 품질은 bullish_engulfing, quality 0.730, high_volume=true",
        "bull_score 2.35가 bear_score 1.45보다 우위로 단기 매수 셋업이 상대적으로 강함",
        "7일 저점 $58,030.00 위에서 반등 시도 중이나, 아직 EMA120 $60,556.31 및 EMA240 $61,617.57 회복은 미확인"
      ],
      "reasoning": "현재 BTC는 $60,000.10에서 거래되며 EMA20 $59,832.44 위로 올라섰지만, EMA120 $60,556.31과 EMA240 $61,617.57 아래에 있어 구조적으로는 확정적인 bullish 전환을 말하기 어렵습니다. 최근 5개 주요 패턴 중 bullish_engulfing이 3개이며, 특히 quality 0.730의 strict bullish_engulfing이 고거래량으로 확인되어 단기 매수 반응은 유효합니다. 다만 bearish_engulfing과 dark_cloud_cover도 동시에 출현했고, 가격이 7일 범위 EQ $61,813.60 아래에 머물러 있어 이는 확정 구조 전환보다는 할인 구간에서의 선행 bullish setup으로 해석됩니다. $60,556.31 EMA120과 $61,617.57 EMA240을 회복하지 못하면 반등은 단기 되돌림에 그칠 수 있습니다.",
      "key_levels": {
        "support": [
          59832.44,
          58030.0
        ],
        "resistance": [
          60556.31,
          61617.57,
          61813.6,
          65597.2
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "58030.00",
      "risk_scenario": "$59,832.44 EMA20을 다시 이탈하고 $58,030.00 7일 저점까지 밀리면 bullish engulfing 기반의 단기 매수 셋업은 실패로 봐야 합니다. 이 경우 dark_cloud_cover와 bearish_engulfing 신호가 우세해지며, 구조는 중립에서 bearish로 기울 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 144,
        "recent_patterns": 5,
        "pattern_list": [
          "bullish_engulfing@291",
          "bearish_engulfing@293",
          "bullish_engulfing@294",
          "bullish_engulfing@297",
          "dark_cloud_cover@296"
        ],
        "atr_value": 452.2,
        "vol_avg_20": 6453.4,
        "high_volume_patterns": [
          "bullish_engulfing"
        ],
        "pattern_candidates": [
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.73,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.57,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "dark_cloud_cover",
            "signal": "bearish",
            "pattern_quality": 0.561,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.499,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.453,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.73,
        "bull_score": 2.35,
        "bear_score": 1.45
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"7일 범위 EQ 약 $61,813.60 아래의 할인 구간에서 거래 중: 현재가 $60,000.10\",\n    \"EMA20 $59,832.44를 소폭 상회하며 단기 지지 반응 확인: 현재가가 EMA20 대비 약 +0.3%\",\n    \"최근 패턴 중 최고 품질은 bullish_engulfing, quality 0.730, high_volume=true\",\n    \"bull_score 2.35가 bear_score 1.45보다 우위로 단기 매수 셋업이 상대적으로 강함\",\n    \"7일 저점 $58,030.00 위에서 반등 시도 중이나, 아직 EMA120 $60,556.31 및 EMA240 $61,617.57 회복은 미확인\"\n  ],\n  \"reasoning\": \"현재 BTC는 $60,000.10에서 거래되며 EMA20 $59,832.44 위로 올라섰지만, EMA120 $60,556.31과 EMA240 $61,617.57 아래에 있어 구조적으로는 확정적인 bullish 전환을 말하기 어렵습니다. 최근 5개 주요 패턴 중 bullish_engulfing이 3개이며, 특히 quality 0.730의 strict bullish_engulfing이 고거래량으로 확인되어 단기 매수 반응은 유효합니다. 다만 bearish_engulfing과 dark_cloud_cover도 동시에 출현했고, 가격이 7일 범위 EQ $61,813.60 아래에 머물러 있어 이는 확정 구조 전환보다는 할인 구간에서의 선행 bullish setup으로 해석됩니다. $60,556.31 EMA120과 $61,617.57 EMA240을 회복하지 못하면 반등은 단기 되돌림에 그칠 수 있습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59832.44,\n      58030.0\n    ],\n    \"resistance\": [\n      60556.31,\n      61617.57,\n      61813.6,\n      65597.2\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"58030.00\",\n  \"risk_scenario\": \"$59,832.44 EMA20을 다시 이탈하고 $58,030.00 7일 저점까지 밀리면 bullish engulfing 기반의 단기 매수 셋업은 실패로 봐야 합니다. 이 경우 dark_cloud_cover와 bearish_engulfing 신호가 우세해지며, 구조는 중립에서 bearish로 기울 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "롱 계정 비율 0.682 / 숏 계정 비율 0.318로 롱 계정 쏠림이 극단적이며 account_long_crowding=1.000",
        "24시간 OI가 +1.597% 증가했지만 CVD는 -3114.7370 하락해 신규 포지션 유입 대비 매수 체결 강도가 약함",
        "현재가 $60,000.10은 EMA120 $60,556.31 및 EMA240 $61,617.57 아래에 있어 상위 구조 저항권 하단에 위치",
        "현물-선물 베이시스가 -0.0431%로 약한 디스카운트이며 basis_score=0.489로 적극적 롱 프리미엄이 없음",
        "상단 $60,200 / $60,600 청산 유동성이 가까워 단기 상방 스윕 후 되돌림이 나올 수 있는 구간",
        "하단 $59,000 / $58,800 / $58,400에 청산 유동성이 밀집되어 있어 롱 포지션 언와인딩 시 하방 자석 역할 가능"
      ],
      "reasoning": "확정 구조 관점에서는 $58,030~$65,597.20의 7일 박스 안에 있으며, 현재가 $60,000.10은 EMA20 $59,832.44 위지만 EMA120 $60,556.31과 EMA240 $61,617.57 아래라 명확한 BOS 확인 전까지는 중립 구조로 본다. 그러나 셋업 관점에서는 롱 계정 비율이 0.682까지 올라 account_long_crowding=1.000을 기록했고, OI가 24시간 +1.597% 증가하는 동안 CVD가 -3114.7370 하락해 신규 포지션이 가격을 강하게 밀어 올리지 못하고 있다. 이는 파생 포지셔닝 기준으로 4~8시간 선행 약세 신호이며, $60,200~$60,600 상단 유동성 스윕 후 EMA120 $60,556.31 부근에서 거절되면 $59,000, $58,800, $58,400 하단 청산 구간으로 확장될 가능성이 높다. 단, 가격이 $60,600 위에서 수용되고 $61,617.57 EMA240 방향으로 확장되면 현재의 숏 셋업은 약화된다.",
      "key_levels": {
        "support": [
          59832.44,
          59000,
          58800,
          58400,
          58030
        ],
        "resistance": [
          60200,
          60556.31,
          60600,
          61617.57,
          62400
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "60600",
      "risk_scenario": "반대 시나리오는 $60,600 상단 청산 유동성을 흡수한 뒤 가격이 EMA120 $60,556.31 위에서 안정적으로 수용되는 경우다. 이 경우 숏 포지션이 압박을 받으며 $61,617.57 EMA240, 이후 $62,400 상단 청산 레벨까지 숏 스퀴즈가 전개될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.15,
        "cvd_change": -3114.737,
        "oi_trend": 0.66,
        "oi_change_pct_24h": 1.597,
        "oi_latest": 104562.797,
        "funding_pressure": 0.47,
        "funding_avg": 2.966e-05,
        "funding_change_24h": 1.757e-05,
        "long_account_ratio": 0.683,
        "short_account_ratio": 0.317,
        "long_account_latest": 0.682,
        "short_account_latest": 0.318,
        "long_account_change_24h": 0.0143,
        "short_account_change_24h": -0.0143,
        "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.489,
        "spot_futures_basis_pct": -0.0431,
        "basis_change_lookback": 0.0064,
        "aggregate_score": 0.354,
        "bull_signals": 1,
        "bear_signals": 2,
        "liq_below": [
          [
            59000,
            4823.3651157
          ],
          [
            58800,
            5918.684737199999
          ],
          [
            58400,
            6438.338389150001
          ]
        ],
        "liq_above": [
          [
            60200,
            4802.7860112
          ],
          [
            60600,
            5018.308809
          ],
          [
            62400,
            5073.668445
          ]
        ],
        "strongest_liq_level": 54000,
        "fragility_score": 0.635,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"롱 계정 비율 0.682 / 숏 계정 비율 0.318로 롱 계정 쏠림이 극단적이며 account_long_crowding=1.000\",\n    \"24시간 OI가 +1.597% 증가했지만 CVD는 -3114.7370 하락해 신규 포지션 유입 대비 매수 체결 강도가 약함\",\n    \"현재가 $60,000.10은 EMA120 $60,556.31 및 EMA240 $61,617.57 아래에 있어 상위 구조 저항권 하단에 위치\",\n    \"현물-선물 베이시스가 -0.0431%로 약한 디스카운트이며 basis_score=0.489로 적극적 롱 프리미엄이 없음\",\n    \"상단 $60,200 / $60,600 청산 유동성이 가까워 단기 상방 스윕 후 되돌림이 나올 수 있는 구간\",\n    \"하단 $59,000 / $58,800 / $58,400에 청산 유동성이 밀집되어 있어 롱 포지션 언와인딩 시 하방 자석 역할 가능\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 $58,030~$65,597.20의 7일 박스 안에 있으며, 현재가 $60,000.10은 EMA20 $59,832.44 위지만 EMA120 $60,556.31과 EMA240 $61,617.57 아래라 명확한 BOS 확인 전까지는 중립 구조로 본다. 그러나 셋업 관점에서는 롱 계정 비율이 0.682까지 올라 account_long_crowding=1.000을 기록했고, OI가 24시간 +1.597% 증가하는 동안 CVD가 -3114.7370 하락해 신규 포지션이 가격을 강하게 밀어 올리지 못하고 있다. 이는 파생 포지셔닝 기준으로 4~8시간 선행 약세 신호이며, $60,200~$60,600 상단 유동성 스윕 후 EMA120 $60,556.31 부근에서 거절되면 $59,000, $58,800, $58,400 하단 청산 구간으로 확장될 가능성이 높다. 단, 가격이 $60,600 위에서 수용되고 $61,617.57 EMA240 방향으로 확장되면 현재의 숏 셋업은 약화된다.\",\n  \"key_levels\": {\n    \"support\": [\n      59832.44,\n      59000,\n      58800,\n      58400,\n      58030\n    ],\n    \"resistance\": [\n      60200,\n      60556.31,\n      60600,\n      61617.57,\n      62400\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"60600\",\n  \"risk_scenario\": \"반대 시나리오는 $60,600 상단 청산 유동성을 흡수한 뒤 가격이 EMA120 $60,556.31 위에서 안정적으로 수용되는 경우다. 이 경우 숏 포지션이 압박을 받으며 $61,617.57 EMA240, 이후 $62,400 상단 청산 레벨까지 숏 스퀴즈가 전개될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.64,
      "setup_signals": [
        "현재가 $60,000.10이 고품질 bullish Bat 형성 PRZ $59,615.47-$60,100.20 내부에 위치, D 예상가 $59,857.83",
        "고품질 bullish Butterfly 형성 PRZ $59,743.46-$60,100.24도 현재가와 중첩되어 동일 구간에서 상방 반응 후보 형성",
        "완료된 bullish Crab PRZ $58,818.05-$59,519.35는 이미 방어 확인됨: AD 0.382 반응 도달, PRZ 중심 회복/거부, D 실패구간 방어",
        "검증된 Crab TP 래더가 $59,699.34, $60,027.16, $60,557.80으로 현재가 주변 및 상단 유동성 목표를 제시",
        "하모닉 방향 점수 bullish 0.641, bearish 0.000으로 PRZ 기반 단기 셋업 우위는 상방"
      ],
      "reasoning": "확정된 구조 전환(BOS/CHoCH) 데이터가 제공되지 않았고, 현재가는 EMA120 $60,556.31 및 EMA240 $61,617.57 아래에 있어 구조 자체는 bullish로 확정하기 어렵기 때문에 structure_bias는 neutral로 둔다. 다만 현재가 $60,000.10은 고품질 strict bullish Bat PRZ $59,615.47-$60,100.20 및 strict bullish Butterfly PRZ $59,743.46-$60,100.24 안에 있어 단기 setup_bias는 bullish다. 가장 우수한 패턴은 Bat로 점수 0.961, PRZ confluence 3개(ABCD, BC_EXT, XAD), PRZ score 1.0이지만 아직 forming이며 confirmed_reaction=false이므로 독립적인 추세 전환 신호는 아니다. 이미 확인된 bullish Crab은 PRZ $58,818.05-$59,519.35에서 반응이 검증되었고 TP1 $59,699.34, TP2 $60,027.16을 충족/접근했으며, 다음 주요 상방 waypoint는 $60,557.80 및 Bat/Butterfly TP 구간 $60,125.22-$60,314.87이다.",
      "key_levels": {
        "support": [
          59857.83,
          59743.46,
          59615.47,
          59519.35,
          58818.05,
          58030.0
        ],
        "resistance": [
          60100.24,
          60125.22,
          60290.41,
          60314.87,
          60557.8,
          60717.48,
          61046.73
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$58,818.05",
      "risk_scenario": "만약 가격이 $60,100.20 위에서 즉시 수용되지 못하고 $59,615.47 하단을 이탈하면 active bullish Bat/Butterfly PRZ 반응 실패로 해석된다. 이후 $59,519.35 아래로 밀리면 확인된 Crab 방어 구간도 약화되며, $58,818.05 하향 이탈 시 bullish harmonic setup은 무효화되고 $58,030.00 7일 저점 재테스트 위험이 커진다. 반대로 $60,359.54-$60,717.48의 bearish Gartley 인근 PRZ에 진입 후 거부가 나오면 단기 상방 TP 이후 재하락 분기 가능성이 높아진다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 112,
        "completed_patterns_found": 33,
        "forming_d_prz_found": 79,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 67,
        "swing_highs_scanned": 35,
        "swing_lows_scanned": 32,
        "timeframe": "1h",
        "prz_active_threshold_pct": 0.5,
        "prz_nearby_threshold_pct": 1.0,
        "prz_watch_threshold_pct": 2.0,
        "prz_max_width_pct": 0.9,
        "quality_counts": {
          "high": 7,
          "medium": 46,
          "low": 59
        },
        "prz_status_counts": {
          "active": 23,
          "nearby": 16,
          "watch": 28,
          "far": 45,
          "forming": 43
        },
        "high_confluence_prz_count": 32,
        "strict_patterns_found": 55,
        "candidate_patterns_found": 57,
        "active_patterns_at_prz": 23,
        "nearby_patterns": 16,
        "all_patterns": [
          "bat",
          "bat",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "bat",
          "gartley",
          "gartley",
          "bat",
          "bat",
          "butterfly",
          "butterfly",
          "butterfly",
          "gartley",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "butterfly",
          "crab",
          "butterfly",
          "shark",
          "bat",
          "gartley",
          "bat",
          "shark",
          "gartley",
          "gartley",
          "shark",
          "crab",
          "shark",
          "crab",
          "crab",
          "crab",
          "bat",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "gartley",
          "gartley",
          "gartley",
          "butterfly",
          "shark",
          "crab",
          "bat",
          "crab",
          "bat",
          "butterfly",
          "shark",
          "crab",
          "butterfly",
          "gartley",
          "shark",
          "butterfly",
          "crab",
          "gartley",
          "gartley",
          "butterfly",
          "gartley",
          "gartley",
          "shark",
          "butterfly",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "gartley",
          "crab",
          "butterfly",
          "shark",
          "butterfly",
          "butterfly",
          "butterfly",
          "crab",
          "gartley",
          "crab",
          "gartley",
          "shark",
          "crab",
          "bat",
          "bat",
          "bat",
          "crab",
          "crab",
          "shark",
          "gartley",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "butterfly",
          "crab"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.961,
        "best_completion_status": "forming",
        "nearest_pattern": "gartley",
        "nearest_prz": 59973.78,
        "price_to_prz": -0.04,
        "prz_range": [
          59560.56,
          60387.0
        ],
        "council_relevant_prz_count": 3,
        "directional_influence_prz_count": 3,
        "confirmed_reaction_prz_count": 1,
        "validated_harmonic_tp_count": 1,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.961,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59857.83,
            "prz_range": [
              59615.47,
              60100.2
            ],
            "prz_width_pct": 0.81,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.24,
            "price_to_prz_pct_raw": -0.2371,
            "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": 59857.83,
              "a_price": 60557.8,
              "tp1_ad_382": 60125.22,
              "tp2_ad_618": 60290.41,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.3848
            },
            "x_price": 59530.7,
            "x_idx": 238,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 251,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 255,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 270,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.91,
            "ratio_score": 0.812,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59966.71,
            "prz_range": [
              59757.23,
              60176.18
            ],
            "prz_width_pct": 0.699,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.06,
            "price_to_prz_pct_raw": -0.0557,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 59966.71,
              "a_price": 60245.0,
              "tp1_ad_382": 60073.01,
              "tp2_ad_618": 60138.69,
              "tp3_a_or_structure_liquidity": 60245.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4231,
              "ABC": 1.4065
            },
            "x_price": 60648.0,
            "x_idx": 199,
            "x_order": 5,
            "a_price": 60245.0,
            "a_idx": 217,
            "a_order": 5,
            "b_price": 60074.5,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 270,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.907,
            "ratio_score": 0.846,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59921.85,
            "prz_range": [
              59743.46,
              60100.24
            ],
            "prz_width_pct": 0.595,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.13,
            "price_to_prz_pct_raw": -0.1304,
            "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": 59921.85,
              "a_price": 60557.8,
              "tp1_ad_382": 60164.78,
              "tp2_ad_618": 60314.87,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.819,
              "ABC": 0.3848
            },
            "x_price": 60074.5,
            "x_idx": 250,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 251,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 255,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 270,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.877,
            "ratio_score": 0.865,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60833.81,
            "prz_range": [
              60620.89,
              61046.73
            ],
            "prz_width_pct": 0.7,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.39,
            "price_to_prz_pct_raw": 1.3895,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60833.81,
              "a_price": 59530.7,
              "tp1_ad_382": 60336.02,
              "tp2_ad_618": 60028.49,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5953,
              "ABC": 0.7185
            },
            "x_price": 61256.0,
            "x_idx": 194,
            "x_order": 5,
            "a_price": 59530.7,
            "a_idx": 238,
            "a_order": 3,
            "b_price": 60557.8,
            "b_idx": 251,
            "b_order": 5,
            "c_price": 59819.8,
            "c_idx": 266,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.872,
            "ratio_score": 0.803,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60538.51,
            "prz_range": [
              60359.54,
              60717.48
            ],
            "prz_width_pct": 0.591,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.9,
            "price_to_prz_pct_raw": 0.8974,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60538.51,
              "a_price": 59530.7,
              "tp1_ad_382": 60153.53,
              "tp2_ad_618": 59915.68,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6512,
              "ABC": 0.7651
            },
            "x_price": 60734.0,
            "x_idx": 227,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 238,
            "a_order": 3,
            "b_price": 60314.3,
            "b_idx": 270,
            "b_order": 3,
            "c_price": 59714.8,
            "c_idx": 273,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.827,
            "ratio_score": 0.777,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60543.3,
            "prz_range": [
              60359.54,
              60717.48
            ],
            "prz_width_pct": 0.591,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.9,
            "price_to_prz_pct_raw": 0.8974,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.302,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60538.51,
              "a_price": 59530.7,
              "tp1_ad_382": 60153.53,
              "tp2_ad_618": 59915.68,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6512,
              "ABC": 0.7651,
              "BCD": 1.382,
              "XAD": 0.8415
            },
            "x_price": 60734.0,
            "x_idx": 227,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 238,
            "a_order": 3,
            "b_price": 60314.3,
            "b_idx": 270,
            "b_order": 3,
            "c_price": 59714.8,
            "c_idx": 273,
            "c_order": 8,
            "d_idx": 276
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.945,
            "ratio_score": 1.0,
            "prz_score": 0.93,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59567.32,
            "prz_range": [
              59218.67,
              59915.97
            ],
            "prz_width_pct": 1.171,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.72,
            "price_to_prz_pct_raw": -0.7213,
            "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": 59567.32,
              "a_price": 60734.0,
              "tp1_ad_382": 60012.99,
              "tp2_ad_618": 60288.33,
              "tp3_a_or_structure_liquidity": 60734.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.394,
              "ABC": 0.7108
            },
            "x_price": 59060.0,
            "x_idx": 189,
            "x_order": 8,
            "a_price": 60734.0,
            "a_idx": 227,
            "a_order": 8,
            "b_price": 60074.5,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 60543.3,
            "c_idx": 276,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.923,
            "ratio_score": 1.0,
            "prz_score": 0.93,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60531.07,
            "prz_range": [
              60176.61,
              60885.53
            ],
            "prz_width_pct": 1.171,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.88,
            "price_to_prz_pct_raw": 0.885,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60531.07,
              "a_price": 59819.8,
              "tp1_ad_382": 60259.37,
              "tp2_ad_618": 60091.51,
              "tp3_a_or_structure_liquidity": 59819.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5409,
              "ABC": 1.2123
            },
            "x_price": 60734.0,
            "x_idx": 227,
            "x_order": 8,
            "a_price": 59819.8,
            "a_idx": 266,
            "a_order": 5,
            "b_price": 60314.3,
            "b_idx": 270,
            "b_order": 3,
            "c_price": 59714.8,
            "c_idx": 273,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.844,
            "ratio_score": 0.898,
            "prz_score": 0.926,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 58850.0,
            "prz_range": [
              58818.05,
              59519.35
            ],
            "prz_width_pct": 1.185,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.39,
            "price_to_prz_pct_raw": -1.3857,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.864,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 5,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59168.7,
              "a_price": 60557.8,
              "tp1_ad_382": 59699.34,
              "tp2_ad_618": 60027.16,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.7044,
              "BCD": 3.7059,
              "XAD": 1.6627
            },
            "x_price": 59530.7,
            "x_idx": 238,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 251,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 255,
            "b_order": 3,
            "c_price": 59883.2,
            "c_idx": 290,
            "c_order": 3,
            "d_idx": 294
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.961,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59857.83,
            "prz_range": [
              59615.47,
              60100.2
            ],
            "prz_width_pct": 0.81,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.24,
            "price_to_prz_pct_raw": -0.2371,
            "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": 59857.83,
              "a_price": 60557.8,
              "tp1_ad_382": 60125.22,
              "tp2_ad_618": 60290.41,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.3848
            },
            "x_price": 59530.7,
            "x_idx": 238,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 251,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 255,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 270,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.907,
            "ratio_score": 0.846,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59921.85,
            "prz_range": [
              59743.46,
              60100.24
            ],
            "prz_width_pct": 0.595,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.13,
            "price_to_prz_pct_raw": -0.1304,
            "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": 59921.85,
              "a_price": 60557.8,
              "tp1_ad_382": 60164.78,
              "tp2_ad_618": 60314.87,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.819,
              "ABC": 0.3848
            },
            "x_price": 60074.5,
            "x_idx": 250,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 251,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 255,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 270,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.961,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59857.83,
            "prz_range": [
              59615.47,
              60100.2
            ],
            "prz_width_pct": 0.81,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.24,
            "price_to_prz_pct_raw": -0.2371,
            "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": 59857.83,
              "a_price": 60557.8,
              "tp1_ad_382": 60125.22,
              "tp2_ad_618": 60290.41,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.3848
            },
            "x_price": 59530.7,
            "x_idx": 238,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 251,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 255,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 270,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.91,
            "ratio_score": 0.812,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59966.71,
            "prz_range": [
              59757.23,
              60176.18
            ],
            "prz_width_pct": 0.699,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.06,
            "price_to_prz_pct_raw": -0.0557,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 59966.71,
              "a_price": 60245.0,
              "tp1_ad_382": 60073.01,
              "tp2_ad_618": 60138.69,
              "tp3_a_or_structure_liquidity": 60245.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4231,
              "ABC": 1.4065
            },
            "x_price": 60648.0,
            "x_idx": 199,
            "x_order": 5,
            "a_price": 60245.0,
            "a_idx": 217,
            "a_order": 5,
            "b_price": 60074.5,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 270,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.907,
            "ratio_score": 0.846,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59921.85,
            "prz_range": [
              59743.46,
              60100.24
            ],
            "prz_width_pct": 0.595,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.13,
            "price_to_prz_pct_raw": -0.1304,
            "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": 59921.85,
              "a_price": 60557.8,
              "tp1_ad_382": 60164.78,
              "tp2_ad_618": 60314.87,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.819,
              "ABC": 0.3848
            },
            "x_price": 60074.5,
            "x_idx": 250,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 251,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 255,
            "b_order": 3,
            "c_price": 60314.3,
            "c_idx": 270,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.877,
            "ratio_score": 0.865,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60833.81,
            "prz_range": [
              60620.89,
              61046.73
            ],
            "prz_width_pct": 0.7,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.39,
            "price_to_prz_pct_raw": 1.3895,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60833.81,
              "a_price": 59530.7,
              "tp1_ad_382": 60336.02,
              "tp2_ad_618": 60028.49,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5953,
              "ABC": 0.7185
            },
            "x_price": 61256.0,
            "x_idx": 194,
            "x_order": 5,
            "a_price": 59530.7,
            "a_idx": 238,
            "a_order": 3,
            "b_price": 60557.8,
            "b_idx": 251,
            "b_order": 5,
            "c_price": 59819.8,
            "c_idx": 266,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.872,
            "ratio_score": 0.803,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60538.51,
            "prz_range": [
              60359.54,
              60717.48
            ],
            "prz_width_pct": 0.591,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.9,
            "price_to_prz_pct_raw": 0.8974,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60538.51,
              "a_price": 59530.7,
              "tp1_ad_382": 60153.53,
              "tp2_ad_618": 59915.68,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6512,
              "ABC": 0.7651
            },
            "x_price": 60734.0,
            "x_idx": 227,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 238,
            "a_order": 3,
            "b_price": 60314.3,
            "b_idx": 270,
            "b_order": 3,
            "c_price": 59714.8,
            "c_idx": 273,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.827,
            "ratio_score": 0.777,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60543.3,
            "prz_range": [
              60359.54,
              60717.48
            ],
            "prz_width_pct": 0.591,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.9,
            "price_to_prz_pct_raw": 0.8974,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.302,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60538.51,
              "a_price": 59530.7,
              "tp1_ad_382": 60153.53,
              "tp2_ad_618": 59915.68,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6512,
              "ABC": 0.7651,
              "BCD": 1.382,
              "XAD": 0.8415
            },
            "x_price": 60734.0,
            "x_idx": 227,
            "x_order": 8,
            "a_price": 59530.7,
            "a_idx": 238,
            "a_order": 3,
            "b_price": 60314.3,
            "b_idx": 270,
            "b_order": 3,
            "c_price": 59714.8,
            "c_idx": 273,
            "c_order": 8,
            "d_idx": 276
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.945,
            "ratio_score": 1.0,
            "prz_score": 0.93,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59567.32,
            "prz_range": [
              59218.67,
              59915.97
            ],
            "prz_width_pct": 1.171,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.72,
            "price_to_prz_pct_raw": -0.7213,
            "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": 59567.32,
              "a_price": 60734.0,
              "tp1_ad_382": 60012.99,
              "tp2_ad_618": 60288.33,
              "tp3_a_or_structure_liquidity": 60734.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.394,
              "ABC": 0.7108
            },
            "x_price": 59060.0,
            "x_idx": 189,
            "x_order": 8,
            "a_price": 60734.0,
            "a_idx": 227,
            "a_order": 8,
            "b_price": 60074.5,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 60543.3,
            "c_idx": 276,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.923,
            "ratio_score": 1.0,
            "prz_score": 0.93,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60531.07,
            "prz_range": [
              60176.61,
              60885.53
            ],
            "prz_width_pct": 1.171,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.88,
            "price_to_prz_pct_raw": 0.885,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60531.07,
              "a_price": 59819.8,
              "tp1_ad_382": 60259.37,
              "tp2_ad_618": 60091.51,
              "tp3_a_or_structure_liquidity": 59819.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5409,
              "ABC": 1.2123
            },
            "x_price": 60734.0,
            "x_idx": 227,
            "x_order": 8,
            "a_price": 59819.8,
            "a_idx": 266,
            "a_order": 5,
            "b_price": 60314.3,
            "b_idx": 270,
            "b_order": 3,
            "c_price": 59714.8,
            "c_idx": 273,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.902,
            "ratio_score": 1.0,
            "prz_score": 0.937,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59180.95,
            "prz_range": [
              58842.54,
              59519.36
            ],
            "prz_width_pct": 1.144,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.37,
            "price_to_prz_pct_raw": -1.3652,
            "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": 59180.95,
              "a_price": 60557.8,
              "tp1_ad_382": 59706.91,
              "tp2_ad_618": 60031.84,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3854,
              "ABC": 0.7044
            },
            "x_price": 59530.7,
            "x_idx": 238,
            "x_order": 3,
            "a_price": 60557.8,
            "a_idx": 251,
            "a_order": 5,
            "b_price": 60162.0,
            "b_idx": 255,
            "b_order": 3,
            "c_price": 59883.2,
            "c_idx": 290,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.879,
            "ratio_score": 1.0,
            "prz_score": 0.871,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60891.35,
            "prz_range": [
              60465.52,
              61317.17
            ],
            "prz_width_pct": 1.399,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.49,
            "price_to_prz_pct_raw": 1.4854,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60891.35,
              "a_price": 59530.7,
              "tp1_ad_382": 60371.58,
              "tp2_ad_618": 60050.47,
              "tp3_a_or_structure_liquidity": 59530.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4542,
              "ABC": 0.7651
            },
            "x_price": 61256.0,
            "x_idx": 194,
            "x_order": 5,
            "a_price": 59530.7,
            "a_idx": 238,
            "a_order": 3,
            "b_price": 60314.3,
            "b_idx": 270,
            "b_order": 3,
            "c_price": 59714.8,
            "c_idx": 273,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.863,
            "ratio_score": 0.998,
            "prz_score": 0.883,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 58833.24,
            "prz_range": [
              58435.31,
              59231.17
            ],
            "prz_width_pct": 1.353,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.94,
            "price_to_prz_pct_raw": -1.9448,
            "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": 58833.24,
              "a_price": 61256.0,
              "tp1_ad_382": 59758.73,
              "tp2_ad_618": 60330.51,
              "tp3_a_or_structure_liquidity": 61256.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7857,
              "ABC": 0.808
            },
            "x_price": 59060.0,
            "x_idx": 189,
            "x_order": 8,
            "a_price": 61256.0,
            "a_idx": 194,
            "a_order": 5,
            "b_price": 59530.7,
            "b_idx": 238,
            "b_order": 3,
            "c_price": 60924.7,
            "c_idx": 259,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.856,
            "ratio_score": 0.97,
            "prz_score": 0.86,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61182.31,
            "prz_range": [
              60741.84,
              61622.77
            ],
            "prz_width_pct": 1.44,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.97,
            "price_to_prz_pct_raw": 1.9703,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 61182.31,
              "a_price": 58288.0,
              "tp1_ad_382": 60076.68,
              "tp2_ad_618": 59393.62,
              "tp3_a_or_structure_liquidity": 58288.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.623,
              "ABC": 0.7357
            },
            "x_price": 61931.1,
            "x_idx": 203,
            "x_order": 8,
            "a_price": 58288.0,
            "a_idx": 223,
            "a_order": 8,
            "b_price": 60557.8,
            "b_idx": 251,
            "b_order": 5,
            "c_price": 58888.0,
            "c_idx": 290,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.961,
            "prz_proximity": "active",
            "prz_range": [
              59615.47,
              60100.2
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.24,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59857.83,
              "a_price": 60557.8,
              "tp1_ad_382": 60125.22,
              "tp2_ad_618": 60290.41,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $59,615.47-$60,100.20: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.907,
            "prz_proximity": "active",
            "prz_range": [
              59743.46,
              60100.24
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.13,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59921.85,
              "a_price": 60557.8,
              "tp1_ad_382": 60164.78,
              "tp2_ad_618": 60314.87,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY FORMING HIGH PRZ $59,743.46-$60,100.24: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.844,
            "prz_proximity": "nearby",
            "prz_range": [
              58818.05,
              59519.35
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -1.39,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.864,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 5,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59168.7,
              "a_price": 60557.8,
              "tp1_ad_382": 59699.34,
              "tp2_ad_618": 60027.16,
              "tp3_a_or_structure_liquidity": 60557.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "CRAB COMPLETED MEDIUM PRZ $58,818.05-$59,519.35: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "bat",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.961,
          "ratio_score": 1.0,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 59857.83,
          "prz_range": [
            59615.47,
            60100.2
          ],
          "prz_width_pct": 0.81,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.24,
          "price_to_prz_pct_raw": -0.2371,
          "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": 59857.83,
            "a_price": 60557.8,
            "tp1_ad_382": 60125.22,
            "tp2_ad_618": 60290.41,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.3854,
            "ABC": 0.3848
          },
          "x_price": 59530.7,
          "x_idx": 238,
          "x_order": 3,
          "a_price": 60557.8,
          "a_idx": 251,
          "a_order": 5,
          "b_price": 60162.0,
          "b_idx": 255,
          "b_order": 3,
          "c_price": 60314.3,
          "c_idx": 270,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 59857.83,
          "a_price": 60557.8,
          "tp1_ad_382": 60125.22,
          "tp2_ad_618": 60290.41,
          "tp3_a_or_structure_liquidity": 60557.8,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "crab",
          "d_price": 59168.7,
          "a_price": 60557.8,
          "tp1_ad_382": 59699.34,
          "tp2_ad_618": 60027.16,
          "tp3_a_or_structure_liquidity": 60557.8,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 59857.83,
            "a_price": 60557.8,
            "tp1_ad_382": 60125.22,
            "tp2_ad_618": 60290.41,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 59921.85,
            "a_price": 60557.8,
            "tp1_ad_382": 60164.78,
            "tp2_ad_618": 60314.87,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 59168.7,
            "a_price": 60557.8,
            "tp1_ad_382": 59699.34,
            "tp2_ad_618": 60027.16,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 59168.7,
            "a_price": 60557.8,
            "tp1_ad_382": 59699.34,
            "tp2_ad_618": 60027.16,
            "tp3_a_or_structure_liquidity": 60557.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "watch",
        "directional_scores": {
          "bullish": 0.641,
          "bearish": 0
        },
        "directional_score_total": 0.641,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"현재가 $60,000.10이 고품질 bullish Bat 형성 PRZ $59,615.47-$60,100.20 내부에 위치, D 예상가 $59,857.83\",\n    \"고품질 bullish Butterfly 형성 PRZ $59,743.46-$60,100.24도 현재가와 중첩되어 동일 구간에서 상방 반응 후보 형성\",\n    \"완료된 bullish Crab PRZ $58,818.05-$59,519.35는 이미 방어 확인됨: AD 0.382 반응 도달, PRZ 중심 회복/거부, D 실패구간 방어\",\n    \"검증된 Crab TP 래더가 $59,699.34, $60,027.16, $60,557.80으로 현재가 주변 및 상단 유동성 목표를 제시\",\n    \"하모닉 방향 점수 bullish 0.641, bearish 0.000으로 PRZ 기반 단기 셋업 우위는 상방\"\n  ],\n  \"reasoning\": \"확정된 구조 전환(BOS/CHoCH) 데이터가 제공되지 않았고, 현재가는 EMA120 $60,556.31 및 EMA240 $61,617.57 아래에 있어 구조 자체는 bullish로 확정하기 어렵기 때문에 structure_bias는 neutral로 둔다. 다만 현재가 $60,000.10은 고품질 strict bullish Bat PRZ $59,615.47-$60,100.20 및 strict bullish Butterfly PRZ $59,743.46-$60,100.24 안에 있어 단기 setup_bias는 bullish다. 가장 우수한 패턴은 Bat로 점수 0.961, PRZ confluence 3개(ABCD, BC_EXT, XAD), PRZ score 1.0이지만 아직 forming이며 confirmed_reaction=false이므로 독립적인 추세 전환 신호는 아니다. 이미 확인된 bullish Crab은 PRZ $58,818.05-$59,519.35에서 반응이 검증되었고 TP1 $59,699.34, TP2 $60,027.16을 충족/접근했으며, 다음 주요 상방 waypoint는 $60,557.80 및 Bat/Butterfly TP 구간 $60,125.22-$60,314.87이다.\",\n  \"key_levels\": {\n    \"support\": [\n      59857.83,\n      59743.46,\n      59615.47,\n      59519.35,\n      58818.05,\n      58030.0\n    ],\n    \"resistance\": [\n      60100.24,\n      60125.22,\n      60290.41,\n      60314.87,\n      60557.8,\n      60717.48,\n      61046.73\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$58,818.05\",\n  \"risk_scenario\": \"만약 가격이 $60,100.20 위에서 즉시 수용되지 못하고 $59,615.47 하단을 이탈하면 active bullish Bat/Butterfly PRZ 반응 실패로 해석된다. 이후 $59,519.35 아래로 밀리면 확인된 Crab 방어 구간도 약화되며, $58,818.05 하향 이탈 시 bullish harmonic setup은 무효화되고 $58,030.00 7일 저점 재테스트 위험이 커진다. 반대로 $60,359.54-$60,717.48의 bearish Gartley 인근 PRZ에 진입 후 거부가 나오면 단기 상방 TP 이후 재하락 분기 가능성이 높아진다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.72,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.74,
      "active_setups": [
        "ICT: 현재가 $60,000.10이 단기 range EQ $59,887.35 위의 프리미엄 구간에 있어 매도 셋업 우위",
        "Fibonacci: 하락 스윙 $60,543 → $58,850의 ret_0.618 $59,896.46 위에서 되돌림 매도 구간 테스트 중이며 ret_0.786 $60,180.93이 근접 저항",
        "Wyckoff: 활성 재분배 구조에서 SOW $58,850.00 이후 반등이 UT/UTAD 공급대 $60,543.30~$60,557.80 아래에 머무름",
        "Derivatives: 롱 계정 비율 0.682로 롱 쏠림이 극단적이며, 24시간 OI +1.597% 증가에도 CVD -3114.7370으로 매수 체결 강도 약화",
        "상단 공통 저항: EMA120 $60,556.31, Wyckoff UT $60,557.80, Fib swing high $60,543.00, Derivatives 저항 $60,600이 동일 구간에 집중",
        "단기 반대 셋업: Harmonic bullish Bat PRZ $59,615.47~$60,100.20 및 bullish Butterfly PRZ $59,743.46~$60,100.24 내부에서 단기 반등 후보 존재"
      ],
      "setup_vs_structure": "구조와 실행 셋업은 대체로 bearish로 정렬되어 있다. 다만 캔들·하모닉은 $59,600~$60,100 구간의 단기 bullish 반응을 제시하므로, 즉시 추격보다는 $60,180~$60,557 공급대 수용 여부가 실행 리스크의 핵심이다."
    },
    "signal_breakdown": {
      "bullish_count": 2,
      "bearish_count": 4,
      "neutral_count": 0
    },
    "key_levels": {
      "support": [
        59896.46,
        59887.35,
        59883.2,
        59832.44,
        59714.8,
        59696.65,
        59496.84,
        59060.0,
        58850.0,
        58030.0
      ],
      "resistance": [
        60100.24,
        60180.93,
        60325.0,
        60543.0,
        60556.31,
        60557.8,
        60734.0,
        61617.57,
        61870.0,
        62272.1
      ]
    },
    "confluences": [
      "Fib ret_0.618 $59,896.46, ICT EQ $59,887.35, Wyckoff LPSY $59,883.20, EMA20 $59,832.44, Harmonic Bat D $59,857.83이 모두 $59,830~$59,900에 밀집하여 현재가 주변의 핵심 균형/반응 구간을 형성한다.",
      "Wyckoff UT/UTAD 공급대 $60,543.30~$60,557.80, EMA120 $60,556.31, Fib swing high $60,543.00, Harmonic bearish Gartley 완료 D $60,543.30이 거의 동일 가격대에 있어 $60,540~$60,560은 강한 구조 저항이다.",
      "ICT의 최근 bullish BOS 기준 $60,734.00, Derivatives 상단 청산/저항 $60,600, Harmonic bearish PRZ $60,359.54~$60,717.48이 겹쳐 $60,600~$60,734는 구조 전환 검증 구간이다.",
      "Fib 저점 $58,850.00, Wyckoff 활성 재분배 SOW $58,850.00, Harmonic bullish Crab D/PRZ 하단 $58,818.05가 일치하여 $58,818~$58,850은 하단 구조 기준점이다.",
      "ICT, Wyckoff, Fibonacci, Derivatives 모두 현재가가 EMA120 $60,556.31 및 EMA240 $61,617.57 아래에 있다는 점을 약세 구조 또는 상단 저항 근거로 사용한다.",
      "EMA240 $61,617.57, Candlestick 7일 EQ $61,813.60, ICT bearish BOS $61,870.00이 $61,600~$61,870에 모여 있어 상위 구조 회복 여부를 판단할 상단 레짐 저항대다."
    ],
    "conflicts": [
      "Candlestick과 Harmonic은 단기 bullish setup을 제시하지만, ICT·Wyckoff·Fibonacci는 구조적으로 bearish를 유지한다. 특히 bullish engulfing과 Bat/Butterfly PRZ는 반응 후보이지, 아직 1시간 구조 전환 신호는 아니다.",
      "Harmonic의 최고 품질 bullish Bat는 점수 0.961로 강하지만 forming 상태이며 confirmed reaction이 없다. 따라서 Wyckoff의 확정 재분배 구조와 ICT의 bearish CHoCH/BOS 시퀀스를 뒤집기에는 권한이 제한적이다.",
      "Derivatives는 구조 자체를 중립으로 보지만 실행 셋업은 bearish로 판단한다. 이는 가격이 7일 박스 내부에 있어 구조 확정은 보류하되, 포지셔닝과 CVD는 단기 취약성을 시사한다는 의미다.",
      "현재가가 $59,896.46 Fib 0.618 및 $59,887.35 ICT EQ 위에 있어 단기적으로는 프리미엄 매도 논리가 작동하지만, 동시에 Harmonic bullish PRZ $59,615.47~$60,100.24 내부에 있어 하단 방어 반응과 충돌한다."
    ],
    "executive_summary": "BTC 1시간 구조는 prior distribution이 Phase E 저점 $58,030.00까지 진행된 뒤, 현재는 $58,030.00 이후의 활성 재분배 구조 안에서 SOW $58,850.00 발생 후 약한 반등을 테스트하는 상태로 진단된다. 현재가 $60,000.10은 Wyckoff LPSY $59,883.20 및 ICT EQ $59,887.35 위에 있지만, 핵심 공급대인 $60,543.30~$60,557.80, EMA120 $60,556.31, Fib swing high $60,543.00 아래에 있어 구조적 bullish 전환은 아직 확인되지 않았다. 실행 측면에서는 ICT 프리미엄, Fib 되돌림 매도 구간, 파생 롱 쏠림과 CVD 약화가 bearish setup으로 정렬되지만, Harmonic bullish PRZ $59,615.47~$60,100.24와 고거래량 bullish engulfing은 단기 반응 리스크로 남아 있다. 구조적 무효화는 최근 ICT bullish BOS 기준인 $60,734.00 이상 1시간 종가 수용이며, 그 전까지는 $60,540~$60,560 공급대 아래의 재분배/약세 구조 해석이 우세하다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.72,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.74,\n    \"active_setups\": [\n      \"ICT: 현재가 $60,000.10이 단기 range EQ $59,887.35 위의 프리미엄 구간에 있어 매도 셋업 우위\",\n      \"Fibonacci: 하락 스윙 $60,543 → $58,850의 ret_0.618 $59,896.46 위에서 되돌림 매도 구간 테스트 중이며 ret_0.786 $60,180.93이 근접 저항\",\n      \"Wyckoff: 활성 재분배 구조에서 SOW $58,850.00 이후 반등이 UT/UTAD 공급대 $60,543.30~$60,557.80 아래에 머무름\",\n      \"Derivatives: 롱 계정 비율 0.682로 롱 쏠림이 극단적이며, 24시간 OI +1.597% 증가에도 CVD -3114.7370으로 매수 체결 강도 약화\",\n      \"상단 공통 저항: EMA120 $60,556.31, Wyckoff UT $60,557.80, Fib swing high $60,543.00, Derivatives 저항 $60,600이 동일 구간에 집중\",\n      \"단기 반대 셋업: Harmonic bullish Bat PRZ $59,615.47~$60,100.20 및 bullish Butterfly PRZ $59,743.46~$60,100.24 내부에서 단기 반등 후보 존재\"\n    ],\n    \"setup_vs_structure\": \"구조와 실행 셋업은 대체로 bearish로 정렬되어 있다. 다만 캔들·하모닉은 $59,600~$60,100 구간의 단기 bullish 반응을 제시하므로, 즉시 추격보다는 $60,180~$60,557 공급대 수용 여부가 실행 리스크의 핵심이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 2,\n    \"bearish_count\": 4,\n    \"neutral_count\": 0\n  },\n  \"key_levels\": {\n    \"support\": [\n      59896.46,\n      59887.35,\n      59883.2,\n      59832.44,\n      59714.8,\n      59696.65,\n      59496.84,\n      59060.0,\n      58850.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60100.24,\n      60180.93,\n      60325.0,\n      60543.0,\n      60556.31,\n      60557.8,\n      60734.0,\n      61617.57,\n      61870.0,\n      62272.1\n    ]\n  },\n  \"confluences\": [\n    \"Fib ret_0.618 $59,896.46, ICT EQ $59,887.35, Wyckoff LPSY $59,883.20, EMA20 $59,832.44, Harmonic Bat D $59,857.83이 모두 $59,830~$59,900에 밀집하여 현재가 주변의 핵심 균형/반응 구간을 형성한다.\",\n    \"Wyckoff UT/UTAD 공급대 $60,543.30~$60,557.80, EMA120 $60,556.31, Fib swing high $60,543.00, Harmonic bearish Gartley 완료 D $60,543.30이 거의 동일 가격대에 있어 $60,540~$60,560은 강한 구조 저항이다.\",\n    \"ICT의 최근 bullish BOS 기준 $60,734.00, Derivatives 상단 청산/저항 $60,600, Harmonic bearish PRZ $60,359.54~$60,717.48이 겹쳐 $60,600~$60,734는 구조 전환 검증 구간이다.\",\n    \"Fib 저점 $58,850.00, Wyckoff 활성 재분배 SOW $58,850.00, Harmonic bullish Crab D/PRZ 하단 $58,818.05가 일치하여 $58,818~$58,850은 하단 구조 기준점이다.\",\n    \"ICT, Wyckoff, Fibonacci, Derivatives 모두 현재가가 EMA120 $60,556.31 및 EMA240 $61,617.57 아래에 있다는 점을 약세 구조 또는 상단 저항 근거로 사용한다.\",\n    \"EMA240 $61,617.57, Candlestick 7일 EQ $61,813.60, ICT bearish BOS $61,870.00이 $61,600~$61,870에 모여 있어 상위 구조 회복 여부를 판단할 상단 레짐 저항대다.\"\n  ],\n  \"conflicts\": [\n    \"Candlestick과 Harmonic은 단기 bullish setup을 제시하지만, ICT·Wyckoff·Fibonacci는 구조적으로 bearish를 유지한다. 특히 bullish engulfing과 Bat/Butterfly PRZ는 반응 후보이지, 아직 1시간 구조 전환 신호는 아니다.\",\n    \"Harmonic의 최고 품질 bullish Bat는 점수 0.961로 강하지만 forming 상태이며 confirmed reaction이 없다. 따라서 Wyckoff의 확정 재분배 구조와 ICT의 bearish CHoCH/BOS 시퀀스를 뒤집기에는 권한이 제한적이다.\",\n    \"Derivatives는 구조 자체를 중립으로 보지만 실행 셋업은 bearish로 판단한다. 이는 가격이 7일 박스 내부에 있어 구조 확정은 보류하되, 포지셔닝과 CVD는 단기 취약성을 시사한다는 의미다.\",\n    \"현재가가 $59,896.46 Fib 0.618 및 $59,887.35 ICT EQ 위에 있어 단기적으로는 프리미엄 매도 논리가 작동하지만, 동시에 Harmonic bullish PRZ $59,615.47~$60,100.24 내부에 있어 하단 방어 반응과 충돌한다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 확정 분배 점수 100.0, regime fitness 1.000, prior distribution Phase E 이후 현재 활성 재분배 구조를 구분하고 있으며, UT/UTAD $60,543.30~$60,557.80, LPSY $59,883.20, SOW $58,850.00 등 구조 이벤트가 명확한 가격 레벨로 정렬되어 있어 가장 강한 구조 신뢰도를 제공한다.\",\n  \"invalidation_level\": \"$60,734.00 이상 1시간 종가 수용\",\n  \"executive_summary\": \"BTC 1시간 구조는 prior distribution이 Phase E 저점 $58,030.00까지 진행된 뒤, 현재는 $58,030.00 이후의 활성 재분배 구조 안에서 SOW $58,850.00 발생 후 약한 반등을 테스트하는 상태로 진단된다. 현재가 $60,000.10은 Wyckoff LPSY $59,883.20 및 ICT EQ $59,887.35 위에 있지만, 핵심 공급대인 $60,543.30~$60,557.80, EMA120 $60,556.31, Fib swing high $60,543.00 아래에 있어 구조적 bullish 전환은 아직 확인되지 않았다. 실행 측면에서는 ICT 프리미엄, Fib 되돌림 매도 구간, 파생 롱 쏠림과 CVD 약화가 bearish setup으로 정렬되지만, Harmonic bullish PRZ $59,615.47~$60,100.24와 고거래량 bullish engulfing은 단기 반응 리스크로 남아 있다. 구조적 무효화는 최근 ICT bullish BOS 기준인 $60,734.00 이상 1시간 종가 수용이며, 그 전까지는 $60,540~$60,560 공급대 아래의 재분배/약세 구조 해석이 우세하다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.72,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.67,
    "waypoints": [
      {
        "seq": 1,
        "price": 60180.93,
        "type": "resistance_test",
        "source": "Fibonacci (ret_0.786 $60,180.93 즉시 저항), Harmonic (Bat/Butterfly TP $60,125.22~$60,314.87), Derivatives (상단 유동성 스윕 $60,200~$60,600 하단), Candlestick (고거래량 bullish engulfing), ICT (EQ $59,887.35 위 프리미엄 매도)",
        "description": "현재가 $60,000.10의 약한 반등이 마지막 한 차례 더 프리미엄 상단을 밀어올린 뒤 거절되는 자리. Fibonacci 분석가가 0.30% 거리 즉시 저항으로 지목한 ret_0.786 $60,180.93에, Harmonic Bat/Butterfly TP 구간과 Derivatives 상단 스윕 구간 하단이 중첩된다. 고거래량 bullish engulfing·harmonic PRZ 방어가 단기 상방 에너지를 제공하지만, 이는 forming 단계의 약한 반응 후보이므로 구조 전환이 아니라 숏 진입을 위한 프리미엄 되돌림으로 본다. 메인 공급대 $60,543~$60,557·EMA120 $60,556.31에는 도달하지 못하고 거절되는 약세적 해석이며, ICT 프리미엄·롱 쏠림 0.682·CVD -3114 약화가 이 지점에서 매도 셋업을 활성화한다.",
        "est_hours": 3,
        "turning_zone": [
          60180.93,
          60325.0
        ],
        "likely_wick": 60210.0,
        "rejection_confirm": 59990.0,
        "invalid_overshoot": 60400.0,
        "calibration_reasoning": "ret_0.786 $60,180.93 저항을 하단, 다음 Chairman 저항 $60,325를 상단으로 zone 설정(폭 $144≈0.32×ATR). Bat/Butterfly PRZ는 PRE_CONFIRMATION이라 waypoint 이동 없이 보조 참고만 하며, 메인 공급대 $60,543~57·EMA120 미도달 전제이므로 $60,400 상향 돌파를 무효화로 둔다. likely_wick은 $60,200 라운드넘버 위 소폭 스윕."
      },
      {
        "seq": 2,
        "price": 59373.23,
        "type": "swing_low",
        "source": "WP1 후보 fib_confluence $59,373.23 (score 0.6, 최근접 1.04%), ICT EQ $59,887.35·Wyckoff LPSY $59,883.20·EMA20 $59,832.44 균형대, Fibonacci 0.5 $59,696.65·0.382 $59,496.84",
        "description": "$60,180.93 거절 후 $59,830~$59,900 핵심 균형대(ICT EQ $59,887.35, Wyckoff LPSY $59,883.20, EMA20 $59,832.44, Fib 0.618 $59,896.46)를 하향 이탈하며 프리미엄→디스카운트로 전환되는 첫 하락 스윙. Fib 0.5 $59,696.65와 0.382 $59,496.84를 차례로 통과해, WP 후보 테이블에서 최근접·최고 score로 랭크된 fib_confluence $59,373.23에 도달한다. ICT의 이전일 저가 $59,714.80 이미 이탈 및 강한 재상승 실패가 이 하락의 구조적 근거다.",
        "est_hours": 11,
        "turning_zone": [
          59200.0,
          59373.23
        ],
        "likely_wick": 59300.0,
        "rejection_confirm": 59496.84,
        "invalid_overshoot": 59060.0,
        "calibration_reasoning": "fib_confluence $59,373.23(ret_0.236+0.382)를 상단 기준으로, ATR 0.38배 폭(≈$173)으로 $59,200까지 하단 확장. likely_wick은 $59,300 라운드넘버에서 유동성 스윕. 반등이 Fib 0.382 $59,496.84를 회복하면 국지 턴 확정, ICT 지지 $59,060 하향 이탈 시 WP3로 연장되며 무효."
      },
      {
        "seq": 3,
        "price": 58850.0,
        "type": "swing_low",
        "source": "Wyckoff 활성 재분배 SOW $58,850.00, Fibonacci 저점 $58,850.00, Harmonic bullish Crab D/PRZ 하단 $58,818.05, ICT 지지 $59,060.00 경유",
        "description": "$59,373.23 이탈 시 ICT 지지 $59,060.00을 거쳐 활성 재분배 구조의 하단 기준점에 도달. Wyckoff SOW $58,850.00·Fib 저점 $58,850.00·Harmonic Crab D 하단 $58,818.05가 일치하는 핵심 구조 지지로, 24시간 내 1차 주요 하방 목표다. 여기서 강한 반응이 나오지 않고 이탈하면 fib_confluence $58,269.20·Phase E 저점 $58,030.00으로 확장될 여지가 있으나, 본 경로의 기준 목표는 SOW 재테스트 구간으로 한정한다.",
        "est_hours": 21,
        "turning_zone": [
          58550.0,
          58850.0
        ],
        "likely_wick": 58780.0,
        "rejection_confirm": 59060.0,
        "invalid_overshoot": 58269.2,
        "calibration_reasoning": "SOW $58,850·Fib 저점·Crab D/PRZ(CONFIRMED_REACTION, 정방향 반응)가 일치하는 강한 지지를 상단으로, 터미널 가중치 0.66×ATR 폭(≈$300)으로 $58,550까지 확장. likely_wick은 $58,800 라운드넘버 아래 $58,780 스윕. $59,060 회복 시 반등 확정(Crab TP1 $59,699는 이후 상승 목표), $58,269.20(ext_1.414/1.272) 이탈 시 Phase E $58,030으로 연장되며 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 60180.93,
        "expected_low": 59887.35,
        "high_first": true
      },
      "8h": {
        "expected_high": 60180.93,
        "expected_low": 59696.65,
        "high_first": true
      },
      "24h": {
        "expected_high": 60180.93,
        "expected_low": 58850.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 60557.8,
        "description": "EMA120 $60,556.31 / Wyckoff UT $60,557.80 공급대 상단을 1시간 종가로 수용하면 프리미엄 매도 논리가 무력화되고 경로 약화. 이어 $60,734.00 ICT bullish BOS까지 수용 시 구조가 강세로 전환된다."
      },
      "bearish": {
        "price": 59832.44,
        "description": "EMA20 및 EQ/LPSY 균형대($59,832~$59,887)를 1시간 종가로 하향 이탈하면 프리미엄→디스카운트 전환이 확정되며 $59,696.65·$59,496.84·$59,373.23으로 하락 가속. 롱 쏠림 청산 구간 진입."
      }
    },
    "scenario_invalidation": 60734.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.67,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 60180.93,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci (ret_0.786 $60,180.93 즉시 저항), Harmonic (Bat/Butterfly TP $60,125.22~$60,314.87), Derivatives (상단 유동성 스윕 $60,200~$60,600 하단), Candlestick (고거래량 bullish engulfing), ICT (EQ $59,887.35 위 프리미엄 매도)\",\n      \"description\": \"현재가 $60,000.10의 약한 반등이 마지막 한 차례 더 프리미엄 상단을 밀어올린 뒤 거절되는 자리. Fibonacci 분석가가 0.30% 거리 즉시 저항으로 지목한 ret_0.786 $60,180.93에, Harmonic Bat/Butterfly TP 구간과 Derivatives 상단 스윕 구간 하단이 중첩된다. 고거래량 bullish engulfing·harmonic PRZ 방어가 단기 상방 에너지를 제공하지만, 이는 forming 단계의 약한 반응 후보이므로 구조 전환이 아니라 숏 진입을 위한 프리미엄 되돌림으로 본다. 메인 공급대 $60,543~$60,557·EMA120 $60,556.31에는 도달하지 못하고 거절되는 약세적 해석이며, ICT 프리미엄·롱 쏠림 0.682·CVD -3114 약화가 이 지점에서 매도 셋업을 활성화한다.\",\n      \"est_hours\": 3\n    },\n    {\n      \"seq\": 2,\n      \"price\": 59373.23,\n      \"type\": \"swing_low\",\n      \"source\": \"WP1 후보 fib_confluence $59,373.23 (score 0.6, 최근접 1.04%), ICT EQ $59,887.35·Wyckoff LPSY $59,883.20·EMA20 $59,832.44 균형대, Fibonacci 0.5 $59,696.65·0.382 $59,496.84\",\n      \"description\": \"$60,180.93 거절 후 $59,830~$59,900 핵심 균형대(ICT EQ $59,887.35, Wyckoff LPSY $59,883.20, EMA20 $59,832.44, Fib 0.618 $59,896.46)를 하향 이탈하며 프리미엄→디스카운트로 전환되는 첫 하락 스윙. Fib 0.5 $59,696.65와 0.382 $59,496.84를 차례로 통과해, WP 후보 테이블에서 최근접·최고 score로 랭크된 fib_confluence $59,373.23에 도달한다. ICT의 이전일 저가 $59,714.80 이미 이탈 및 강한 재상승 실패가 이 하락의 구조적 근거다.\",\n      \"est_hours\": 11\n    },\n    {\n      \"seq\": 3,\n      \"price\": 58850.0,\n      \"type\": \"swing_low\",\n      \"source\": \"Wyckoff 활성 재분배 SOW $58,850.00, Fibonacci 저점 $58,850.00, Harmonic bullish Crab D/PRZ 하단 $58,818.05, ICT 지지 $59,060.00 경유\",\n      \"description\": \"$59,373.23 이탈 시 ICT 지지 $59,060.00을 거쳐 활성 재분배 구조의 하단 기준점에 도달. Wyckoff SOW $58,850.00·Fib 저점 $58,850.00·Harmonic Crab D 하단 $58,818.05가 일치하는 핵심 구조 지지로, 24시간 내 1차 주요 하방 목표다. 여기서 강한 반응이 나오지 않고 이탈하면 fib_confluence $58,269.20·Phase E 저점 $58,030.00으로 확장될 여지가 있으나, 본 경로의 기준 목표는 SOW 재테스트 구간으로 한정한다.\",\n      \"est_hours\": 21\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 60180.93, \"expected_low\": 59887.35, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 60180.93, \"expected_low\": 59696.65, \"high_first\": true},\n    \"24h\": {\"expected_high\": 60180.93, \"expected_low\": 58850.0,  \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\n      \"price\": 60557.8,\n      \"description\": \"EMA120 $60,556.31 / Wyckoff UT $60,557.80 공급대 상단을 1시간 종가로 수용하면 프리미엄 매도 논리가 무력화되고 경로 약화. 이어 $60,734.00 ICT bullish BOS까지 수용 시 구조가 강세로 전환된다.\"\n    },\n    \"bearish\": {\n      \"price\": 59832.44,\n      \"description\": \"EMA20 및 EQ/LPSY 균형대($59,832~$59,887)를 1시간 종가로 하향 이탈하면 프리미엄→디스카운트 전환이 확정되며 $59,696.65·$59,496.84·$59,373.23으로 하락 가속. 롱 쏠림 청산 구간 진입.\"\n    }\n  },\n  \"scenario_invalidation\": 60734.0\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 60180.93,
        "turning_zone": [
          60180.93,
          60325.0
        ],
        "likely_wick": 60210.0,
        "rejection_confirm": 59990.0,
        "invalid_overshoot": 60400.0,
        "calibration_reasoning": "ret_0.786 $60,180.93 저항을 하단, 다음 Chairman 저항 $60,325를 상단으로 zone 설정(폭 $144≈0.32×ATR). Bat/Butterfly PRZ는 PRE_CONFIRMATION이라 waypoint 이동 없이 보조 참고만 하며, 메인 공급대 $60,543~57·EMA120 미도달 전제이므로 $60,400 상향 돌파를 무효화로 둔다. likely_wick은 $60,200 라운드넘버 위 소폭 스윕."
      },
      {
        "seq": 2,
        "base_target": 59373.23,
        "turning_zone": [
          59200.0,
          59373.23
        ],
        "likely_wick": 59300.0,
        "rejection_confirm": 59496.84,
        "invalid_overshoot": 59060.0,
        "calibration_reasoning": "fib_confluence $59,373.23(ret_0.236+0.382)를 상단 기준으로, ATR 0.38배 폭(≈$173)으로 $59,200까지 하단 확장. likely_wick은 $59,300 라운드넘버에서 유동성 스윕. 반등이 Fib 0.382 $59,496.84를 회복하면 국지 턴 확정, ICT 지지 $59,060 하향 이탈 시 WP3로 연장되며 무효."
      },
      {
        "seq": 3,
        "base_target": 58850.0,
        "turning_zone": [
          58550.0,
          58850.0
        ],
        "likely_wick": 58780.0,
        "rejection_confirm": 59060.0,
        "invalid_overshoot": 58269.2,
        "calibration_reasoning": "SOW $58,850·Fib 저점·Crab D/PRZ(CONFIRMED_REACTION, 정방향 반응)가 일치하는 강한 지지를 상단으로, 터미널 가중치 0.66×ATR 폭(≈$300)으로 $58,550까지 확장. likely_wick은 $58,800 라운드넘버 아래 $58,780 스윕. $59,060 회복 시 반등 확정(Crab TP1 $59,699는 이후 상승 목표), $58,269.20(ext_1.414/1.272) 이탈 시 Phase E $58,030으로 연장되며 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 60180.93,\n      \"turning_zone\": [60180.93, 60325.00],\n      \"likely_wick\": 60210.00,\n      \"rejection_confirm\": 59990.00,\n      \"invalid_overshoot\": 60400.00,\n      \"calibration_reasoning\": \"ret_0.786 $60,180.93 저항을 하단, 다음 Chairman 저항 $60,325를 상단으로 zone 설정(폭 $144≈0.32×ATR). Bat/Butterfly PRZ는 PRE_CONFIRMATION이라 waypoint 이동 없이 보조 참고만 하며, 메인 공급대 $60,543~57·EMA120 미도달 전제이므로 $60,400 상향 돌파를 무효화로 둔다. likely_wick은 $60,200 라운드넘버 위 소폭 스윕.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 59373.23,\n      \"turning_zone\": [59200.00, 59373.23],\n      \"likely_wick\": 59300.00,\n      \"rejection_confirm\": 59496.84,\n      \"invalid_overshoot\": 59060.00,\n      \"calibration_reasoning\": \"fib_confluence $59,373.23(ret_0.236+0.382)를 상단 기준으로, ATR 0.38배 폭(≈$173)으로 $59,200까지 하단 확장. likely_wick은 $59,300 라운드넘버에서 유동성 스윕. 반등이 Fib 0.382 $59,496.84를 회복하면 국지 턴 확정, ICT 지지 $59,060 하향 이탈 시 WP3로 연장되며 무효.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 58850.00,\n      \"turning_zone\": [58550.00, 58850.00],\n      \"likely_wick\": 58780.00,\n      \"rejection_confirm\": 59060.00,\n      \"invalid_overshoot\": 58269.20,\n      \"calibration_reasoning\": \"SOW $58,850·Fib 저점·Crab D/PRZ(CONFIRMED_REACTION, 정방향 반응)가 일치하는 강한 지지를 상단으로, 터미널 가중치 0.66×ATR 폭(≈$300)으로 $58,550까지 확장. likely_wick은 $58,800 라운드넘버 아래 $58,780 스윕. $59,060 회복 시 반등 확정(Crab TP1 $59,699는 이후 상승 목표), $58,269.20(ext_1.414/1.272) 이탈 시 Phase E $58,030으로 연장되며 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 59.5,
      "chairman": 85.1,
      "operating_path": 1187.0,
      "tp_calibrator": 260.4
    },
    "agents": {},
    "total_s": 1592.1
  }
}