{
  "symbol": "BTC/USDT",
  "timeframe": "1h",
  "timestamp": "2026-06-07 21:00 KST",
  "last_price": 62598.9,
  "num_candles": 300,
  "stage1_analyses": {
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.72,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.64,
      "setup_signals": [
        "현재가 $62,598.90가 활성 재분배 후보의 UT 고점 $62,942.40 바로 아래에 있어 상단 실패/거절 테스트 구간에 위치",
        "가격이 EMA120 $63,804.74 및 EMA240 $66,973.74 아래에 머물러 중기 공급 우위가 유지됨",
        "직전 하위 재분배 상단 $63,947.80~$63,955.00을 회복하지 못하면 LPSY 성격의 반등 실패로 해석될 수 있음",
        "하방 유동성 목표가 SOW_IN_PHASE_B 저점 $60,146.00 및 Phase E 저점 $59,080.00에 남아 있음"
      ],
      "reasoning": "1시간 기준 regime은 DIS이며 regime_fitness 0.963, dis_score 96.2로 분배/재분배 구조의 우위가 확인된다. 주 구조는 BC $74,293.10 → AR $73,057.80 → ST $74,108.80 → UT $74,179.90 → SOW $70,650.90 → Phase E $59,080.00로 진행되어 이미 하방 이탈 이후의 Phase E 성격이 강하다. 현재 활성 구조는 $59,080.00 저점 이후 반등했지만, $62,942.40의 UT 후보 바로 아래에서 거래되고 있어 아직 상단 수용이 아니라 재분배 상단 테스트로 보는 것이 타당하다. $62,942.40을 회복하더라도 $63,947.80~$63,955.00 및 EMA120 $63,804.74 위에서 수용되지 않으면 구조적 약세는 유지되며, 하방으로는 $61,800.00 이탈 시 $60,146.00, 이후 $59,080.00 재검사가 우선 시나리오다.",
      "key_levels": {
        "support": [
          61800.0,
          60146.0,
          59451.3,
          59080.0
        ],
        "resistance": [
          62942.4,
          63804.74,
          63947.8,
          63955.0,
          66973.74
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$63,955.00 위에서 1시간 봉 기준 명확한 수용이 나오면 현재의 재분배 상단 실패 해석은 무효화됩니다.",
      "risk_scenario": "$62,942.40을 강하게 회복하고 $63,947.80~$63,955.00 공급대를 흡수하면 즉각적인 하방 재검사보다 $66,973.74 EMA240 방향의 더 큰 되돌림이 열릴 수 있습니다. 반대로 $61,800.00을 잃으면 반등은 실패한 LPSY 성격으로 굳어지고 $60,146.00 및 $59,080.00 재시험 가능성이 커집니다.",
      "data_quality": "medium",
      "metrics": {
        "acc_score": 92.4,
        "dis_score": 96.2,
        "regime": "DIS",
        "regime_state": "dis_candidate",
        "structure_bias": "bearish",
        "phase_context": "dis_candidate / distribution / Phase E",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "SOW",
          "Phase E"
        ],
        "last_phase": "Phase E",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 89,
            "price": 74293.1,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 90,
            "price": 73057.8,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 114,
            "price": 74108.8,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 136,
            "price": 73340.7,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 143,
            "price": 74179.9,
            "color": "#f9844a"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 160,
            "price": 70650.9,
            "color": "#ef476f"
          },
          {
            "label": "Phase E",
            "side": "low",
            "idx": 259,
            "price": 59080.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": 89,
            "end_idx": 259,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 89,
                "price": 74293.1,
                "color": "#ffd166",
                "dt": "2026-05-30 02:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 90,
                "price": 73057.8,
                "color": "#06d6a0",
                "dt": "2026-05-30 03:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 114,
                "price": 74108.8,
                "color": "#118ab2",
                "dt": "2026-05-31 03:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 136,
                "price": 73340.7,
                "color": "#ef476f",
                "dt": "2026-06-01 01:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 143,
                "price": 74179.9,
                "color": "#f9844a",
                "dt": "2026-06-01 08:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 160,
                "price": 70650.9,
                "color": "#ef476f",
                "dt": "2026-06-02 01:00:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 259,
                "price": 59080.0,
                "color": "#7209b7",
                "dt": "2026-06-06 04:00:00+09:00"
              }
            ]
          },
          {
            "structure_id": "1h_cycle_2",
            "sequence": 2,
            "timeframe": "1h",
            "regime": "redistribution",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "redistribution",
            "start_idx": 227,
            "end_idx": 259,
            "phase_count": 9,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 227,
                "price": 62150.8,
                "color": "#ffd166",
                "dt": "2026-06-04 20:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 228,
                "price": 63947.8,
                "color": "#06d6a0",
                "dt": "2026-06-04 21:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 237,
                "price": 63040.0,
                "color": "#118ab2",
                "dt": "2026-06-05 06:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 240,
                "price": 63955.0,
                "color": "#f9844a",
                "dt": "2026-06-05 09:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 246,
                "price": 61067.6,
                "color": "#ef476f",
                "dt": "2026-06-05 15:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 249,
                "price": 63231.8,
                "color": "#8338ec",
                "dt": "2026-06-05 18:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 251,
                "price": 61928.3,
                "color": "#ef476f",
                "dt": "2026-06-05 20:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 256,
                "price": 61550.0,
                "color": "#8338ec",
                "dt": "2026-06-06 01:00:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 259,
                "price": 59080.0,
                "color": "#7209b7",
                "dt": "2026-06-06 04:00:00+09:00"
              }
            ]
          },
          {
            "structure_id": "1h_cycle_3",
            "sequence": 3,
            "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": 259,
            "end_idx": 296,
            "phase_count": 5,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 259,
                "price": 59080.0,
                "color": "#ffd166",
                "dt": "2026-06-06 04:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 260,
                "price": 61800.0,
                "color": "#06d6a0",
                "dt": "2026-06-06 05:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 268,
                "price": 59451.3,
                "color": "#118ab2",
                "dt": "2026-06-06 13:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 274,
                "price": 60146.0,
                "color": "#ef476f",
                "dt": "2026-06-06 19:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 296,
                "price": 62942.4,
                "color": "#f9844a",
                "dt": "2026-06-07 17:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "1h_cycle_3",
        "primary_structure_id": "1h_cycle_1",
        "structure_count": 3,
        "regime_fitness": 0.9625,
        "current_event": "Phase E",
        "major_phase": "E",
        "pos_in_range": 0.5,
        "main_range_low": 73057.8,
        "main_range_high": 74293.1
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.72,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"현재가 $62,598.90가 활성 재분배 후보의 UT 고점 $62,942.40 바로 아래에 있어 상단 실패/거절 테스트 구간에 위치\",\n    \"가격이 EMA120 $63,804.74 및 EMA240 $66,973.74 아래에 머물러 중기 공급 우위가 유지됨\",\n    \"직전 하위 재분배 상단 $63,947.80~$63,955.00을 회복하지 못하면 LPSY 성격의 반등 실패로 해석될 수 있음\",\n    \"하방 유동성 목표가 SOW_IN_PHASE_B 저점 $60,146.00 및 Phase E 저점 $59,080.00에 남아 있음\"\n  ],\n  \"reasoning\": \"1시간 기준 regime은 DIS이며 regime_fitness 0.963, dis_score 96.2로 분배/재분배 구조의 우위가 확인된다. 주 구조는 BC $74,293.10 → AR $73,057.80 → ST $74,108.80 → UT $74,179.90 → SOW $70,650.90 → Phase E $59,080.00로 진행되어 이미 하방 이탈 이후의 Phase E 성격이 강하다. 현재 활성 구조는 $59,080.00 저점 이후 반등했지만, $62,942.40의 UT 후보 바로 아래에서 거래되고 있어 아직 상단 수용이 아니라 재분배 상단 테스트로 보는 것이 타당하다. $62,942.40을 회복하더라도 $63,947.80~$63,955.00 및 EMA120 $63,804.74 위에서 수용되지 않으면 구조적 약세는 유지되며, 하방으로는 $61,800.00 이탈 시 $60,146.00, 이후 $59,080.00 재검사가 우선 시나리오다.\",\n  \"key_levels\": {\n    \"support\": [\n      61800.0,\n      60146.0,\n      59451.3,\n      59080.0\n    ],\n    \"resistance\": [\n      62942.4,\n      63804.74,\n      63947.8,\n      63955.0,\n      66973.74\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$63,955.00 위에서 1시간 봉 기준 명확한 수용이 나오면 현재의 재분배 상단 실패 해석은 무효화됩니다.\",\n  \"risk_scenario\": \"$62,942.40을 강하게 회복하고 $63,947.80~$63,955.00 공급대를 흡수하면 즉각적인 하방 재검사보다 $66,973.74 EMA240 방향의 더 큰 되돌림이 열릴 수 있습니다. 반대로 $61,800.00을 잃으면 반등은 실패한 LPSY 성격으로 굳어지고 $60,146.00 및 $59,080.00 재시험 가능성이 커집니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "neutral",
      "confidence": 0.56,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $62,598.90는 7일 레인지 EQ 약 $66,629.95 아래의 할인 구간에 위치",
        "CVD divergence 0.700 및 CVD change +$6,837.92로 가격 대비 매수 체결 누적이 개선되는 참여 divergence 발생",
        "펀딩 평균이 -0.0000에 가까워 롱 과열보다는 중립/약한 숏 압력 상태",
        "선물 basis -0.0368%로 현물 대비 선물이 소폭 할인되어 과열 롱 구조는 아님",
        "하방 청산 밀집 $62,200, $62,000, $61,300이 가까워 단기 sweep 후 반등 setup 가능",
        "다만 long account latest 0.664, account_long_crowding 1.000으로 계정 기준 롱 쏠림은 반대 신호"
      ],
      "reasoning": "확정 구조는 아직 약세로 본다. 현재가 $62,598.90는 EMA20 $61,736.99 위에 재진입했지만 EMA120 $63,804.74와 EMA240 $66,973.74 아래에 있어 중기 구조 전환이 확인되지 않았다. 반면 setup 관점에서는 가격이 7일 EQ $66,629.95 아래 할인 구간에 있고, CVD divergence 0.700 및 CVD +$6,837.92가 나타나 하락 추세 내 매수 참여가 먼저 개선되는 모습이다. OI는 24h -0.3640%로 신규 추세 포지션 증가보다는 일부 언와인딩이며, funding_avg는 거의 0으로 강한 롱 과열은 아니다. 단기적으로는 $62,200/$62,000 하방 청산을 먼저 건드린 뒤 $63,200 상방 청산으로 되돌리는 시나리오가 가능하지만, long account 66.4%의 롱 쏠림 때문에 추격 롱의 신뢰도는 제한된다.",
      "key_levels": {
        "support": [
          62200,
          62000,
          61300,
          59080
        ],
        "resistance": [
          63200,
          63804.74,
          66629.95,
          66800,
          66973.74
        ]
      },
      "time_horizon": "short term, derivatives lead 기준 4-8시간",
      "invalidation_level": "$61,300 하향 이탈 및 1시간 종가 수용",
      "risk_scenario": "$61,300 하방 청산 구간이 sweep 후 회복되지 못하면 setup bullish는 실패하며, OI 감소가 롱 청산 언와인딩으로 확대되어 $59,080 저점 재테스트와 더 깊게는 strongest liq level $54,700 방향의 변동성 확장이 나올 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.7,
        "cvd_change": 6837.917,
        "oi_trend": 0.464,
        "oi_change_pct_24h": -0.364,
        "oi_latest": 101443.793,
        "funding_pressure": 0.51,
        "funding_avg": -9.77e-06,
        "funding_change_24h": 9.18e-06,
        "long_account_ratio": 0.663,
        "short_account_ratio": 0.337,
        "long_account_latest": 0.664,
        "short_account_latest": 0.336,
        "long_account_change_24h": 0.0035,
        "short_account_change_24h": -0.0035,
        "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.491,
        "spot_futures_basis_pct": -0.0368,
        "basis_change_lookback": 0.0074,
        "aggregate_score": 0.433,
        "bull_signals": 1,
        "bear_signals": 1,
        "liq_below": [
          [
            62200,
            7115.021597849999
          ],
          [
            62000,
            9976.5881754
          ],
          [
            61300,
            6785.8637925
          ]
        ],
        "liq_above": [
          [
            63200,
            8422.517049
          ],
          [
            66800,
            7954.153950000001
          ]
        ],
        "strongest_liq_level": 54700,
        "fragility_score": 0.832,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $62,598.90는 7일 레인지 EQ 약 $66,629.95 아래의 할인 구간에 위치\",\n    \"CVD divergence 0.700 및 CVD change +$6,837.92로 가격 대비 매수 체결 누적이 개선되는 참여 divergence 발생\",\n    \"펀딩 평균이 -0.0000에 가까워 롱 과열보다는 중립/약한 숏 압력 상태\",\n    \"선물 basis -0.0368%로 현물 대비 선물이 소폭 할인되어 과열 롱 구조는 아님\",\n    \"하방 청산 밀집 $62,200, $62,000, $61,300이 가까워 단기 sweep 후 반등 setup 가능\",\n    \"다만 long account latest 0.664, account_long_crowding 1.000으로 계정 기준 롱 쏠림은 반대 신호\"\n  ],\n  \"reasoning\": \"확정 구조는 아직 약세로 본다. 현재가 $62,598.90는 EMA20 $61,736.99 위에 재진입했지만 EMA120 $63,804.74와 EMA240 $66,973.74 아래에 있어 중기 구조 전환이 확인되지 않았다. 반면 setup 관점에서는 가격이 7일 EQ $66,629.95 아래 할인 구간에 있고, CVD divergence 0.700 및 CVD +$6,837.92가 나타나 하락 추세 내 매수 참여가 먼저 개선되는 모습이다. OI는 24h -0.3640%로 신규 추세 포지션 증가보다는 일부 언와인딩이며, funding_avg는 거의 0으로 강한 롱 과열은 아니다. 단기적으로는 $62,200/$62,000 하방 청산을 먼저 건드린 뒤 $63,200 상방 청산으로 되돌리는 시나리오가 가능하지만, long account 66.4%의 롱 쏠림 때문에 추격 롱의 신뢰도는 제한된다.\",\n  \"key_levels\": {\n    \"support\": [\n      62200,\n      62000,\n      61300,\n      59080\n    ],\n    \"resistance\": [\n      63200,\n      63804.74,\n      66629.95,\n      66800,\n      66973.74\n    ]\n  },\n  \"time_horizon\": \"short term, derivatives lead 기준 4-8시간\",\n  \"invalidation_level\": \"$61,300 하향 이탈 및 1시간 종가 수용\",\n  \"risk_scenario\": \"$61,300 하방 청산 구간이 sweep 후 회복되지 못하면 setup bullish는 실패하며, OI 감소가 롱 청산 언와인딩으로 확대되어 $59,080 저점 재테스트와 더 깊게는 strongest liq level $54,700 방향의 변동성 확장이 나올 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.6,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $62,598.90가 최근 상승 스윙 $59,451→$61,475의 ext_1.618 $62,725.65 바로 아래에서 테스트 중",
        "가격이 ext_1.414 $62,312.81 위에 있지만 ext_1.618 $62,725.65를 아직 명확히 돌파·안착하지 못함",
        "상단에 ext_2.0 $63,498.70 및 EMA120 $63,804.74 저항대가 근접해 있어 단기 상승 여력 대비 저항 밀집",
        "현재가는 스윙 EQ 및 ret_0.5 $60,463.15보다 크게 위에 있어 단기 프리미엄 구간에 위치",
        "0.618 골든 리트레이스먼트 $60,224.35와 ret_0.5 $60,463.15가 $60,343.75 부근에서 2중 컨플루언스 지지 형성"
      ],
      "reasoning": "현재 BTC는 $62,598.90로 최근 상승 스윙 $59,451→$61,475의 ext_1.618 $62,725.65에 불과 0.20% 거리까지 접근해 있어 피보나치 확장 저항을 테스트하는 구간이다. 구조적으로는 EMA20 $61,736.99 위에 있어 단기 반등은 유효하지만, EMA120 $63,804.74와 EMA240 $66,973.74 아래에 머물러 중기 구조 전환이 확정됐다고 보기는 어렵다. 따라서 structure_bias는 중립으로 보며, setup_bias는 프리미엄 구간에서 ext_1.618 저항을 테스트 중이라는 점 때문에 단기적으로는 약한 bearish 셋업이다. 하락 시 1차 지지는 ext_1.414 $62,312.81, 그 아래 ext_1.272 $62,025.45이며, 더 깊은 되돌림에서는 골든 비율 ret_0.618 $60,224.35가 핵심 고확률 반응 구간이다.",
      "key_levels": {
        "support": [
          62312.81,
          62025.45,
          61475.0,
          60463.15,
          60224.35
        ],
        "resistance": [
          62725.65,
          63498.7,
          63804.74,
          64749.35
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$63,498.70 상향 돌파 및 안착 시 ext_1.618 저항 기반의 단기 bearish 셋업은 무효화",
      "risk_scenario": "반대로 가격이 ext_1.618 $62,725.65를 강하게 돌파하고 ext_2.0 $63,498.70 위에 안착하면, 숏 커버링성 상승이 EMA120 $63,804.74 및 다음 저항 $64,749.35까지 확장될 수 있다. 반면 $62,312.81과 $62,025.45를 순차적으로 이탈하면 상승 확장 실패로 해석되며 $61,475.00, 이후 $60,463.15~$60,224.35 골든 리트레이스먼트 컨플루언스까지 되돌림 압력이 커진다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $59,451 → $61,475",
        "direction": "up",
        "nearest_fib": "ext_1.618",
        "nearest_fib_price": 62725.65,
        "nearest_fib_distance": 0.2,
        "golden_ratio_level": 60224.35,
        "fib_ret_382": 60701.95,
        "fib_ret_618": 60224.35,
        "confluence_zones": [
          {
            "price": 60343.75,
            "count": 2,
            "levels": [
              "ret_0.618",
              "ret_0.5"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 60849.68,
            "count": 2,
            "levels": [
              "ret_0.382",
              "ret_0.236"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 62169.13,
            "count": 2,
            "levels": [
              "ext_1.272",
              "ext_1.414"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 63531.01,
            "count": 2,
            "levels": [
              "ext_2.0",
              "ret_0.236"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          62312.811799999996,
          62025.4464,
          61475.0
        ],
        "resistance_levels": [
          62725.6466,
          63498.7,
          64749.3466
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 60997.41,
            "distance_pct": 2.56,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.382",
            "price": 60701.95,
            "distance_pct": 3.03,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.5",
            "price": 60463.15,
            "distance_pct": 3.41,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.618",
            "price": 60224.35,
            "distance_pct": 3.79,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.786",
            "price": 59884.37,
            "distance_pct": 4.34,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 61475.0,
            "distance_pct": 1.8,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 62025.45,
            "distance_pct": 0.92,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 62312.81,
            "distance_pct": 0.46,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 62725.65,
            "distance_pct": 0.2,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 63498.7,
            "distance_pct": 1.44,
            "is_support": false,
            "cluster_score": 0.6
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.6,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $62,598.90가 최근 상승 스윙 $59,451→$61,475의 ext_1.618 $62,725.65 바로 아래에서 테스트 중\",\n    \"가격이 ext_1.414 $62,312.81 위에 있지만 ext_1.618 $62,725.65를 아직 명확히 돌파·안착하지 못함\",\n    \"상단에 ext_2.0 $63,498.70 및 EMA120 $63,804.74 저항대가 근접해 있어 단기 상승 여력 대비 저항 밀집\",\n    \"현재가는 스윙 EQ 및 ret_0.5 $60,463.15보다 크게 위에 있어 단기 프리미엄 구간에 위치\",\n    \"0.618 골든 리트레이스먼트 $60,224.35와 ret_0.5 $60,463.15가 $60,343.75 부근에서 2중 컨플루언스 지지 형성\"\n  ],\n  \"reasoning\": \"현재 BTC는 $62,598.90로 최근 상승 스윙 $59,451→$61,475의 ext_1.618 $62,725.65에 불과 0.20% 거리까지 접근해 있어 피보나치 확장 저항을 테스트하는 구간이다. 구조적으로는 EMA20 $61,736.99 위에 있어 단기 반등은 유효하지만, EMA120 $63,804.74와 EMA240 $66,973.74 아래에 머물러 중기 구조 전환이 확정됐다고 보기는 어렵다. 따라서 structure_bias는 중립으로 보며, setup_bias는 프리미엄 구간에서 ext_1.618 저항을 테스트 중이라는 점 때문에 단기적으로는 약한 bearish 셋업이다. 하락 시 1차 지지는 ext_1.414 $62,312.81, 그 아래 ext_1.272 $62,025.45이며, 더 깊은 되돌림에서는 골든 비율 ret_0.618 $60,224.35가 핵심 고확률 반응 구간이다.\",\n  \"key_levels\": {\n    \"support\": [\n      62312.81,\n      62025.45,\n      61475.0,\n      60463.15,\n      60224.35\n    ],\n    \"resistance\": [\n      62725.65,\n      63498.7,\n      63804.74,\n      64749.35\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$63,498.70 상향 돌파 및 안착 시 ext_1.618 저항 기반의 단기 bearish 셋업은 무효화\",\n  \"risk_scenario\": \"반대로 가격이 ext_1.618 $62,725.65를 강하게 돌파하고 ext_2.0 $63,498.70 위에 안착하면, 숏 커버링성 상승이 EMA120 $63,804.74 및 다음 저항 $64,749.35까지 확장될 수 있다. 반면 $62,312.81과 $62,025.45를 순차적으로 이탈하면 상승 확장 실패로 해석되며 $61,475.00, 이후 $60,463.15~$60,224.35 골든 리트레이스먼트 컨플루언스까지 되돌림 압력이 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bullish",
      "confidence": 0.55,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $62,598.90은 7일 레인지 EQ $66,329.95 아래의 디스카운트 구간에 위치",
        "최근 299번 캔들에서 bullish_engulfing 후보 발생, bull_score 0.750",
        "현재가가 EMA20 $61,736.99 위에서 거래되어 단기 반등 구조는 유지",
        "7일 저점 $59,080.00에서 반등 후 매도 압력 둔화 가능성",
        "다만 EMA120 $63,804.74와 EMA240 $66,973.74가 상단 저항으로 남아 있어 구조 전환은 미확정"
      ],
      "reasoning": "현재 BTC는 $62,598.90으로 EMA20 $61,736.99 위에 있어 단기 반등 시도는 유효하지만, EMA120 $63,804.74 및 EMA240 $66,973.74 아래에 있어 확정 구조는 아직 bearish로 판단된다. 최근 299번 캔들에서 bullish engulfing 후보가 나왔고 bull_score가 0.750으로 우세하지만, pattern_quality가 0.422에 그치고 고거래량 패턴이 없어 신뢰도는 중간 이하이다. 7일 레인지 기준 EQ는 $66,329.95이며 현재가는 그 아래 디스카운트 구간에 있어 반등 setup_bias는 bullish지만, $63,804.74 돌파 전까지는 구조적 bullish 전환으로 보기 어렵다. $61,736.99 EMA20을 유지하면 $63,804.74 테스트 가능성이 있고, 실패 시 $59,080.00 재시험 리스크가 커진다.",
      "key_levels": {
        "support": [
          61736.99,
          59080.0
        ],
        "resistance": [
          63804.74,
          66329.95,
          66973.74,
          74179.9
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,736.99",
      "risk_scenario": "가격이 EMA20 $61,736.99 아래로 다시 내려가면 최근 bullish engulfing 후보는 실패 신호가 되며, 단기 매수 setup은 약화된다. 이 경우 $59,080.00 7일 저점 재시험 가능성이 높아지고, 해당 저점이 이탈되면 bearish 구조가 더 명확해질 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 138,
        "recent_patterns": 2,
        "pattern_list": [
          "bullish_engulfing@299",
          "doji@290"
        ],
        "atr_value": 521.2,
        "vol_avg_20": 6219.86,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.422,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.422,
        "bull_score": 0.75,
        "bear_score": 0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.55,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $62,598.90은 7일 레인지 EQ $66,329.95 아래의 디스카운트 구간에 위치\",\n    \"최근 299번 캔들에서 bullish_engulfing 후보 발생, bull_score 0.750\",\n    \"현재가가 EMA20 $61,736.99 위에서 거래되어 단기 반등 구조는 유지\",\n    \"7일 저점 $59,080.00에서 반등 후 매도 압력 둔화 가능성\",\n    \"다만 EMA120 $63,804.74와 EMA240 $66,973.74가 상단 저항으로 남아 있어 구조 전환은 미확정\"\n  ],\n  \"reasoning\": \"현재 BTC는 $62,598.90으로 EMA20 $61,736.99 위에 있어 단기 반등 시도는 유효하지만, EMA120 $63,804.74 및 EMA240 $66,973.74 아래에 있어 확정 구조는 아직 bearish로 판단된다. 최근 299번 캔들에서 bullish engulfing 후보가 나왔고 bull_score가 0.750으로 우세하지만, pattern_quality가 0.422에 그치고 고거래량 패턴이 없어 신뢰도는 중간 이하이다. 7일 레인지 기준 EQ는 $66,329.95이며 현재가는 그 아래 디스카운트 구간에 있어 반등 setup_bias는 bullish지만, $63,804.74 돌파 전까지는 구조적 bullish 전환으로 보기 어렵다. $61,736.99 EMA20을 유지하면 $63,804.74 테스트 가능성이 있고, 실패 시 $59,080.00 재시험 리스크가 커진다.\",\n  \"key_levels\": {\n    \"support\": [\n      61736.99,\n      59080.0\n    ],\n    \"resistance\": [\n      63804.74,\n      66329.95,\n      66973.74,\n      74179.9\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,736.99\",\n  \"risk_scenario\": \"가격이 EMA20 $61,736.99 아래로 다시 내려가면 최근 bullish engulfing 후보는 실패 신호가 되며, 단기 매수 setup은 약화된다. 이 경우 $59,080.00 7일 저점 재시험 가능성이 높아지고, 해당 저점이 이탈되면 bearish 구조가 더 명확해질 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bullish",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.75,
      "setup_signals": [
        "현재가 $62,598.90가 EQ $61,011.20 위의 프리미엄 영역에 위치하나, 전일 고점 $61,985.10을 상향 돌파하여 단기 매수 측 모멘텀 확인",
        "현재가가 EMA20 $61,736.99 위에 있어 단기적으로는 재축적 또는 유동성 사냥 후 상승 시도 가능",
        "상단에 BSL 유동성 $74,271.55가 남아 있어 기관 관점에서 위쪽 유동성 타깃이 존재",
        "최근 구조 이벤트는 CHoCH_bullish $73,932.20 이후 BOS_bearish $73,130.10으로 확인 구조는 약세이나, 현재 구간에서는 하락 구조 안의 단기 반등 셋업이 활성화",
        "전일 저점 $59,080.00은 미이탈, 전일 고점 $61,985.10은 돌파되어 단기 저점 방어와 매수 반응이 유지"
      ],
      "reasoning": "확정 구조는 최근 시퀀스가 CHoCH_bullish $73,932.20 이후 BOS_bearish $73,130.10으로 끝났고, consecutive_bear_bos가 1이므로 중기 구조_bias는 bearish로 본다. 다만 현재가 $62,598.90는 전일 고점 $61,985.10과 EMA20 $61,736.99 위에 있으며, NY 세션 고점 $62,942.40 재공격 가능성이 있어 단기 setup_bias는 bullish다. 현재 가격은 EQ $61,011.20 위 프리미엄에 있어 추격 매수보다는 $61,985.10~$61,447.20 되돌림 방어 여부가 중요하다. 활성 bullish OB나 미충족 FVG는 없고, 상단 BSL $74,271.55 및 원거리 bearish OB $76,682.30~$78,077.10이 존재하므로 상승하더라도 유동성 회수형 반등으로 해석해야 한다.",
      "key_levels": {
        "support": [
          61985.1,
          61736.99,
          61447.2,
          61011.2,
          59080
        ],
        "resistance": [
          62942.4,
          63804.74,
          66973.74,
          73130.1,
          74271.55,
          76682.3,
          78077.1
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,447.20",
      "risk_scenario": "가격이 NY 저점 $61,447.20을 하향 이탈하고 EQ $61,011.20 아래에서 수용되면, 전일 고점 $61,985.10 돌파는 실패한 buy-side liquidity grab으로 전환된다. 이 경우 단기 bullish 셋업은 무효화되며, $59,080.00 전일 저점 및 7일 저점의 sell-side liquidity 재테스트가 우선 시나리오가 된다.",
      "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": 76682.3,
          "top": 78077.1,
          "quality": "candidate",
          "score": 0.521
        },
        "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": 45,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "CHoCH_bullish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "CHoCH_bullish",
            "level": 73932.2
          },
          {
            "type": "BOS_bearish",
            "level": 73130.1
          }
        ],
        "bos_sequence": [
          "CHoCH_bullish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 1,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "BSL",
            "level": 74271.55
          }
        ],
        "current_zone": "premium",
        "eq_level": 61011.2,
        "range_high": 62942.4,
        "range_low": 59080.0,
        "bull_score": 3.5,
        "bear_score": 3.0,
        "setup_bias": "bullish",
        "setup_score": 0.75,
        "setup_signals": [
          "bullish CHoCH above $73,932.20",
          "BSL resting above $74,271.55",
          "broken previous day high $61,985.10"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 22.9,
        "deepest_retracement_pct": 25.5,
        "previous_day_high": 61985.1,
        "previous_day_low": 59080.0,
        "broken_prev_high": true,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": false,
            "high": null,
            "low": null
          },
          "New York": {
            "active": true,
            "high": 62942.4,
            "low": 61447.2
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.75,\n  \"setup_signals\": [\n    \"현재가 $62,598.90가 EQ $61,011.20 위의 프리미엄 영역에 위치하나, 전일 고점 $61,985.10을 상향 돌파하여 단기 매수 측 모멘텀 확인\",\n    \"현재가가 EMA20 $61,736.99 위에 있어 단기적으로는 재축적 또는 유동성 사냥 후 상승 시도 가능\",\n    \"상단에 BSL 유동성 $74,271.55가 남아 있어 기관 관점에서 위쪽 유동성 타깃이 존재\",\n    \"최근 구조 이벤트는 CHoCH_bullish $73,932.20 이후 BOS_bearish $73,130.10으로 확인 구조는 약세이나, 현재 구간에서는 하락 구조 안의 단기 반등 셋업이 활성화\",\n    \"전일 저점 $59,080.00은 미이탈, 전일 고점 $61,985.10은 돌파되어 단기 저점 방어와 매수 반응이 유지\"\n  ],\n  \"reasoning\": \"확정 구조는 최근 시퀀스가 CHoCH_bullish $73,932.20 이후 BOS_bearish $73,130.10으로 끝났고, consecutive_bear_bos가 1이므로 중기 구조_bias는 bearish로 본다. 다만 현재가 $62,598.90는 전일 고점 $61,985.10과 EMA20 $61,736.99 위에 있으며, NY 세션 고점 $62,942.40 재공격 가능성이 있어 단기 setup_bias는 bullish다. 현재 가격은 EQ $61,011.20 위 프리미엄에 있어 추격 매수보다는 $61,985.10~$61,447.20 되돌림 방어 여부가 중요하다. 활성 bullish OB나 미충족 FVG는 없고, 상단 BSL $74,271.55 및 원거리 bearish OB $76,682.30~$78,077.10이 존재하므로 상승하더라도 유동성 회수형 반등으로 해석해야 한다.\",\n  \"key_levels\": {\n    \"support\": [\n      61985.1,\n      61736.99,\n      61447.2,\n      61011.2,\n      59080\n    ],\n    \"resistance\": [\n      62942.4,\n      63804.74,\n      66973.74,\n      73130.1,\n      74271.55,\n      76682.3,\n      78077.1\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,447.20\",\n  \"risk_scenario\": \"가격이 NY 저점 $61,447.20을 하향 이탈하고 EQ $61,011.20 아래에서 수용되면, 전일 고점 $61,985.10 돌파는 실패한 buy-side liquidity grab으로 전환된다. 이 경우 단기 bullish 셋업은 무효화되며, $59,080.00 전일 저점 및 7일 저점의 sell-side liquidity 재테스트가 우선 시나리오가 된다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.42,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.55,
      "setup_signals": [
        "엄격한 고품질 bullish Gartley 형성 PRZ 진입: $62,440.67-$62,954.91, 현재가 $62,598.90는 PRZ 내부이며 D 기준가 $62,697.79와 약 0.16% 거리",
        "Gartley 핵심 비율 적합: XAB 0.6155로 이상적 0.618에 근접, ratio_score 0.985, pattern_score 0.966",
        "PRZ confluence 3개 Fib family 동시 충족: ABCD + BC_EXT + XAD, PRZ 폭 0.82%로 허용 범위 내 고밀도 반응 구간",
        "하단 보조 bullish harmonic cluster 존재: bullish Bat PRZ $61,929.44-$62,681.28 및 bullish Bat/Butterfly PRZ $61,638.88-$62,470.80",
        "단, confirmed_reaction_prz_count 0으로 PRZ 터치 후 거부, sweep→reclaim, 15m/1h MSS/CHoCH, CVD/OI 확인은 아직 없음"
      ],
      "reasoning": "현재 BTC는 $62,598.90으로 가장 중요한 엄격 고품질 bullish Gartley PRZ $62,440.67-$62,954.91 내부에 있으며, D 기준가 $62,697.79와 매우 근접해 단기 반등 후보 구간에 들어와 있다. 이 Gartley는 XAB 0.6155로 0.618 요건에 거의 부합하고, ABCD·BC_EXT·XAD 3중 Fib confluence를 갖춘 고품질 PRZ이지만, harmonic_vote_state는 아직 pre_confirmation_reversal_candidate이며 confirmed_reaction=false이다. 따라서 구조적으로는 확정 BOS/CHoCH나 PRZ 반응 확인이 없어 structure_bias는 neutral로 유지하며, 실행 관점의 setup_bias만 bullish로 평가한다. 반응이 확인될 경우 TP ladder는 $63,372.37, $63,789.12, $64,463.70 순서로 유효하지만, 반대로 $61,638.88 하단 harmonic cluster를 이탈하면 bullish PRZ 실패로 해석한다.",
      "key_levels": {
        "support": [
          62440.67,
          61929.44,
          61638.88,
          61011.46,
          59080.0
        ],
        "resistance": [
          62954.91,
          63372.37,
          63789.12,
          64463.7,
          63804.74,
          66973.74
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "61638.88",
      "risk_scenario": "반등 확인 없이 $62,440.67 하단을 잃고 $61,638.88 아래로 확장하면 bullish Gartley/Bat/Butterfly PRZ cluster가 실패한 것으로 보며, $61,011.46-$61,360.19의 bearish Gartley watch PRZ 및 $60,146-$59,080 유동성 재방문 리스크가 커진다. 특히 completed candidate bearish Bat가 $62,135.92-$62,976.18에서 이미 반응을 보인 흔적이 있어, 상방 MSS/CHoCH 없이 $62,950 부근에서 재거부되면 단기 하락 분기가 우세해질 수 있다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 185,
        "completed_patterns_found": 64,
        "forming_d_prz_found": 121,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 63,
        "swing_highs_scanned": 30,
        "swing_lows_scanned": 33,
        "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": 4,
          "medium": 64,
          "low": 117
        },
        "prz_status_counts": {
          "active": 52,
          "nearby": 11,
          "watch": 19,
          "far": 103,
          "forming": 75
        },
        "high_confluence_prz_count": 23,
        "strict_patterns_found": 83,
        "candidate_patterns_found": 102,
        "active_patterns_at_prz": 52,
        "nearby_patterns": 11,
        "all_patterns": [
          "gartley",
          "bat",
          "bat",
          "bat",
          "bat",
          "crab",
          "butterfly",
          "bat",
          "gartley",
          "bat",
          "bat",
          "gartley",
          "bat",
          "gartley",
          "crab",
          "gartley",
          "butterfly",
          "gartley",
          "bat",
          "bat",
          "bat",
          "gartley",
          "shark",
          "crab",
          "butterfly",
          "butterfly",
          "bat",
          "gartley",
          "gartley",
          "crab",
          "gartley",
          "gartley",
          "crab",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "butterfly",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "butterfly",
          "crab",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "bat",
          "shark",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "bat",
          "gartley",
          "gartley",
          "bat",
          "crab",
          "crab",
          "bat",
          "crab",
          "gartley",
          "crab",
          "butterfly",
          "crab",
          "butterfly",
          "bat",
          "butterfly",
          "shark",
          "bat",
          "shark",
          "butterfly",
          "shark",
          "crab",
          "bat",
          "crab",
          "bat",
          "bat",
          "bat",
          "shark",
          "crab",
          "crab",
          "shark",
          "bat",
          "gartley",
          "bat",
          "bat",
          "crab",
          "crab",
          "bat",
          "shark",
          "shark",
          "crab",
          "butterfly",
          "shark",
          "shark",
          "bat",
          "crab",
          "butterfly",
          "bat",
          "crab",
          "butterfly",
          "gartley",
          "butterfly",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "bat",
          "crab",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "crab",
          "crab",
          "butterfly",
          "shark",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "butterfly",
          "shark",
          "butterfly",
          "bat",
          "crab",
          "bat",
          "crab",
          "gartley",
          "bat",
          "crab",
          "gartley",
          "crab",
          "crab",
          "shark",
          "shark",
          "bat",
          "shark",
          "butterfly",
          "gartley",
          "crab",
          "butterfly",
          "butterfly",
          "bat",
          "shark",
          "shark",
          "butterfly",
          "bat",
          "shark",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "shark",
          "bat",
          "shark",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "crab"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish"
        ],
        "best_pattern": "gartley",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.966,
        "best_completion_status": "forming",
        "nearest_pattern": "shark",
        "nearest_prz": 62605.44,
        "price_to_prz": 0.01,
        "prz_range": [
          61993.27,
          63217.61
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "ratio_score": 0.985,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62697.79,
            "prz_range": [
              62440.67,
              62954.91
            ],
            "prz_width_pct": 0.82,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.16,
            "price_to_prz_pct_raw": 0.158,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 62697.79,
              "a_price": 64463.7,
              "tp1_ad_382": 63372.37,
              "tp2_ad_618": 63789.12,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6155,
              "ABC": 0.6427
            },
            "x_price": 62150.8,
            "x_idx": 227,
            "x_order": 8,
            "a_price": 64463.7,
            "a_idx": 230,
            "a_order": 5,
            "b_price": 63040.0,
            "b_idx": 237,
            "b_order": 3,
            "c_price": 63955.0,
            "c_idx": 240,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.879,
            "ratio_score": 0.992,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61185.82,
            "prz_range": [
              61011.46,
              61360.19
            ],
            "prz_width_pct": 0.57,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.26,
            "price_to_prz_pct_raw": -2.2574,
            "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": 61185.82,
              "a_price": 60146.0,
              "tp1_ad_382": 60788.61,
              "tp2_ad_618": 60543.21,
              "tp3_a_or_structure_liquidity": 60146.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6194,
              "ABC": 0.7036
            },
            "x_price": 61475.0,
            "x_idx": 272,
            "x_order": 5,
            "a_price": 60146.0,
            "a_idx": 274,
            "a_order": 3,
            "b_price": 60969.2,
            "b_idx": 285,
            "b_order": 3,
            "c_price": 60390.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.924,
            "ratio_score": 1.0,
            "prz_score": 0.92,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62305.36,
            "prz_range": [
              61929.44,
              62681.28
            ],
            "prz_width_pct": 1.207,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.47,
            "price_to_prz_pct_raw": -0.4689,
            "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": 62305.36,
              "a_price": 64150.8,
              "tp1_ad_382": 63010.32,
              "tp2_ad_618": 63445.84,
              "tp3_a_or_structure_liquidity": 64150.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4499,
              "ABC": 0.5716
            },
            "x_price": 66620.0,
            "x_idx": 201,
            "x_order": 3,
            "a_price": 64150.8,
            "a_idx": 235,
            "a_order": 3,
            "b_price": 63040.0,
            "b_idx": 237,
            "b_order": 3,
            "c_price": 63674.9,
            "c_idx": 245,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.917,
            "ratio_score": 1.0,
            "prz_score": 0.882,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63178.86,
            "prz_range": [
              62750.88,
              63606.85
            ],
            "prz_width_pct": 1.355,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.93,
            "price_to_prz_pct_raw": 0.9265,
            "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": 63178.86,
              "a_price": 59080.0,
              "tp1_ad_382": 61613.1,
              "tp2_ad_618": 60645.77,
              "tp3_a_or_structure_liquidity": 59080.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4723,
              "ABC": 0.453
            },
            "x_price": 64150.8,
            "x_idx": 235,
            "x_order": 3,
            "a_price": 59080.0,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 61475.0,
            "b_idx": 272,
            "b_order": 5,
            "c_price": 60390.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.908,
            "ratio_score": 1.0,
            "prz_score": 0.886,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62054.84,
            "prz_range": [
              61638.88,
              62470.8
            ],
            "prz_width_pct": 1.341,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.87,
            "price_to_prz_pct_raw": -0.8691,
            "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": 62054.84,
              "a_price": 64463.7,
              "tp1_ad_382": 62975.03,
              "tp2_ad_618": 63543.52,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4982,
              "ABC": 0.4923
            },
            "x_price": 61344.8,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 64463.7,
            "a_idx": 230,
            "a_order": 5,
            "b_price": 62910.0,
            "b_idx": 233,
            "b_order": 3,
            "c_price": 63674.9,
            "c_idx": 245,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.884,
            "ratio_score": 0.948,
            "prz_score": 0.886,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62054.84,
            "prz_range": [
              61638.88,
              62470.8
            ],
            "prz_width_pct": 1.341,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.87,
            "price_to_prz_pct_raw": -0.8691,
            "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": 62054.84,
              "a_price": 64739.8,
              "tp1_ad_382": 63080.5,
              "tp2_ad_618": 63714.15,
              "tp3_a_or_structure_liquidity": 64739.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7971,
              "ABC": 0.418
            },
            "x_price": 67035.5,
            "x_idx": 183,
            "x_order": 3,
            "a_price": 64739.8,
            "a_idx": 220,
            "a_order": 3,
            "b_price": 62910.0,
            "b_idx": 233,
            "b_order": 3,
            "c_price": 63674.9,
            "c_idx": 245,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.882,
            "ratio_score": 1.0,
            "prz_score": 0.913,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61559.77,
            "prz_range": [
              61179.96,
              61939.59
            ],
            "prz_width_pct": 1.234,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.66,
            "price_to_prz_pct_raw": -1.66,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 61559.77,
              "a_price": 60146.0,
              "tp1_ad_382": 61019.71,
              "tp2_ad_618": 60686.06,
              "tp3_a_or_structure_liquidity": 60146.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4476,
              "ABC": 0.7036
            },
            "x_price": 61985.1,
            "x_idx": 261,
            "x_order": 5,
            "a_price": 60146.0,
            "a_idx": 274,
            "a_order": 3,
            "b_price": 60969.2,
            "b_idx": 285,
            "b_order": 3,
            "c_price": 60390.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.821,
            "ratio_score": 0.806,
            "prz_score": 0.885,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62942.4,
            "prz_range": [
              62135.92,
              62976.18
            ],
            "prz_width_pct": 1.343,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.07,
            "price_to_prz_pct_raw": -0.0685,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.6,
              "reaction_detail": {
                "reaction_score": 0.6,
                "reaction_move_ratio_ad": 0.192,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 3,
                "reasons": [
                  "initial_PRZ_reaction",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 62556.05,
              "a_price": 59451.3,
              "tp1_ad_382": 61370.04,
              "tp2_ad_618": 60637.31,
              "tp3_a_or_structure_liquidity": 59451.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5353,
              "ABC": 0.6567,
              "BCD": 2.1041,
              "XAD": 0.9234
            },
            "x_price": 63231.8,
            "x_idx": 249,
            "x_order": 3,
            "a_price": 59451.3,
            "a_idx": 268,
            "a_order": 8,
            "b_price": 61475.0,
            "b_idx": 272,
            "b_order": 5,
            "c_price": 60146.0,
            "c_idx": 274,
            "c_order": 3,
            "d_idx": 296
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "ratio_score": 0.985,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62697.79,
            "prz_range": [
              62440.67,
              62954.91
            ],
            "prz_width_pct": 0.82,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.16,
            "price_to_prz_pct_raw": 0.158,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 62697.79,
              "a_price": 64463.7,
              "tp1_ad_382": 63372.37,
              "tp2_ad_618": 63789.12,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6155,
              "ABC": 0.6427
            },
            "x_price": 62150.8,
            "x_idx": 227,
            "x_order": 8,
            "a_price": 64463.7,
            "a_idx": 230,
            "a_order": 5,
            "b_price": 63040.0,
            "b_idx": 237,
            "b_order": 3,
            "c_price": 63955.0,
            "c_idx": 240,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "ratio_score": 0.985,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62697.79,
            "prz_range": [
              62440.67,
              62954.91
            ],
            "prz_width_pct": 0.82,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.16,
            "price_to_prz_pct_raw": 0.158,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 62697.79,
              "a_price": 64463.7,
              "tp1_ad_382": 63372.37,
              "tp2_ad_618": 63789.12,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6155,
              "ABC": 0.6427
            },
            "x_price": 62150.8,
            "x_idx": 227,
            "x_order": 8,
            "a_price": 64463.7,
            "a_idx": 230,
            "a_order": 5,
            "b_price": 63040.0,
            "b_idx": 237,
            "b_order": 3,
            "c_price": 63955.0,
            "c_idx": 240,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.879,
            "ratio_score": 0.992,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61185.82,
            "prz_range": [
              61011.46,
              61360.19
            ],
            "prz_width_pct": 0.57,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.26,
            "price_to_prz_pct_raw": -2.2574,
            "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": 61185.82,
              "a_price": 60146.0,
              "tp1_ad_382": 60788.61,
              "tp2_ad_618": 60543.21,
              "tp3_a_or_structure_liquidity": 60146.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6194,
              "ABC": 0.7036
            },
            "x_price": 61475.0,
            "x_idx": 272,
            "x_order": 5,
            "a_price": 60146.0,
            "a_idx": 274,
            "a_order": 3,
            "b_price": 60969.2,
            "b_idx": 285,
            "b_order": 3,
            "c_price": 60390.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.924,
            "ratio_score": 1.0,
            "prz_score": 0.92,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62305.36,
            "prz_range": [
              61929.44,
              62681.28
            ],
            "prz_width_pct": 1.207,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.47,
            "price_to_prz_pct_raw": -0.4689,
            "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": 62305.36,
              "a_price": 64150.8,
              "tp1_ad_382": 63010.32,
              "tp2_ad_618": 63445.84,
              "tp3_a_or_structure_liquidity": 64150.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4499,
              "ABC": 0.5716
            },
            "x_price": 66620.0,
            "x_idx": 201,
            "x_order": 3,
            "a_price": 64150.8,
            "a_idx": 235,
            "a_order": 3,
            "b_price": 63040.0,
            "b_idx": 237,
            "b_order": 3,
            "c_price": 63674.9,
            "c_idx": 245,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.917,
            "ratio_score": 1.0,
            "prz_score": 0.882,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63178.86,
            "prz_range": [
              62750.88,
              63606.85
            ],
            "prz_width_pct": 1.355,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.93,
            "price_to_prz_pct_raw": 0.9265,
            "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": 63178.86,
              "a_price": 59080.0,
              "tp1_ad_382": 61613.1,
              "tp2_ad_618": 60645.77,
              "tp3_a_or_structure_liquidity": 59080.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4723,
              "ABC": 0.453
            },
            "x_price": 64150.8,
            "x_idx": 235,
            "x_order": 3,
            "a_price": 59080.0,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 61475.0,
            "b_idx": 272,
            "b_order": 5,
            "c_price": 60390.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.908,
            "ratio_score": 1.0,
            "prz_score": 0.886,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62054.84,
            "prz_range": [
              61638.88,
              62470.8
            ],
            "prz_width_pct": 1.341,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.87,
            "price_to_prz_pct_raw": -0.8691,
            "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": 62054.84,
              "a_price": 64463.7,
              "tp1_ad_382": 62975.03,
              "tp2_ad_618": 63543.52,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4982,
              "ABC": 0.4923
            },
            "x_price": 61344.8,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 64463.7,
            "a_idx": 230,
            "a_order": 5,
            "b_price": 62910.0,
            "b_idx": 233,
            "b_order": 3,
            "c_price": 63674.9,
            "c_idx": 245,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.884,
            "ratio_score": 0.948,
            "prz_score": 0.886,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62054.84,
            "prz_range": [
              61638.88,
              62470.8
            ],
            "prz_width_pct": 1.341,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.87,
            "price_to_prz_pct_raw": -0.8691,
            "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": 62054.84,
              "a_price": 64739.8,
              "tp1_ad_382": 63080.5,
              "tp2_ad_618": 63714.15,
              "tp3_a_or_structure_liquidity": 64739.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7971,
              "ABC": 0.418
            },
            "x_price": 67035.5,
            "x_idx": 183,
            "x_order": 3,
            "a_price": 64739.8,
            "a_idx": 220,
            "a_order": 3,
            "b_price": 62910.0,
            "b_idx": 233,
            "b_order": 3,
            "c_price": 63674.9,
            "c_idx": 245,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.882,
            "ratio_score": 1.0,
            "prz_score": 0.913,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61559.77,
            "prz_range": [
              61179.96,
              61939.59
            ],
            "prz_width_pct": 1.234,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.66,
            "price_to_prz_pct_raw": -1.66,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 61559.77,
              "a_price": 60146.0,
              "tp1_ad_382": 61019.71,
              "tp2_ad_618": 60686.06,
              "tp3_a_or_structure_liquidity": 60146.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4476,
              "ABC": 0.7036
            },
            "x_price": 61985.1,
            "x_idx": 261,
            "x_order": 5,
            "a_price": 60146.0,
            "a_idx": 274,
            "a_order": 3,
            "b_price": 60969.2,
            "b_idx": 285,
            "b_order": 3,
            "c_price": 60390.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.821,
            "ratio_score": 0.806,
            "prz_score": 0.885,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62942.4,
            "prz_range": [
              62135.92,
              62976.18
            ],
            "prz_width_pct": 1.343,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.07,
            "price_to_prz_pct_raw": -0.0685,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.6,
              "reaction_detail": {
                "reaction_score": 0.6,
                "reaction_move_ratio_ad": 0.192,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 3,
                "reasons": [
                  "initial_PRZ_reaction",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 62556.05,
              "a_price": 59451.3,
              "tp1_ad_382": 61370.04,
              "tp2_ad_618": 60637.31,
              "tp3_a_or_structure_liquidity": 59451.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5353,
              "ABC": 0.6567,
              "BCD": 2.1041,
              "XAD": 0.9234
            },
            "x_price": 63231.8,
            "x_idx": 249,
            "x_order": 3,
            "a_price": 59451.3,
            "a_idx": 268,
            "a_order": 8,
            "b_price": 61475.0,
            "b_idx": 272,
            "b_order": 5,
            "c_price": 60146.0,
            "c_idx": 274,
            "c_order": 3,
            "d_idx": 296
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.785,
            "ratio_score": 0.71,
            "prz_score": 0.879,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63450.53,
            "prz_range": [
              63016.84,
              63884.22
            ],
            "prz_width_pct": 1.367,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.36,
            "price_to_prz_pct_raw": 1.3605,
            "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": 63450.53,
              "a_price": 59080.0,
              "tp1_ad_382": 61780.99,
              "tp2_ad_618": 60749.54,
              "tp3_a_or_structure_liquidity": 59080.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5396,
              "ABC": 0.6331
            },
            "x_price": 64463.7,
            "x_idx": 230,
            "x_order": 5,
            "a_price": 59080.0,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 61985.1,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 60146.0,
            "c_idx": 274,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.782,
            "ratio_score": 0.725,
            "prz_score": 0.882,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62942.4,
            "prz_range": [
              62750.88,
              63606.85
            ],
            "prz_width_pct": 1.355,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.93,
            "price_to_prz_pct_raw": 0.9265,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.173,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 3,
                "reasons": [
                  "initial_PRZ_reaction",
                  "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": "bat",
              "d_price": 63178.86,
              "a_price": 59080.0,
              "tp1_ad_382": 61613.1,
              "tp2_ad_618": 60645.77,
              "tp3_a_or_structure_liquidity": 59080.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4723,
              "ABC": 0.453,
              "BCD": 2.3524,
              "XAD": 0.7617
            },
            "x_price": 64150.8,
            "x_idx": 235,
            "x_order": 3,
            "a_price": 59080.0,
            "a_idx": 259,
            "a_order": 8,
            "b_price": 61475.0,
            "b_idx": 272,
            "b_order": 5,
            "c_price": 60390.0,
            "c_idx": 286,
            "c_order": 3,
            "d_idx": 296
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.754,
            "ratio_score": 0.49,
            "prz_score": 0.941,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62330.18,
            "prz_range": [
              61979.07,
              62681.29
            ],
            "prz_width_pct": 1.127,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.43,
            "price_to_prz_pct_raw": -0.4293,
            "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": 62330.18,
              "a_price": 64150.8,
              "tp1_ad_382": 63025.66,
              "tp2_ad_618": 63455.32,
              "tp3_a_or_structure_liquidity": 64150.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8952,
              "ABC": 0.5716
            },
            "x_price": 62910.0,
            "x_idx": 233,
            "x_order": 3,
            "a_price": 64150.8,
            "a_idx": 235,
            "a_order": 3,
            "b_price": 63040.0,
            "b_idx": 237,
            "b_order": 3,
            "c_price": 63674.9,
            "c_idx": 245,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.741,
            "ratio_score": 0.519,
            "prz_score": 0.887,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62843.33,
            "prz_range": [
              62423.03,
              63263.64
            ],
            "prz_width_pct": 1.338,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.39,
            "price_to_prz_pct_raw": 0.3905,
            "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": 62843.33,
              "a_price": 67899.9,
              "tp1_ad_382": 64774.94,
              "tp2_ad_618": 65968.29,
              "tp3_a_or_structure_liquidity": 67899.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3318,
              "ABC": 0.8066
            },
            "x_price": 73171.0,
            "x_idx": 146,
            "x_order": 3,
            "a_price": 67899.9,
            "a_idx": 189,
            "a_order": 3,
            "b_price": 66150.7,
            "b_idx": 191,
            "b_order": 3,
            "c_price": 64739.8,
            "c_idx": 220,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "prz_proximity": "active",
            "prz_range": [
              62440.67,
              62954.91
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.16,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 62697.79,
              "a_price": 64463.7,
              "tp1_ad_382": 63372.37,
              "tp2_ad_618": 63789.12,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $62,440.67-$62,954.91: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.966,
          "ratio_score": 0.985,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 62697.79,
          "prz_range": [
            62440.67,
            62954.91
          ],
          "prz_width_pct": 0.82,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 0.16,
          "price_to_prz_pct_raw": 0.158,
          "harmonic_vote_state": {
            "authority": "pre_confirmation_reversal_candidate",
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "confirmation_reasons": [],
            "reaction_score": 0.0,
            "reaction_detail": {
              "reaction_score": 0.0,
              "reasons": []
            },
            "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
            "standalone_path_override_allowed": false
          },
          "directional_vote_weight": 0.35,
          "confirmed_reaction": false,
          "standalone_path_override_allowed": false,
          "tp_ladder": {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 62697.79,
            "a_price": 64463.7,
            "tp1_ad_382": 63372.37,
            "tp2_ad_618": 63789.12,
            "tp3_a_or_structure_liquidity": 64463.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.6155,
            "ABC": 0.6427
          },
          "x_price": 62150.8,
          "x_idx": 227,
          "x_order": 8,
          "a_price": 64463.7,
          "a_idx": 230,
          "a_order": 5,
          "b_price": 63040.0,
          "b_idx": 237,
          "b_order": 3,
          "c_price": 63955.0,
          "c_idx": 240,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 62697.79,
          "a_price": 64463.7,
          "tp1_ad_382": 63372.37,
          "tp2_ad_618": 63789.12,
          "tp3_a_or_structure_liquidity": 64463.7,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 62697.79,
            "a_price": 64463.7,
            "tp1_ad_382": 63372.37,
            "tp2_ad_618": 63789.12,
            "tp3_a_or_structure_liquidity": 64463.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 0.205,
          "bearish": 0
        },
        "directional_score_total": 0.205,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.42,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.55,\n  \"setup_signals\": [\n    \"엄격한 고품질 bullish Gartley 형성 PRZ 진입: $62,440.67-$62,954.91, 현재가 $62,598.90는 PRZ 내부이며 D 기준가 $62,697.79와 약 0.16% 거리\",\n    \"Gartley 핵심 비율 적합: XAB 0.6155로 이상적 0.618에 근접, ratio_score 0.985, pattern_score 0.966\",\n    \"PRZ confluence 3개 Fib family 동시 충족: ABCD + BC_EXT + XAD, PRZ 폭 0.82%로 허용 범위 내 고밀도 반응 구간\",\n    \"하단 보조 bullish harmonic cluster 존재: bullish Bat PRZ $61,929.44-$62,681.28 및 bullish Bat/Butterfly PRZ $61,638.88-$62,470.80\",\n    \"단, confirmed_reaction_prz_count 0으로 PRZ 터치 후 거부, sweep→reclaim, 15m/1h MSS/CHoCH, CVD/OI 확인은 아직 없음\"\n  ],\n  \"reasoning\": \"현재 BTC는 $62,598.90으로 가장 중요한 엄격 고품질 bullish Gartley PRZ $62,440.67-$62,954.91 내부에 있으며, D 기준가 $62,697.79와 매우 근접해 단기 반등 후보 구간에 들어와 있다. 이 Gartley는 XAB 0.6155로 0.618 요건에 거의 부합하고, ABCD·BC_EXT·XAD 3중 Fib confluence를 갖춘 고품질 PRZ이지만, harmonic_vote_state는 아직 pre_confirmation_reversal_candidate이며 confirmed_reaction=false이다. 따라서 구조적으로는 확정 BOS/CHoCH나 PRZ 반응 확인이 없어 structure_bias는 neutral로 유지하며, 실행 관점의 setup_bias만 bullish로 평가한다. 반응이 확인될 경우 TP ladder는 $63,372.37, $63,789.12, $64,463.70 순서로 유효하지만, 반대로 $61,638.88 하단 harmonic cluster를 이탈하면 bullish PRZ 실패로 해석한다.\",\n  \"key_levels\": {\n    \"support\": [\n      62440.67,\n      61929.44,\n      61638.88,\n      61011.46,\n      59080.0\n    ],\n    \"resistance\": [\n      62954.91,\n      63372.37,\n      63789.12,\n      64463.7,\n      63804.74,\n      66973.74\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"61638.88\",\n  \"risk_scenario\": \"반등 확인 없이 $62,440.67 하단을 잃고 $61,638.88 아래로 확장하면 bullish Gartley/Bat/Butterfly PRZ cluster가 실패한 것으로 보며, $61,011.46-$61,360.19의 bearish Gartley watch PRZ 및 $60,146-$59,080 유동성 재방문 리스크가 커진다. 특히 completed candidate bearish Bat가 $62,135.92-$62,976.18에서 이미 반응을 보인 흔적이 있어, 상방 MSS/CHoCH 없이 $62,950 부근에서 재거부되면 단기 하락 분기가 우세해질 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.67,
    "execution_setup": {
      "setup_bias": "bullish",
      "setup_strength": 0.64,
      "active_setups": [
        "파생: 가격은 7일 레인지 EQ 약 $66,629.95 아래의 할인 구간이며, CVD divergence 0.700 및 CVD 변화 +$6,837.92로 단기 매수 체결 누적 개선",
        "캔들: 최근 bullish engulfing 후보가 발생했고 현재가 $62,598.90가 EMA20 $61,736.99 위에 위치",
        "ICT: 전일 고점 $61,985.10을 상향 돌파했고, 현재가가 EMA20 $61,736.99 위에 있어 단기 매수 측 모멘텀 확인",
        "하모닉: 고품질 strict bullish Gartley PRZ $62,440.67-$62,954.91 내부에 가격이 위치하나, 아직 반응 확인은 미완료",
        "단기 상단 반응 구간: Fibonacci ext_1.618 $62,725.65, Wyckoff/ICT NY 고점 및 UT 후보 $62,942.40, Harmonic PRZ 상단 $62,954.91"
      ],
      "setup_vs_structure": "실행 셋업은 4명 이상의 분석가가 bullish 방향을 제시해 단기 반등형 조건이 우세하지만, 이는 확정 구조와는 반대 방향이다. 따라서 현재 시장은 ‘구조적 약세 속 단기 반등·상단 테스트’ 상태로 해석해야 하며, bullish setup은 구조 전환 신호가 아니라 재분배 상단 반응 위험을 동반한 프리컨펌 조건이다."
    },
    "signal_breakdown": {
      "bullish_count": 2,
      "bearish_count": 1,
      "neutral_count": 3
    },
    "key_levels": {
      "support": [
        62440.67,
        62312.81,
        62200,
        62025.45,
        61985.1,
        61736.99,
        61447.2,
        61011.2,
        60146,
        59080
      ],
      "resistance": [
        62725.65,
        62942.4,
        62954.91,
        63200,
        63372.37,
        63498.7,
        63804.74,
        63947.8,
        63955,
        66973.74
      ]
    },
    "confluences": [
      "Wyckoff와 ICT가 모두 $62,942.40을 핵심 상단 기준으로 제시한다. Wyckoff는 이를 현재 재분배 후보의 UT 고점으로, ICT는 NY 세션 고점 및 단기 레인지 상단으로 본다.",
      "Harmonic의 bullish Gartley PRZ $62,440.67-$62,954.91과 Wyckoff/ICT의 $62,942.40 상단 테스트 구간이 겹친다. 이 구간은 반등 후보이면서 동시에 재분배 상단 실패 위험이 있는 고밀도 반응 구역이다.",
      "Fibonacci ext_1.618 $62,725.65가 현재가와 매우 근접하며, Harmonic D 기준가 $62,697.79와도 거의 같은 영역에 있어 $62,700 전후가 단기 반응 중심으로 수렴한다.",
      "EMA120 $63,804.74는 Wyckoff, Derivatives, Fibonacci, Candlestick, ICT가 공통 저항으로 제시한다. 또한 $63,947.80-$63,955.00의 직전 재분배 상단과 붙어 있어 구조 전환 전까지 가장 중요한 상단 수용 확인대다.",
      "$59,080.00은 Wyckoff Phase E 저점, ICT 전일 저점, Derivatives·Candlestick·Harmonic의 주요 하단 기준으로 반복 제시되어 현재 구조의 핵심 저점이다.",
      "EMA20 $61,736.99는 Derivatives, Candlestick, ICT가 공통으로 단기 반등 유지 기준으로 언급한다.",
      "$60,146.00-$60,224.35 부근은 Wyckoff SOW_IN_PHASE_B $60,146.00, Fibonacci golden ratio $60,224.35, Harmonic 하단 클러스터와 겹치는 중간 지지 클러스터다."
    ],
    "conflicts": [
      "가장 큰 충돌은 구조와 셋업의 방향 차이다. Wyckoff, ICT, Derivatives, Candlestick의 구조 해석은 대체로 bearish이지만, Derivatives·Candlestick·ICT·Harmonic의 실행 셋업은 bullish로 기울어져 있다.",
      "Wyckoff는 $62,942.40 부근을 재분배 UT 및 상단 실패 가능 구간으로 보지만, Harmonic은 같은 영역 $62,440.67-$62,954.91을 bullish Gartley PRZ로 해석한다. 다만 Harmonic은 아직 반응 확인이 없는 pre-confirmation 후보이므로 구조를 뒤집을 권한은 제한적이다.",
      "Fibonacci는 $62,725.65 ext_1.618 저항 테스트로 인해 단기 setup을 bearish로 보지만, ICT와 Candlestick은 전일 고점 $61,985.10 돌파 및 EMA20 $61,736.99 회복을 근거로 bullish setup을 제시한다.",
      "Derivatives는 CVD 개선과 중립 funding을 bullish 단기 조건으로 보지만, long account ratio 66.4%의 롱 쏠림과 24h OI -0.3640%는 추격 롱의 구조적 신뢰도를 낮춘다.",
      "Harmonic 내부에서도 고품질 bullish Gartley PRZ가 있는 반면, $62,942.40 부근에서 확인된 bearish bat 반응 후보가 존재해 동일 가격대가 양방향 PRZ 충돌 구간이다."
    ],
    "executive_summary": "현재 BTC/USDT 1시간 구조는 이전 대형 분배가 $59,080.00 Phase E 저점까지 진행된 뒤, 그 저점에서 시작된 새로운 재분배 후보 구조의 상단 테스트 국면으로 진단된다. 가격은 $62,598.90으로 active redistribution candidate의 UT 후보 $62,942.40 바로 아래에 있으며, $62,440.67-$62,954.91 하모닉 PRZ 및 Fibonacci $62,725.65와 겹쳐 단기 반응 구간의 밀도가 높다. 구조적 기준에서는 EMA120 $63,804.74와 직전 재분배 상단 $63,947.80-$63,955.00 아래에 머무는 한 bearish regime 해석이 우선이며, 이 영역을 회복하지 못하는 반등은 LPSY성 상단 실패 조건으로 분류된다. 다만 실행 셋업은 CVD 개선, 전일 고점 $61,985.10 돌파, EMA20 $61,736.99 회복, bullish Gartley PRZ 진입으로 인해 구조와 반대되는 bullish 프리컨펌 조건이 활성화되어 있다. 핵심 구조 리스크는 $62,942.40-$63,955.00 구간에서의 수용 실패이며, 구조 약세의 실질 무효화는 $63,955.00 위 수용, 중기 전환 확인은 $66,973.74 회복이 필요하다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.67,\n  \"execution_setup\": {\n    \"setup_bias\": \"bullish\",\n    \"setup_strength\": 0.64,\n    \"active_setups\": [\n      \"파생: 가격은 7일 레인지 EQ 약 $66,629.95 아래의 할인 구간이며, CVD divergence 0.700 및 CVD 변화 +$6,837.92로 단기 매수 체결 누적 개선\",\n      \"캔들: 최근 bullish engulfing 후보가 발생했고 현재가 $62,598.90가 EMA20 $61,736.99 위에 위치\",\n      \"ICT: 전일 고점 $61,985.10을 상향 돌파했고, 현재가가 EMA20 $61,736.99 위에 있어 단기 매수 측 모멘텀 확인\",\n      \"하모닉: 고품질 strict bullish Gartley PRZ $62,440.67-$62,954.91 내부에 가격이 위치하나, 아직 반응 확인은 미완료\",\n      \"단기 상단 반응 구간: Fibonacci ext_1.618 $62,725.65, Wyckoff/ICT NY 고점 및 UT 후보 $62,942.40, Harmonic PRZ 상단 $62,954.91\"\n    ],\n    \"setup_vs_structure\": \"실행 셋업은 4명 이상의 분석가가 bullish 방향을 제시해 단기 반등형 조건이 우세하지만, 이는 확정 구조와는 반대 방향이다. 따라서 현재 시장은 ‘구조적 약세 속 단기 반등·상단 테스트’ 상태로 해석해야 하며, bullish setup은 구조 전환 신호가 아니라 재분배 상단 반응 위험을 동반한 프리컨펌 조건이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 2,\n    \"bearish_count\": 1,\n    \"neutral_count\": 3\n  },\n  \"key_levels\": {\n    \"support\": [\n      62440.67,\n      62312.81,\n      62200,\n      62025.45,\n      61985.1,\n      61736.99,\n      61447.2,\n      61011.2,\n      60146,\n      59080\n    ],\n    \"resistance\": [\n      62725.65,\n      62942.4,\n      62954.91,\n      63200,\n      63372.37,\n      63498.7,\n      63804.74,\n      63947.8,\n      63955,\n      66973.74\n    ]\n  },\n  \"confluences\": [\n    \"Wyckoff와 ICT가 모두 $62,942.40을 핵심 상단 기준으로 제시한다. Wyckoff는 이를 현재 재분배 후보의 UT 고점으로, ICT는 NY 세션 고점 및 단기 레인지 상단으로 본다.\",\n    \"Harmonic의 bullish Gartley PRZ $62,440.67-$62,954.91과 Wyckoff/ICT의 $62,942.40 상단 테스트 구간이 겹친다. 이 구간은 반등 후보이면서 동시에 재분배 상단 실패 위험이 있는 고밀도 반응 구역이다.\",\n    \"Fibonacci ext_1.618 $62,725.65가 현재가와 매우 근접하며, Harmonic D 기준가 $62,697.79와도 거의 같은 영역에 있어 $62,700 전후가 단기 반응 중심으로 수렴한다.\",\n    \"EMA120 $63,804.74는 Wyckoff, Derivatives, Fibonacci, Candlestick, ICT가 공통 저항으로 제시한다. 또한 $63,947.80-$63,955.00의 직전 재분배 상단과 붙어 있어 구조 전환 전까지 가장 중요한 상단 수용 확인대다.\",\n    \"$59,080.00은 Wyckoff Phase E 저점, ICT 전일 저점, Derivatives·Candlestick·Harmonic의 주요 하단 기준으로 반복 제시되어 현재 구조의 핵심 저점이다.\",\n    \"EMA20 $61,736.99는 Derivatives, Candlestick, ICT가 공통으로 단기 반등 유지 기준으로 언급한다.\",\n    \"$60,146.00-$60,224.35 부근은 Wyckoff SOW_IN_PHASE_B $60,146.00, Fibonacci golden ratio $60,224.35, Harmonic 하단 클러스터와 겹치는 중간 지지 클러스터다.\"\n  ],\n  \"conflicts\": [\n    \"가장 큰 충돌은 구조와 셋업의 방향 차이다. Wyckoff, ICT, Derivatives, Candlestick의 구조 해석은 대체로 bearish이지만, Derivatives·Candlestick·ICT·Harmonic의 실행 셋업은 bullish로 기울어져 있다.\",\n    \"Wyckoff는 $62,942.40 부근을 재분배 UT 및 상단 실패 가능 구간으로 보지만, Harmonic은 같은 영역 $62,440.67-$62,954.91을 bullish Gartley PRZ로 해석한다. 다만 Harmonic은 아직 반응 확인이 없는 pre-confirmation 후보이므로 구조를 뒤집을 권한은 제한적이다.\",\n    \"Fibonacci는 $62,725.65 ext_1.618 저항 테스트로 인해 단기 setup을 bearish로 보지만, ICT와 Candlestick은 전일 고점 $61,985.10 돌파 및 EMA20 $61,736.99 회복을 근거로 bullish setup을 제시한다.\",\n    \"Derivatives는 CVD 개선과 중립 funding을 bullish 단기 조건으로 보지만, long account ratio 66.4%의 롱 쏠림과 24h OI -0.3640%는 추격 롱의 구조적 신뢰도를 낮춘다.\",\n    \"Harmonic 내부에서도 고품질 bullish Gartley PRZ가 있는 반면, $62,942.40 부근에서 확인된 bearish bat 반응 후보가 존재해 동일 가격대가 양방향 PRZ 충돌 구간이다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 1시간 구조를 분배/재분배 우위로 판정하며 regime_fitness 0.963, dis_score 96.2, 신뢰도 72%를 제시했다. 또한 prior distribution의 BC $74,293.10 → AR $73,057.80 → UT $74,179.90 → SOW $70,650.90 → Phase E $59,080.00 흐름과, 현재 active redistribution candidate의 SC $59,080.00 → AR $61,800.00 → ST $59,451.30 → SOW_IN_PHASE_B $60,146.00 → UT $62,942.40를 구체적으로 제시해 구조 진단의 가격 정밀도와 체계성이 가장 높다.\",\n  \"invalidation_level\": \"1차 구조 약세 무효화 조건은 $63,804.74 EMA120 및 $63,947.80-$63,955.00 직전 재분배 상단 위에서 1시간 종가 수용이 확인되는 것이다. 더 큰 중기 약세 구조의 무효화는 EMA240 $66,973.74 회복 이후에야 신뢰도가 높아진다.\",\n  \"executive_summary\": \"현재 BTC/USDT 1시간 구조는 이전 대형 분배가 $59,080.00 Phase E 저점까지 진행된 뒤, 그 저점에서 시작된 새로운 재분배 후보 구조의 상단 테스트 국면으로 진단된다. 가격은 $62,598.90으로 active redistribution candidate의 UT 후보 $62,942.40 바로 아래에 있으며, $62,440.67-$62,954.91 하모닉 PRZ 및 Fibonacci $62,725.65와 겹쳐 단기 반응 구간의 밀도가 높다. 구조적 기준에서는 EMA120 $63,804.74와 직전 재분배 상단 $63,947.80-$63,955.00 아래에 머무는 한 bearish regime 해석이 우선이며, 이 영역을 회복하지 못하는 반등은 LPSY성 상단 실패 조건으로 분류된다. 다만 실행 셋업은 CVD 개선, 전일 고점 $61,985.10 돌파, EMA20 $61,736.99 회복, bullish Gartley PRZ 진입으로 인해 구조와 반대되는 bullish 프리컨펌 조건이 활성화되어 있다. 핵심 구조 리스크는 $62,942.40-$63,955.00 구간에서의 수용 실패이며, 구조 약세의 실질 무효화는 $63,955.00 위 수용, 중기 전환 확인은 $66,973.74 회복이 필요하다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.67,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.52,
    "executive_summary": "구조는 BEARISH(67%)이지만 실행 셋업이 BULLISH(강도 64% ≥ 0.5)로 방향이 충돌하므로, Setup-Driven Ordering 규칙에 따라 1차 웨이포인트는 셋업 방향(상단)으로 먼저 진행한 뒤 구조 방향(하단)으로 롤오버하는 '구조적 약세 속 단기 상단 테스트 후 거절' 경로다. 셋업 강도가 0.7 미만이라 고확신 추세가 아닌 프리컨펌 반등으로 취급하며, $62,942.40 재분배 상단 유동성을 쓸어낸 뒤 업스러스트성 거절 → EMA20 이탈 → 구조적 하락 연장으로 본다. 하모닉 PRZ는 pre-confirmation 상태라 WP1 선택의 단독 근거로 쓰지 않았고, 상단 WP1은 Wyckoff UT·ICT NY 고점 등 strict-tier 신호로 뒷받침했다.",
    "waypoints": [
      {
        "seq": 1,
        "price": 62942.4,
        "type": "liquidity_sweep",
        "source": "Wyckoff(UT 후보 $62,942.40), ICT(NY 세션 고점/BSL), Harmonic(PRZ 상단 $62,954.91), Fibonacci(ext_1.618 $62,725.65 직상단)",
        "description": "불리시 실행 셋업의 1차 목표. 전일 고점 $61,985.10 돌파와 EMA20 $61,736.99 회복 모멘텀이 고밀도 상단 반응 구간을 공격. Wyckoff UT 후보·ICT NY 고점·Harmonic PRZ 상단이 겹치는 $62,942.40~$62,954.91 유동성을 쓸어내는 업스러스트성 스윕으로, 수용 실패 시 LPSY 거절이 유력. 롱 비중 66.4% 쏠림이 거절 후 하방 플러시 연료.",
        "est_hours": 3,
        "turning_zone": [
          62942.4,
          63150.0
        ],
        "likely_wick": 63020.0,
        "rejection_confirm": 62725.65,
        "invalid_overshoot": 63200.0,
        "calibration_reasoning": "$62,942.40~$62,954.91 유동성 클러스터(Wyckoff UT·ICT NY 고점) 위로 $63,000 라운드넘버 스톱을 쓸어내는 업스러스트를 가정해 ATR 0.40배 폭으로 존 설정; 위크는 $63,000 자석 직상단으로 편향, $63,200 챔피언 저항 수용 시 진성 돌파로 스윕 무효화(Gartley PRZ $62,697.79는 pre-confirmation이라 미반영)."
      },
      {
        "seq": 2,
        "price": 61736.99,
        "type": "support_test",
        "source": "Derivatives·Candlestick·ICT(공통 EMA20 $61,736.99), ICT(전일 고점 $61,985.10), Wyckoff(~$61,800)",
        "description": "상단 스윕 거절 후 첫 되돌림 목표. 단기 반등 유지 기준선인 EMA20 $61,736.99 및 직상단 전일 고점 $61,985.10 클러스터 재시험. 이 구간 수용 실패가 불리시 셋업 무효화와 구조적 약세 재개의 분기점.",
        "est_hours": 11,
        "turning_zone": [
          61475.0,
          61736.99
        ],
        "likely_wick": 61500.0,
        "rejection_confirm": 61985.1,
        "invalid_overshoot": 61447.2,
        "calibration_reasoning": "EMA20 $61,736.99 하단의 Fib 지지 $61,475 + 챔피언 $61,447.20 유동성까지 ATR 0.50배로 존 확장하고, $61,500 라운드넘버 부근 언더컷 위크를 추정; 반등 시 전일고점 $61,985.10 재탈환이 턴 확정, $61,447.20 하회 수용 시 지지 실패로 WP3행."
      },
      {
        "seq": 3,
        "price": 61011.2,
        "type": "support_test",
        "source": "ICT(EQ $61,011.20), Harmonic($61,011.46), 지지 클러스터 $61,447.20",
        "description": "EMA20 이탈 후 구조적 하락 연장. ICT EQ $61,011.20로의 정상 회귀이며, 프리미엄 구간에서 진입한 추격 롱(롱 비중 66.4%) 청산 흐름이 가속되는 구간.",
        "est_hours": 18,
        "turning_zone": [
          60800.0,
          61011.2
        ],
        "likely_wick": 60850.0,
        "rejection_confirm": 61447.2,
        "invalid_overshoot": 60701.95,
        "calibration_reasoning": "$61,011.20(≈$61,000 라운드·ICT EQ) 하회 스윕은 바로 아래 2중 Fib 컨플루언스 $60,849.68를 자석으로 작동하여 위크 $60,850 추정(ATR 0.41배); 직상단 레벨 공백으로 확정선은 깨진 $61,447.20 재탈환, $60,701.95 Fib 0.382 이탈 시 무효."
      },
      {
        "seq": 4,
        "price": 60146.0,
        "type": "swing_low",
        "source": "Wyckoff(SOW_IN_PHASE_B $60,146.00), Fibonacci(golden ratio $60,224.35), Harmonic(하단 클러스터), Chairman(중간 지지 클러스터)",
        "description": "24시간 핵심 하방 구조 목표. Wyckoff SOW·Fib 골든비율·Harmonic 하단이 겹치는 중간 지지 클러스터로, 재분배 상단 실패 시나리오의 1차 측정 목표. 이탈 시 $59,080.00 Phase E 저점 재검사로 확장.",
        "est_hours": 23,
        "turning_zone": [
          59800.0,
          60146.0
        ],
        "likely_wick": 59950.0,
        "rejection_confirm": 60343.75,
        "invalid_overshoot": 59700.0,
        "calibration_reasoning": "터미널 스윙로우로 $60,146 클러스터(Wyckoff SOW·Fib·Harmonic) 하단의 $60,000 라운드넘버 자석까지 ATR 0.66배 광폭 존을 두고 서브-$60k 스톱 스윕으로 위크 $59,950 추정; $60,343.75 Fib 컨플루언스 재탈환이 바닥 확정, $59,700 하회 수용 시 $59,080 Phase E 저점으로 확장."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 62942.4,
        "expected_low": 62440.67,
        "high_first": true
      },
      "8h": {
        "expected_high": 62942.4,
        "expected_low": 61985.1,
        "high_first": true
      },
      "24h": {
        "expected_high": 62942.4,
        "expected_low": 60146.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 63200.0,
        "description": "$62,942.40~$62,954.91 상단 반응 구간을 수용 돌파하고 $63,200을 회복하면 업스러스트 실패 시나리오가 약화되며 EMA120 $63,804.74를 향한 상승 연장. $63,804.74 위 안착 시 구조적 전환 위험으로 경로 재평가 필요."
      },
      "bearish": {
        "price": 61736.99,
        "description": "EMA20 $61,736.99 하향 이탈 및 전일 고점 $61,985.10 수용 실패 시 불리시 셋업 무효화. 구조적 약세 가속으로 $61,011.20·$60,146.00을 향한 직진 하락."
      }
    },
    "scenario_invalidation": 63955.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.52,\n  \"executive_summary\": \"구조는 BEARISH(67%)이지만 실행 셋업이 BULLISH(강도 64% ≥ 0.5)로 방향이 충돌하므로, Setup-Driven Ordering 규칙에 따라 1차 웨이포인트는 셋업 방향(상단)으로 먼저 진행한 뒤 구조 방향(하단)으로 롤오버하는 '구조적 약세 속 단기 상단 테스트 후 거절' 경로다. 셋업 강도가 0.7 미만이라 고확신 추세가 아닌 프리컨펌 반등으로 취급하며, $62,942.40 재분배 상단 유동성을 쓸어낸 뒤 업스러스트성 거절 → EMA20 이탈 → 구조적 하락 연장으로 본다. 하모닉 PRZ는 pre-confirmation 상태라 WP1 선택의 단독 근거로 쓰지 않았고, 상단 WP1은 Wyckoff UT·ICT NY 고점 등 strict-tier 신호로 뒷받침했다.\",\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 62942.40,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Wyckoff(UT 후보 $62,942.40), ICT(NY 세션 고점/BSL), Harmonic(PRZ 상단 $62,954.91), Fibonacci(ext_1.618 $62,725.65 직상단)\",\n      \"description\": \"불리시 실행 셋업의 1차 목표. 전일 고점 $61,985.10 돌파와 EMA20 $61,736.99 회복 모멘텀이 고밀도 상단 반응 구간을 공격. Wyckoff UT 후보·ICT NY 고점·Harmonic PRZ 상단이 겹치는 $62,942.40~$62,954.91 유동성을 쓸어내는 업스러스트성 스윕으로, 수용 실패 시 LPSY 거절이 유력. 롱 비중 66.4% 쏠림이 거절 후 하방 플러시 연료.\",\n      \"est_hours\": 3\n    },\n    {\n      \"seq\": 2,\n      \"price\": 61736.99,\n      \"type\": \"support_test\",\n      \"source\": \"Derivatives·Candlestick·ICT(공통 EMA20 $61,736.99), ICT(전일 고점 $61,985.10), Wyckoff(~$61,800)\",\n      \"description\": \"상단 스윕 거절 후 첫 되돌림 목표. 단기 반등 유지 기준선인 EMA20 $61,736.99 및 직상단 전일 고점 $61,985.10 클러스터 재시험. 이 구간 수용 실패가 불리시 셋업 무효화와 구조적 약세 재개의 분기점.\",\n      \"est_hours\": 11\n    },\n    {\n      \"seq\": 3,\n      \"price\": 61011.20,\n      \"type\": \"support_test\",\n      \"source\": \"ICT(EQ $61,011.20), Harmonic($61,011.46), 지지 클러스터 $61,447.20\",\n      \"description\": \"EMA20 이탈 후 구조적 하락 연장. ICT EQ $61,011.20로의 정상 회귀이며, 프리미엄 구간에서 진입한 추격 롱(롱 비중 66.4%) 청산 흐름이 가속되는 구간.\",\n      \"est_hours\": 18\n    },\n    {\n      \"seq\": 4,\n      \"price\": 60146.00,\n      \"type\": \"swing_low\",\n      \"source\": \"Wyckoff(SOW_IN_PHASE_B $60,146.00), Fibonacci(golden ratio $60,224.35), Harmonic(하단 클러스터), Chairman(중간 지지 클러스터)\",\n      \"description\": \"24시간 핵심 하방 구조 목표. Wyckoff SOW·Fib 골든비율·Harmonic 하단이 겹치는 중간 지지 클러스터로, 재분배 상단 실패 시나리오의 1차 측정 목표. 이탈 시 $59,080.00 Phase E 저점 재검사로 확장.\",\n      \"est_hours\": 23\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 62942.40, \"expected_low\": 62440.67, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 62942.40, \"expected_low\": 61985.10, \"high_first\": true},\n    \"24h\": {\"expected_high\": 62942.40, \"expected_low\": 60146.00, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 63200.00, \"description\": \"$62,942.40~$62,954.91 상단 반응 구간을 수용 돌파하고 $63,200을 회복하면 업스러스트 실패 시나리오가 약화되며 EMA120 $63,804.74를 향한 상승 연장. $63,804.74 위 안착 시 구조적 전환 위험으로 경로 재평가 필요.\"},\n    \"bearish\": {\"price\": 61736.99, \"description\": \"EMA20 $61,736.99 하향 이탈 및 전일 고점 $61,985.10 수용 실패 시 불리시 셋업 무효화. 구조적 약세 가속으로 $61,011.20·$60,146.00을 향한 직진 하락.\"}\n  },\n  \"scenario_invalidation\": 63955.00\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 62942.4,
        "turning_zone": [
          62942.4,
          63150.0
        ],
        "likely_wick": 63020.0,
        "rejection_confirm": 62725.65,
        "invalid_overshoot": 63200.0,
        "calibration_reasoning": "$62,942.40~$62,954.91 유동성 클러스터(Wyckoff UT·ICT NY 고점) 위로 $63,000 라운드넘버 스톱을 쓸어내는 업스러스트를 가정해 ATR 0.40배 폭으로 존 설정; 위크는 $63,000 자석 직상단으로 편향, $63,200 챔피언 저항 수용 시 진성 돌파로 스윕 무효화(Gartley PRZ $62,697.79는 pre-confirmation이라 미반영)."
      },
      {
        "seq": 2,
        "base_target": 61736.99,
        "turning_zone": [
          61475.0,
          61736.99
        ],
        "likely_wick": 61500.0,
        "rejection_confirm": 61985.1,
        "invalid_overshoot": 61447.2,
        "calibration_reasoning": "EMA20 $61,736.99 하단의 Fib 지지 $61,475 + 챔피언 $61,447.20 유동성까지 ATR 0.50배로 존 확장하고, $61,500 라운드넘버 부근 언더컷 위크를 추정; 반등 시 전일고점 $61,985.10 재탈환이 턴 확정, $61,447.20 하회 수용 시 지지 실패로 WP3행."
      },
      {
        "seq": 3,
        "base_target": 61011.2,
        "turning_zone": [
          60800.0,
          61011.2
        ],
        "likely_wick": 60850.0,
        "rejection_confirm": 61447.2,
        "invalid_overshoot": 60701.95,
        "calibration_reasoning": "$61,011.20(≈$61,000 라운드·ICT EQ) 하회 스윕은 바로 아래 2중 Fib 컨플루언스 $60,849.68를 자석으로 작동하여 위크 $60,850 추정(ATR 0.41배); 직상단 레벨 공백으로 확정선은 깨진 $61,447.20 재탈환, $60,701.95 Fib 0.382 이탈 시 무효."
      },
      {
        "seq": 4,
        "base_target": 60146.0,
        "turning_zone": [
          59800.0,
          60146.0
        ],
        "likely_wick": 59950.0,
        "rejection_confirm": 60343.75,
        "invalid_overshoot": 59700.0,
        "calibration_reasoning": "터미널 스윙로우로 $60,146 클러스터(Wyckoff SOW·Fib·Harmonic) 하단의 $60,000 라운드넘버 자석까지 ATR 0.66배 광폭 존을 두고 서브-$60k 스톱 스윕으로 위크 $59,950 추정; $60,343.75 Fib 컨플루언스 재탈환이 바닥 확정, $59,700 하회 수용 시 $59,080 Phase E 저점으로 확장."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 62942.40,\n      \"turning_zone\": [62942.40, 63150.00],\n      \"likely_wick\": 63020.00,\n      \"rejection_confirm\": 62725.65,\n      \"invalid_overshoot\": 63200.00,\n      \"calibration_reasoning\": \"$62,942.40~$62,954.91 유동성 클러스터(Wyckoff UT·ICT NY 고점) 위로 $63,000 라운드넘버 스톱을 쓸어내는 업스러스트를 가정해 ATR 0.40배 폭으로 존 설정; 위크는 $63,000 자석 직상단으로 편향, $63,200 챔피언 저항 수용 시 진성 돌파로 스윕 무효화(Gartley PRZ $62,697.79는 pre-confirmation이라 미반영).\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 61736.99,\n      \"turning_zone\": [61475.00, 61736.99],\n      \"likely_wick\": 61500.00,\n      \"rejection_confirm\": 61985.10,\n      \"invalid_overshoot\": 61447.20,\n      \"calibration_reasoning\": \"EMA20 $61,736.99 하단의 Fib 지지 $61,475 + 챔피언 $61,447.20 유동성까지 ATR 0.50배로 존 확장하고, $61,500 라운드넘버 부근 언더컷 위크를 추정; 반등 시 전일고점 $61,985.10 재탈환이 턴 확정, $61,447.20 하회 수용 시 지지 실패로 WP3행.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 61011.20,\n      \"turning_zone\": [60800.00, 61011.20],\n      \"likely_wick\": 60850.00,\n      \"rejection_confirm\": 61447.20,\n      \"invalid_overshoot\": 60701.95,\n      \"calibration_reasoning\": \"$61,011.20(≈$61,000 라운드·ICT EQ) 하회 스윕은 바로 아래 2중 Fib 컨플루언스 $60,849.68를 자석으로 작동하여 위크 $60,850 추정(ATR 0.41배); 직상단 레벨 공백으로 확정선은 깨진 $61,447.20 재탈환, $60,701.95 Fib 0.382 이탈 시 무효.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 60146.00,\n      \"turning_zone\": [59800.00, 60146.00],\n      \"likely_wick\": 59950.00,\n      \"rejection_confirm\": 60343.75,\n      \"invalid_overshoot\": 59700.00,\n      \"calibration_reasoning\": \"터미널 스윙로우로 $60,146 클러스터(Wyckoff SOW·Fib·Harmonic) 하단의 $60,000 라운드넘버 자석까지 ATR 0.66배 광폭 존을 두고 서브-$60k 스톱 스윕으로 위크 $59,950 추정; $60,343.75 Fib 컨플루언스 재탈환이 바닥 확정, $59,700 하회 수용 시 $59,080 Phase E 저점으로 확장.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 37.6,
      "chairman": 51.8,
      "operating_path": 309.0,
      "tp_calibrator": 301.7
    },
    "agents": {},
    "total_s": 700.2
  }
}