{
  "symbol": "BTC/USDT",
  "timeframe": "1d",
  "timestamp": "2026-05-30 05:00 KST",
  "last_price": 73487.1,
  "num_candles": 300,
  "stage1_analyses": {
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $73,487.10이 상승 스윙 기준 저점 $74,868 아래에 있어 Low→High 피보나치 구조가 훼손된 상태",
        "가격이 0.786 되돌림 $76,571.59 아래에 위치해 있으며, 해당 레벨이 가장 가까운 저항으로 작동",
        "골든 포켓 0.618 되돌림 $77,908.99를 회복하지 못하고 있어 반등 시 매도 우위 구간",
        "현재가가 EMA20 $76,649.36, EMA120 $77,458.07, EMA240 $84,104.14 모두 아래에 있어 구조적 수급 약세",
        "7일 저점 $72,436.00이 하방 유동성 목표로 남아 있으며, 현재가와의 거리가 가까움"
      ],
      "reasoning": "상승 스윙 $74,868 → $82,829 기준으로 현재가 $73,487.10은 스윙 저점 자체를 하회하고 있어 단순 되돌림이 아니라 상승 피보나치 구조의 실패에 가깝습니다. 가장 가까운 피보나치 레벨은 0.786 되돌림 $76,571.59이며 현재가 대비 약 4.2% 위에 있어 즉각적인 저항으로 작동할 가능성이 큽니다. 핵심 골든 ratio 0.618 레벨 $77,908.99와 0.5 레벨 $78,848.35를 회복하기 전까지는 반등이 나오더라도 구조적으로는 약세 되돌림으로 해석됩니다. 상방 confluence는 $85,081.03 부근에 있으나 현재가와 거리가 멀고 confluence_quality가 0.600에 그쳐, 단기 신호보다는 중기 회복 목표에 가깝습니다.",
      "key_levels": {
        "support": [
          72436.0
        ],
        "resistance": [
          76571.59,
          77908.99,
          78848.35,
          79787.71,
          85081.03
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$76,571.59",
      "risk_scenario": "반대로 가격이 0.786 되돌림 $76,571.59를 일봉 종가 기준으로 회복하면 단기 약세 압력은 약화되며, 이후 $77,908.99의 0.618 골든 ratio와 $78,848.35의 0.5 되돌림까지 숏커버링성 반등이 열릴 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $74,868 → $82,829",
        "direction": "up",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 76571.59,
        "nearest_fib_distance": 4.2,
        "golden_ratio_level": 77908.99,
        "fib_ret_382": 79787.71,
        "fib_ret_618": 77908.99,
        "confluence_zones": [
          {
            "price": 85081.03,
            "count": 2,
            "levels": [
              "ext_1.272",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [],
        "resistance_levels": [
          76571.5898,
          77908.9874,
          78848.35
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 80949.97,
            "distance_pct": 10.16,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 79787.71,
            "distance_pct": 8.57,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.5",
            "price": 78848.35,
            "distance_pct": 7.3,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 77908.99,
            "distance_pct": 6.02,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 76571.59,
            "distance_pct": 4.2,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 82828.7,
            "distance_pct": 12.71,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 84994.01,
            "distance_pct": 15.66,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 86124.43,
            "distance_pct": 17.2,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.618",
            "price": 87748.41,
            "distance_pct": 19.41,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 90789.4,
            "distance_pct": 23.54,
            "is_support": false,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "distant",
        "reaction_probability": 0.25
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $73,487.10이 상승 스윙 기준 저점 $74,868 아래에 있어 Low→High 피보나치 구조가 훼손된 상태\",\n    \"가격이 0.786 되돌림 $76,571.59 아래에 위치해 있으며, 해당 레벨이 가장 가까운 저항으로 작동\",\n    \"골든 포켓 0.618 되돌림 $77,908.99를 회복하지 못하고 있어 반등 시 매도 우위 구간\",\n    \"현재가가 EMA20 $76,649.36, EMA120 $77,458.07, EMA240 $84,104.14 모두 아래에 있어 구조적 수급 약세\",\n    \"7일 저점 $72,436.00이 하방 유동성 목표로 남아 있으며, 현재가와의 거리가 가까움\"\n  ],\n  \"reasoning\": \"상승 스윙 $74,868 → $82,829 기준으로 현재가 $73,487.10은 스윙 저점 자체를 하회하고 있어 단순 되돌림이 아니라 상승 피보나치 구조의 실패에 가깝습니다. 가장 가까운 피보나치 레벨은 0.786 되돌림 $76,571.59이며 현재가 대비 약 4.2% 위에 있어 즉각적인 저항으로 작동할 가능성이 큽니다. 핵심 골든 ratio 0.618 레벨 $77,908.99와 0.5 레벨 $78,848.35를 회복하기 전까지는 반등이 나오더라도 구조적으로는 약세 되돌림으로 해석됩니다. 상방 confluence는 $85,081.03 부근에 있으나 현재가와 거리가 멀고 confluence_quality가 0.600에 그쳐, 단기 신호보다는 중기 회복 목표에 가깝습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      72436.0\n    ],\n    \"resistance\": [\n      76571.59,\n      77908.99,\n      78848.35,\n      79787.71,\n      85081.03\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$76,571.59\",\n  \"risk_scenario\": \"반대로 가격이 0.786 되돌림 $76,571.59를 일봉 종가 기준으로 회복하면 단기 약세 압력은 약화되며, 이후 $77,908.99의 0.618 골든 ratio와 $78,848.35의 0.5 되돌림까지 숏커버링성 반등이 열릴 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.68,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.78,
      "setup_signals": [
        "가격 $73,487.10이 EMA20 $76,649.36 아래 -4.1%, EMA120 $77,458.07 아래 -5.1%에 위치해 하방 구조 수용 상태",
        "24시간 OI가 +5.4020% 증가했지만 가격은 -0.14%로 약세이며, 신규 포지션 유입이 상승 추세를 만들지 못함",
        "CVD 변화 -4195.2300으로 매수 체결 참여가 약하고, cvd_divergence 0.300으로 가격 회복 신뢰도가 낮음",
        "롱 계정 비율 0.639, 숏 계정 비율 0.361로 롱 쏠림이 강하며 account_long_crowding 1.000은 반대매매 리스크를 시사",
        "가장 강한 청산 유동성 레벨이 현재가 바로 아래 $72,900에 있으며, 추가 하방 유동성은 $69,300에 존재",
        "상방 청산 클러스터는 $75,100, $75,900, $76,600에 있지만 EMA20 $76,649.36과 겹쳐 강한 저항대로 작동 가능"
      ],
      "reasoning": "현재 BTC는 $73,487.10으로 EMA20 $76,649.36, EMA120 $77,458.07, EMA240 $84,104.14 모두 아래에 있어 확인된 구조는 약세로 판단한다. 파생 포지셔닝은 24시간 OI +5.4020% 증가에도 가격이 -0.14%에 그쳤고 CVD가 -4195.2300으로 감소해, 신규 포지션이 상승보다 하방 압력 또는 롱 포지션 취약성으로 해석된다. 롱 계정 비율이 0.639까지 상승하고 account_long_crowding이 1.000인 점은 롱 과밀 상태이며, 현재가 아래 $72,900 청산 풀이 가장 강해 단기적으로 해당 유동성 테스트 가능성이 높다. 다만 $75,100~$76,600 상방 청산 구간이 남아 있어 숏 스퀴즈성 반등은 가능하지만, $76,650 부근 EMA20 회복 전까지는 반등 매도 우위로 본다.",
      "key_levels": {
        "support": [
          72900,
          72436,
          69300
        ],
        "resistance": [
          75100,
          75900,
          76600,
          76649.36,
          78077.1
        ]
      },
      "time_horizon": "short term, 파생 데이터 선행성을 감안한 4-8시간 우선 시나리오",
      "invalidation_level": "$76,650 상향 안착",
      "risk_scenario": "반대 시나리오는 $75,100, $75,900, $76,600 상방 청산 클러스터를 연속적으로 흡수하는 숏 스퀴즈다. 이 경우 EMA20 $76,649.36을 회복하면 하방 포지셔닝 우위가 무효화되고, 7일 고점 $78,077.10 재테스트까지 반등이 확장될 수 있다.",
      "data_quality": "high",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -4195.23,
        "oi_trend": 1.0,
        "oi_change_pct_24h": 5.402,
        "oi_latest": 106587.989,
        "funding_pressure": 0.421,
        "funding_avg": 7.851e-05,
        "funding_change_24h": -3.298e-05,
        "long_account_ratio": 0.632,
        "short_account_ratio": 0.368,
        "long_account_latest": 0.639,
        "short_account_latest": 0.361,
        "long_account_change_24h": 0.0127,
        "short_account_change_24h": -0.0127,
        "account_flow_label": "long_accounts_rising_short_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.489,
        "spot_futures_basis_pct": -0.0451,
        "basis_change_lookback": 0.0247,
        "aggregate_score": 0.442,
        "bull_signals": 1,
        "bear_signals": 3,
        "liq_below": [
          [
            72900,
            117749.63923615
          ],
          [
            69300,
            86418.22137325001
          ]
        ],
        "liq_above": [
          [
            75100,
            86954.06288074999
          ],
          [
            75900,
            93906.0945186
          ],
          [
            76600,
            87450.69427045001
          ]
        ],
        "strongest_liq_level": 72900,
        "fragility_score": 0.855,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.68,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.78,\n  \"setup_signals\": [\n    \"가격 $73,487.10이 EMA20 $76,649.36 아래 -4.1%, EMA120 $77,458.07 아래 -5.1%에 위치해 하방 구조 수용 상태\",\n    \"24시간 OI가 +5.4020% 증가했지만 가격은 -0.14%로 약세이며, 신규 포지션 유입이 상승 추세를 만들지 못함\",\n    \"CVD 변화 -4195.2300으로 매수 체결 참여가 약하고, cvd_divergence 0.300으로 가격 회복 신뢰도가 낮음\",\n    \"롱 계정 비율 0.639, 숏 계정 비율 0.361로 롱 쏠림이 강하며 account_long_crowding 1.000은 반대매매 리스크를 시사\",\n    \"가장 강한 청산 유동성 레벨이 현재가 바로 아래 $72,900에 있으며, 추가 하방 유동성은 $69,300에 존재\",\n    \"상방 청산 클러스터는 $75,100, $75,900, $76,600에 있지만 EMA20 $76,649.36과 겹쳐 강한 저항대로 작동 가능\"\n  ],\n  \"reasoning\": \"현재 BTC는 $73,487.10으로 EMA20 $76,649.36, EMA120 $77,458.07, EMA240 $84,104.14 모두 아래에 있어 확인된 구조는 약세로 판단한다. 파생 포지셔닝은 24시간 OI +5.4020% 증가에도 가격이 -0.14%에 그쳤고 CVD가 -4195.2300으로 감소해, 신규 포지션이 상승보다 하방 압력 또는 롱 포지션 취약성으로 해석된다. 롱 계정 비율이 0.639까지 상승하고 account_long_crowding이 1.000인 점은 롱 과밀 상태이며, 현재가 아래 $72,900 청산 풀이 가장 강해 단기적으로 해당 유동성 테스트 가능성이 높다. 다만 $75,100~$76,600 상방 청산 구간이 남아 있어 숏 스퀴즈성 반등은 가능하지만, $76,650 부근 EMA20 회복 전까지는 반등 매도 우위로 본다.\",\n  \"key_levels\": {\n    \"support\": [\n      72900,\n      72436,\n      69300\n    ],\n    \"resistance\": [\n      75100,\n      75900,\n      76600,\n      76649.36,\n      78077.1\n    ]\n  },\n  \"time_horizon\": \"short term, 파생 데이터 선행성을 감안한 4-8시간 우선 시나리오\",\n  \"invalidation_level\": \"$76,650 상향 안착\",\n  \"risk_scenario\": \"반대 시나리오는 $75,100, $75,900, $76,600 상방 청산 클러스터를 연속적으로 흡수하는 숏 스퀴즈다. 이 경우 EMA20 $76,649.36을 회복하면 하방 포지셔닝 우위가 무효화되고, 7일 고점 $78,077.10 재테스트까지 반등이 확장될 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "neutral",
      "confidence": 0.66,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "현재가 $73,487.10이 메인 레인지 하단 SC $80,600.00 아래에 있어 Phase D SOS 이후 수요 유지가 약함",
        "TERMINAL_SPRING 기준가 $74,868.00을 재이탈하여 단기적으로 스프링 테스트 실패/재시험 위험이 존재",
        "SOS 고점 $82,828.70 이후 수용 실패로 $80,600.00~$82,828.70 구간이 즉각적인 재클레임 저항대로 전환",
        "7일 저점 $72,436.00이 근접 지지이며, 이탈 시 기존 Spring 저점 $65,595.70 재시험 가능성 증가",
        "현재가가 EMA20 $76,649.36, EMA120 $77,458.07, EMA240 $84,104.14 아래에 있어 단기 반등보다 공급 테스트가 우선"
      ],
      "reasoning": "지표상 regime은 ACC, regime_state는 confirmed_acc이며 acc_score 92.5와 regime_fitness 0.925로 구조적 해석은 축적 우위입니다. 이벤트 체인은 SC $80,600.00 → AR $93,080.00 → ST $84,408.60 → Spring $65,595.70 → TERMINAL_SPRING $74,868.00 → SOS $82,828.70로 Phase D까지 진행된 것으로 표시됩니다. 다만 현재가 $73,487.10은 메인 레인지 하단 $80,600.00과 TERMINAL_SPRING $74,868.00 아래에 있어, SOS 이후 LPS가 확인된 상태라기보다 수요 재검증 구간으로 보는 것이 더 적절합니다. 따라서 구조_bias는 bullish로 유지하지만, 즉각 경로는 $72,436.00 및 최악의 경우 Spring 저점 $65,595.70 재시험을 먼저 열어두는 bearish setup입니다.",
      "key_levels": {
        "support": [
          72436.0,
          65595.7
        ],
        "resistance": [
          74868.0,
          80600.0,
          82828.7,
          93080.0
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$65,595.70",
      "risk_scenario": "가격이 $74,868.00을 빠르게 회복하고, 이어서 $80,600.00 및 SOS 고점 $82,828.70 위에서 일봉 수용을 만들면 현재의 단기 약세 setup은 무효화되고 Phase D 내 LPS 재형성 시나리오가 우세해집니다. 반대로 $72,436.00을 이탈하면 기존 Spring $65,595.70까지 재시험하는 깊은 흔들기가 진행될 수 있으며, $65,595.70 하방 이탈은 confirmed_acc 구조 자체를 훼손합니다.",
      "data_quality": "medium",
      "metrics": {
        "acc_score": 92.5,
        "dis_score": 81.2,
        "regime": "ACC",
        "regime_state": "confirmed_acc",
        "structure_bias": "bullish",
        "phase_context": "confirmed_acc / accumulation / Phase D",
        "phases_detected": [
          "SC",
          "AR",
          "ST",
          "Spring",
          "TERMINAL_SPRING",
          "SOS"
        ],
        "last_phase": "SOS",
        "phase_candidates": [
          {
            "label": "SC",
            "side": "low",
            "idx": 110,
            "price": 80600.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 117,
            "price": 93080.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 137,
            "price": 84408.6,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 200,
            "price": 65595.7,
            "color": "#f9844a"
          },
          {
            "label": "TERMINAL_SPRING",
            "side": "low",
            "idx": 269,
            "price": 74868.0,
            "color": "#f3722c"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 276,
            "price": 82828.7,
            "color": "#06d6a0"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "1d_cycle_1",
            "sequence": 1,
            "timeframe": "1d",
            "regime": "accumulation",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 110,
            "end_idx": 276,
            "phase_count": 6,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 110,
                "price": 80600.0,
                "color": "#ffd166",
                "dt": "2025-11-21 09:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 117,
                "price": 93080.0,
                "color": "#06d6a0",
                "dt": "2025-11-28 09:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 137,
                "price": 84408.6,
                "color": "#118ab2",
                "dt": "2025-12-18 09:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 200,
                "price": 65595.7,
                "color": "#f9844a",
                "dt": "2026-02-19 09:00:00+09:00"
              },
              {
                "label": "TERMINAL_SPRING",
                "side": "low",
                "idx": 269,
                "price": 74868.0,
                "color": "#f3722c",
                "dt": "2026-04-29 09:00:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 276,
                "price": 82828.7,
                "color": "#06d6a0",
                "dt": "2026-05-06 09:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "1d_cycle_1",
        "primary_structure_id": "1d_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.9249999999999999,
        "current_event": "SOS",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 80600.0,
        "main_range_high": 93080.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.66,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"현재가 $73,487.10이 메인 레인지 하단 SC $80,600.00 아래에 있어 Phase D SOS 이후 수요 유지가 약함\",\n    \"TERMINAL_SPRING 기준가 $74,868.00을 재이탈하여 단기적으로 스프링 테스트 실패/재시험 위험이 존재\",\n    \"SOS 고점 $82,828.70 이후 수용 실패로 $80,600.00~$82,828.70 구간이 즉각적인 재클레임 저항대로 전환\",\n    \"7일 저점 $72,436.00이 근접 지지이며, 이탈 시 기존 Spring 저점 $65,595.70 재시험 가능성 증가\",\n    \"현재가가 EMA20 $76,649.36, EMA120 $77,458.07, EMA240 $84,104.14 아래에 있어 단기 반등보다 공급 테스트가 우선\"\n  ],\n  \"reasoning\": \"지표상 regime은 ACC, regime_state는 confirmed_acc이며 acc_score 92.5와 regime_fitness 0.925로 구조적 해석은 축적 우위입니다. 이벤트 체인은 SC $80,600.00 → AR $93,080.00 → ST $84,408.60 → Spring $65,595.70 → TERMINAL_SPRING $74,868.00 → SOS $82,828.70로 Phase D까지 진행된 것으로 표시됩니다. 다만 현재가 $73,487.10은 메인 레인지 하단 $80,600.00과 TERMINAL_SPRING $74,868.00 아래에 있어, SOS 이후 LPS가 확인된 상태라기보다 수요 재검증 구간으로 보는 것이 더 적절합니다. 따라서 구조_bias는 bullish로 유지하지만, 즉각 경로는 $72,436.00 및 최악의 경우 Spring 저점 $65,595.70 재시험을 먼저 열어두는 bearish setup입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      72436.0,\n      65595.7\n    ],\n    \"resistance\": [\n      74868.0,\n      80600.0,\n      82828.7,\n      93080.0\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$65,595.70\",\n  \"risk_scenario\": \"가격이 $74,868.00을 빠르게 회복하고, 이어서 $80,600.00 및 SOS 고점 $82,828.70 위에서 일봉 수용을 만들면 현재의 단기 약세 setup은 무효화되고 Phase D 내 LPS 재형성 시나리오가 우세해집니다. 반대로 $72,436.00을 이탈하면 기존 Spring $65,595.70까지 재시험하는 깊은 흔들기가 진행될 수 있으며, $65,595.70 하방 이탈은 confirmed_acc 구조 자체를 훼손합니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $73,487.10가 7일 범위 EQ $75,256.55 아래의 디스카운트 구간에 위치하지만, 반등이 EMA20 $76,649.36 및 EMA120 $77,458.07 아래에서 막히는 구조",
        "최근 bearish_engulfing@292, evening_star@292, bearish_engulfing@296 출현으로 $76,649.36~$78,077.10 구간이 단기 공급대로 작동",
        "최근 5개 일봉 흐름이 +0.3% 이후 -1.8%, -2.0%, -1.1%, -0.1%로 매도 압력이 연속 우위",
        "현재가가 EMA20 $76,649.36 대비 -4.1%, EMA120 $77,458.07 대비 -5.1%, EMA240 $84,104.14 대비 -12.6% 아래에 있어 상위 추세 저항이 겹침",
        "마지막 doji@299는 $72,436.00 7일 저점 근처에서 단기 멈춤 신호이나, 고거래량 패턴이 없어 반전 확정 신호는 약함"
      ],
      "reasoning": "일봉 구조는 현재가 $73,487.10가 EMA20 $76,649.36, EMA120 $77,458.07, EMA240 $84,104.14를 모두 하회하고 있어 확인된 약세 구조로 해석한다. 최근 패턴은 evening_star와 bearish_engulfing이 반복되었고 bear_score 2.3000, bull_score 0으로 캔들 신호 역시 매도 쪽이 우세하다. 다만 best_pattern_quality가 0.507에 그치고 high_volume_patterns가 없기 때문에 강한 붕괴 확정이라기보다는 약세 지속 우위의 후보 신호로 봐야 한다. 단기적으로는 7일 저점 $72,436.00 이탈 여부가 핵심이며, 반대로 $78,077.10을 회복하면 최근 약세 캔들 구조가 무효화될 수 있다.",
      "key_levels": {
        "support": [
          72436.0,
          71481.96
        ],
        "resistance": [
          75256.55,
          76649.36,
          77458.07,
          78077.1,
          84104.14
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$78,077.10 일봉 종가 회복",
      "risk_scenario": "$72,436.00 7일 저점을 지키고 doji@299가 단기 흡수 캔들로 확인될 경우, 숏 커버링이 발생하며 7일 EQ $75,256.55와 EMA20 $76,649.36까지 반등할 수 있다. 특히 $78,077.10을 일봉 종가로 돌파하면 bearish_engulfing 및 evening_star 기반의 약세 셋업은 무효화된다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 134,
        "recent_patterns": 5,
        "pattern_list": [
          "bearish_engulfing@292",
          "bearish_engulfing@296",
          "evening_star@292",
          "doji@291",
          "doji@299"
        ],
        "atr_value": 2005.14,
        "vol_avg_20": 127207.18,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "evening_star",
            "signal": "bearish",
            "pattern_quality": 0.507,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.496,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.482,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.507,
        "bull_score": 0,
        "bear_score": 2.3
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $73,487.10가 7일 범위 EQ $75,256.55 아래의 디스카운트 구간에 위치하지만, 반등이 EMA20 $76,649.36 및 EMA120 $77,458.07 아래에서 막히는 구조\",\n    \"최근 bearish_engulfing@292, evening_star@292, bearish_engulfing@296 출현으로 $76,649.36~$78,077.10 구간이 단기 공급대로 작동\",\n    \"최근 5개 일봉 흐름이 +0.3% 이후 -1.8%, -2.0%, -1.1%, -0.1%로 매도 압력이 연속 우위\",\n    \"현재가가 EMA20 $76,649.36 대비 -4.1%, EMA120 $77,458.07 대비 -5.1%, EMA240 $84,104.14 대비 -12.6% 아래에 있어 상위 추세 저항이 겹침\",\n    \"마지막 doji@299는 $72,436.00 7일 저점 근처에서 단기 멈춤 신호이나, 고거래량 패턴이 없어 반전 확정 신호는 약함\"\n  ],\n  \"reasoning\": \"일봉 구조는 현재가 $73,487.10가 EMA20 $76,649.36, EMA120 $77,458.07, EMA240 $84,104.14를 모두 하회하고 있어 확인된 약세 구조로 해석한다. 최근 패턴은 evening_star와 bearish_engulfing이 반복되었고 bear_score 2.3000, bull_score 0으로 캔들 신호 역시 매도 쪽이 우세하다. 다만 best_pattern_quality가 0.507에 그치고 high_volume_patterns가 없기 때문에 강한 붕괴 확정이라기보다는 약세 지속 우위의 후보 신호로 봐야 한다. 단기적으로는 7일 저점 $72,436.00 이탈 여부가 핵심이며, 반대로 $78,077.10을 회복하면 최근 약세 캔들 구조가 무효화될 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      72436.0,\n      71481.96\n    ],\n    \"resistance\": [\n      75256.55,\n      76649.36,\n      77458.07,\n      78077.1,\n      84104.14\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$78,077.10 일봉 종가 회복\",\n  \"risk_scenario\": \"$72,436.00 7일 저점을 지키고 doji@299가 단기 흡수 캔들로 확인될 경우, 숏 커버링이 발생하며 7일 EQ $75,256.55와 EMA20 $76,649.36까지 반등할 수 있다. 특히 $78,077.10을 일봉 종가로 돌파하면 bearish_engulfing 및 evening_star 기반의 약세 셋업은 무효화된다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "neutral",
      "confidence": 0.52,
      "structure_bias": "neutral",
      "setup_bias": "neutral",
      "setup_score": 0.35,
      "setup_signals": [
        "현재가 $73,487.10는 EQ $76,643.45 아래의 discount 구간에 위치하여 저가 매수 조건은 일부 존재",
        "전일 저가 $72,556.00가 이미 이탈되었으나, recent_liq_sweeps가 비어 있어 확정적 sell-side liquidity sweep으로 판정하기는 부족",
        "현재가가 최근 bullish BOS 레벨 $75,998.90 아래에 있어 상승 구조의 즉시 지속성은 약화",
        "EMA20 $76,649.36, EMA120 $77,458.07, EMA240 $84,104.14 모두 현재가 위에 있어 상방 회복 전까지 공급 우위",
        "활성 OB 0개, 미충족 FVG 0개로 기관 주문흐름 기반의 명확한 미티게이션 타깃이 부재"
      ],
      "reasoning": "확정 구조 관점에서는 마지막 이벤트가 $75,998.90 상방 bullish BOS였지만, 현재가 $73,487.10가 해당 레벨과 EQ $76,643.45 아래에 머물러 있어 bullish continuation을 확정하기 어렵다. 동시에 최근 시퀀스가 BOS_bullish, CHoCH_bearish, BOS_bearish, BOS_bullish, CHoCH_bearish, BOS_bullish로 혼재되어 있으며, bull_score 7.5와 bear_score 7.7도 거의 균형이라 구조_bias는 중립으로 보는 것이 합리적이다. 셋업 관점에서는 price가 discount에 있고 전일 저가 $72,556.00 아래 유동성이 일부 제거된 점은 반등 후보지만, recent_liq_sweeps, 활성 OB, 미충족 FVG가 모두 없어 확정 전 매수 셋업 강도는 낮다. 단기적으로 $76,643.45 EQ와 EMA20 $76,649.36 회복 전에는 상방 추격보다 $70,458.20 range low와 $72,556.00 전일 저가 재테스트 반응을 확인하는 구간이다.",
      "key_levels": {
        "support": [
          72556.0,
          70458.2
        ],
        "resistance": [
          74565.3,
          75998.9,
          76643.45,
          76649.36,
          77458.07,
          82828.7
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$70,458.20 하향 일봉 종가 이탈 또는 $76,643.45 상향 일봉 안착",
      "risk_scenario": "$76,643.45 EQ와 EMA20 $76,649.36을 강하게 회복하면 discount 구간에서의 sell-side liquidity 흡수 후 반등 시나리오가 활성화되며, $77,458.07 EMA120과 range high $82,828.70까지 숏 커버링이 발생할 수 있다. 반대로 $70,458.20 range low를 일봉 종가로 이탈하면 현재의 중립 구조는 약세 재분배로 기울며, 하방 유동성 확장이 우선된다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 0,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": null,
        "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": 67,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 117875.2
          },
          {
            "type": "CHoCH_bearish",
            "level": 108566.0
          },
          {
            "type": "BOS_bearish",
            "level": 101516.5
          },
          {
            "type": "BOS_bullish",
            "level": 94555.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 84408.6
          },
          {
            "type": "BOS_bullish",
            "level": 75998.9
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish"
        ],
        "consecutive_bull_bos": 1,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "discount",
        "eq_level": 76643.45,
        "range_high": 82828.7,
        "range_low": 70458.2,
        "bull_score": 7.5,
        "bear_score": 7.7,
        "setup_bias": "neutral",
        "setup_score": 0.35,
        "setup_signals": [
          "bullish BOS above $117,875.20",
          "bullish BOS above $94,555.00",
          "bearish CHoCH below $108,566.00",
          "bearish BOS below $101,516.50"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 57.4,
        "deepest_retracement_pct": 57.4,
        "previous_day_high": 74565.3,
        "previous_day_low": 72556.0,
        "broken_prev_high": false,
        "broken_prev_low": true,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.52,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.35,\n  \"setup_signals\": [\n    \"현재가 $73,487.10는 EQ $76,643.45 아래의 discount 구간에 위치하여 저가 매수 조건은 일부 존재\",\n    \"전일 저가 $72,556.00가 이미 이탈되었으나, recent_liq_sweeps가 비어 있어 확정적 sell-side liquidity sweep으로 판정하기는 부족\",\n    \"현재가가 최근 bullish BOS 레벨 $75,998.90 아래에 있어 상승 구조의 즉시 지속성은 약화\",\n    \"EMA20 $76,649.36, EMA120 $77,458.07, EMA240 $84,104.14 모두 현재가 위에 있어 상방 회복 전까지 공급 우위\",\n    \"활성 OB 0개, 미충족 FVG 0개로 기관 주문흐름 기반의 명확한 미티게이션 타깃이 부재\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 마지막 이벤트가 $75,998.90 상방 bullish BOS였지만, 현재가 $73,487.10가 해당 레벨과 EQ $76,643.45 아래에 머물러 있어 bullish continuation을 확정하기 어렵다. 동시에 최근 시퀀스가 BOS_bullish, CHoCH_bearish, BOS_bearish, BOS_bullish, CHoCH_bearish, BOS_bullish로 혼재되어 있으며, bull_score 7.5와 bear_score 7.7도 거의 균형이라 구조_bias는 중립으로 보는 것이 합리적이다. 셋업 관점에서는 price가 discount에 있고 전일 저가 $72,556.00 아래 유동성이 일부 제거된 점은 반등 후보지만, recent_liq_sweeps, 활성 OB, 미충족 FVG가 모두 없어 확정 전 매수 셋업 강도는 낮다. 단기적으로 $76,643.45 EQ와 EMA20 $76,649.36 회복 전에는 상방 추격보다 $70,458.20 range low와 $72,556.00 전일 저가 재테스트 반응을 확인하는 구간이다.\",\n  \"key_levels\": {\n    \"support\": [\n      72556.0,\n      70458.2\n    ],\n    \"resistance\": [\n      74565.3,\n      75998.9,\n      76643.45,\n      76649.36,\n      77458.07,\n      82828.7\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$70,458.20 하향 일봉 종가 이탈 또는 $76,643.45 상향 일봉 안착\",\n  \"risk_scenario\": \"$76,643.45 EQ와 EMA20 $76,649.36을 강하게 회복하면 discount 구간에서의 sell-side liquidity 흡수 후 반등 시나리오가 활성화되며, $77,458.07 EMA120과 range high $82,828.70까지 숏 커버링이 발생할 수 있다. 반대로 $70,458.20 range low를 일봉 종가로 이탈하면 현재의 중립 구조는 약세 재분배로 기울며, 하방 유동성 확장이 우선된다.\",\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.35,
      "setup_signals": [
        "현재가 $73,487.10이 최근 활성 PRZ 클러스터 근처에 위치: 최근접 PRZ $73,540.20까지 약 0.07%",
        "엄격 등급 bullish Butterfly 형성 PRZ $72,028.16-$73,568.72에 가격이 진입/접촉 중이나 아직 반응 확인 없음",
        "엄격 등급 bullish Bat 형성 PRZ $72,805.73-$73,569.14도 현재가와 중첩되어 단기 반등 후보 구간 형성",
        "최고 council PRZ는 strict/high bullish Gartley $74,555.09-$75,827.23이며 XAD·BC_EXT·ABCD 3중 Fib confluence를 보유하지만 현재가 대비 +2.32% 위에 있어 아직 미확인",
        "confirmed_reaction_prz_count가 0이고 validated_harmonic_tp_count도 0이므로 PRZ는 구조 전환 신호가 아니라 사전 반응 후보에 한정"
      ],
      "reasoning": "일봉 기준 현재가 $73,487.10은 최근접 PRZ $73,540.20과 거의 동일한 위치에 있으며, strict/medium bullish Butterfly PRZ $72,028.16-$73,568.72 및 bullish Bat PRZ $72,805.73-$73,569.14와 겹쳐 단기 반등 셋업은 존재한다. 다만 핵심 council PRZ는 strict/high bullish Gartley $74,555.09-$75,827.23로 현재가보다 위에 있고, 아직 PRZ 터치 후 리젝션·스윕 후 리클레임·15m/1h MSS·CVD/OI 확인이 없어 directional_vote_weight는 0.35의 사전 후보 수준에 불과하다. completed 패턴 98개 중 확인 반응 PRZ가 0개이며, 실행 준비도도 watch이므로 하모닉 단독으로 bullish 전환을 선언할 수 없다. 가격이 $73,568-$73,620 상단을 회복하고 $74,555-$75,827 Gartley PRZ를 지지성으로 방어하면 TP 후보는 $76,819.95, $77,826.21, $79,455.00 순으로 열린다.",
      "key_levels": {
        "support": [
          73540.2,
          72805.73,
          72028.16,
          71442.07,
          71217.64
        ],
        "resistance": [
          73568.72,
          74555.09,
          75191.16,
          75827.23,
          76649.36,
          77826.21,
          79455.0
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$72,028.16",
      "risk_scenario": "가격이 $72,028.16 아래로 일봉 종가 이탈하고 $71,442.07-$71,596.44 하단 PRZ까지 방어하지 못하면 현재 bullish 반등 셋업은 실패하며, bearish Butterfly/Gartley 하방 TP 맥락인 $68,741.91-$66,541.38 또는 $64,918.20 방향의 재평가가 필요하다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 261,
        "completed_patterns_found": 98,
        "forming_d_prz_found": 163,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 59,
        "swing_highs_scanned": 30,
        "swing_lows_scanned": 29,
        "timeframe": "1d",
        "prz_active_threshold_pct": 1.0,
        "prz_nearby_threshold_pct": 2.0,
        "prz_watch_threshold_pct": 4.0,
        "prz_max_width_pct": 1.8,
        "quality_counts": {
          "high": 3,
          "medium": 72,
          "low": 186
        },
        "prz_status_counts": {
          "active": 42,
          "nearby": 10,
          "watch": 35,
          "far": 174,
          "forming": 114
        },
        "high_confluence_prz_count": 21,
        "strict_patterns_found": 67,
        "candidate_patterns_found": 194,
        "active_patterns_at_prz": 42,
        "nearby_patterns": 10,
        "all_patterns": [
          "butterfly",
          "butterfly",
          "gartley",
          "gartley",
          "gartley",
          "shark",
          "crab",
          "bat",
          "butterfly",
          "bat",
          "butterfly",
          "butterfly",
          "bat",
          "shark",
          "bat",
          "shark",
          "butterfly",
          "bat",
          "bat",
          "crab",
          "bat",
          "bat",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "shark",
          "bat",
          "bat",
          "crab",
          "shark",
          "crab",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "butterfly",
          "gartley",
          "bat",
          "gartley",
          "gartley",
          "bat",
          "crab",
          "gartley",
          "shark",
          "butterfly",
          "butterfly",
          "bat",
          "shark",
          "butterfly",
          "butterfly",
          "bat",
          "bat",
          "shark",
          "crab",
          "gartley",
          "shark",
          "bat",
          "crab",
          "crab",
          "gartley",
          "shark",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "butterfly",
          "bat",
          "crab",
          "crab",
          "shark",
          "bat",
          "gartley",
          "shark",
          "butterfly",
          "butterfly",
          "shark",
          "butterfly",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "gartley",
          "shark",
          "shark",
          "bat",
          "butterfly",
          "bat",
          "bat",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "bat",
          "crab",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "bat",
          "crab",
          "gartley",
          "shark",
          "shark",
          "butterfly",
          "bat",
          "crab",
          "gartley",
          "shark",
          "bat",
          "shark",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "bat",
          "bat",
          "bat",
          "bat",
          "bat",
          "shark",
          "bat",
          "butterfly",
          "bat",
          "bat",
          "crab",
          "crab",
          "crab",
          "gartley",
          "bat",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "shark",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "crab",
          "bat",
          "crab",
          "bat",
          "bat",
          "gartley",
          "bat",
          "bat",
          "bat",
          "crab",
          "shark",
          "bat",
          "bat",
          "crab",
          "crab",
          "shark",
          "gartley",
          "shark",
          "butterfly",
          "gartley",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "bat",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "butterfly",
          "gartley",
          "bat",
          "bat",
          "butterfly",
          "butterfly",
          "butterfly",
          "butterfly",
          "butterfly",
          "shark",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "shark",
          "gartley",
          "crab",
          "shark",
          "bat",
          "bat",
          "bat",
          "shark",
          "butterfly",
          "shark",
          "bat",
          "bat",
          "shark",
          "gartley",
          "crab",
          "gartley",
          "shark",
          "butterfly",
          "bat",
          "crab",
          "crab",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "shark",
          "bat",
          "gartley",
          "crab",
          "bat",
          "shark",
          "butterfly",
          "shark",
          "gartley",
          "butterfly",
          "shark",
          "crab",
          "shark",
          "gartley",
          "shark",
          "shark",
          "butterfly",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "butterfly",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.933,
        "best_completion_status": "forming",
        "nearest_pattern": "crab",
        "nearest_prz": 73540.2,
        "price_to_prz": 0.07,
        "prz_range": [
          73460.78,
          73619.62
        ],
        "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.881,
            "ratio_score": 0.862,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75191.16,
            "prz_range": [
              74555.09,
              75827.23
            ],
            "prz_width_pct": 1.692,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.32,
            "price_to_prz_pct_raw": 2.3189,
            "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": 75191.16,
              "a_price": 79455.0,
              "tp1_ad_382": 76819.95,
              "tp2_ad_618": 77826.21,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5947,
              "ABC": 0.5995
            },
            "x_price": 73669.0,
            "x_idx": 260,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 267,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 288,
            "b_order": 3,
            "c_price": 78077.1,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.933,
            "ratio_score": 0.968,
            "prz_score": 0.959,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 72798.44,
            "prz_range": [
              72028.16,
              73568.72
            ],
            "prz_width_pct": 2.116,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.94,
            "price_to_prz_pct_raw": -0.9371,
            "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": 72798.44,
              "a_price": 79455.0,
              "tp1_ad_382": 75341.25,
              "tp2_ad_618": 76912.19,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7928,
              "ABC": 0.6996
            },
            "x_price": 73669.0,
            "x_idx": 260,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 267,
            "a_order": 5,
            "b_price": 74868.0,
            "b_idx": 269,
            "b_order": 5,
            "c_price": 78077.1,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.905,
            "ratio_score": 0.969,
            "prz_score": 0.924,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 72303.79,
            "prz_range": [
              71442.07,
              73165.52
            ],
            "prz_width_pct": 2.384,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.61,
            "price_to_prz_pct_raw": -1.6102,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 72303.79,
              "a_price": 62979.5,
              "tp1_ad_382": 68741.91,
              "tp2_ad_618": 66541.38,
              "tp3_a_or_structure_liquidity": 62979.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7926,
              "ABC": 0.5725
            },
            "x_price": 70938.5,
            "x_idx": 196,
            "x_order": 5,
            "a_price": 62979.5,
            "a_idx": 209,
            "a_order": 3,
            "b_price": 69288.0,
            "b_idx": 241,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 242,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.861,
            "ratio_score": 0.994,
            "prz_score": 0.882,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 70638.85,
            "prz_range": [
              69681.26,
              71596.44
            ],
            "prz_width_pct": 2.711,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -3.88,
            "price_to_prz_pct_raw": -3.8758,
            "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": 70638.85,
              "a_price": 64918.2,
              "tp1_ad_382": 68453.56,
              "tp2_ad_618": 67103.49,
              "tp3_a_or_structure_liquidity": 64918.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6171,
              "ABC": 0.8266
            },
            "x_price": 71999.9,
            "x_idx": 234,
            "x_order": 5,
            "a_price": 64918.2,
            "a_idx": 238,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 241,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 242,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.791,
            "ratio_score": 0.515,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 72879.47,
            "prz_range": [
              72436.79,
              73322.15
            ],
            "prz_width_pct": 1.215,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.83,
            "price_to_prz_pct_raw": -0.8269,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 72879.47,
              "a_price": 62401.7,
              "tp1_ad_382": 68876.96,
              "tp2_ad_618": 66404.21,
              "tp3_a_or_structure_liquidity": 62401.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8899,
              "ABC": 0.6688
            },
            "x_price": 70938.5,
            "x_idx": 196,
            "x_order": 5,
            "a_price": 62401.7,
            "a_idx": 205,
            "a_order": 8,
            "b_price": 69999.0,
            "b_idx": 206,
            "b_order": 3,
            "c_price": 64918.2,
            "c_idx": 238,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.71,
            "ratio_score": 0.392,
            "prz_score": 0.986,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 71902.62,
            "prz_range": [
              71217.64,
              72587.59
            ],
            "prz_width_pct": 1.905,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.16,
            "price_to_prz_pct_raw": -2.1561,
            "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": 71902.62,
              "a_price": 82460.5,
              "tp1_ad_382": 75935.73,
              "tp2_ad_618": 78427.39,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7332,
              "ABC": 0.336
            },
            "x_price": 73669.0,
            "x_idx": 260,
            "x_order": 3,
            "a_price": 82460.5,
            "a_idx": 280,
            "a_order": 3,
            "b_price": 76014.2,
            "b_idx": 288,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.655,
            "ratio_score": 0.366,
            "prz_score": 0.983,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 71999.9,
            "prz_range": [
              71921.47,
              73321.87
            ],
            "prz_width_pct": 1.928,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.18,
            "price_to_prz_pct_raw": -1.1777,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.738,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 72621.67,
              "a_price": 62401.7,
              "tp1_ad_382": 68717.64,
              "tp2_ad_618": 66305.73,
              "tp3_a_or_structure_liquidity": 62401.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8899,
              "ABC": 0.5831,
              "BCD": 1.4517,
              "XAD": 1.1243
            },
            "x_price": 70938.5,
            "x_idx": 196,
            "x_order": 5,
            "a_price": 62401.7,
            "a_idx": 205,
            "a_order": 8,
            "b_price": 69999.0,
            "b_idx": 206,
            "b_order": 3,
            "c_price": 65569.2,
            "c_idx": 217,
            "c_order": 5,
            "d_idx": 234
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.628,
            "ratio_score": 0.383,
            "prz_score": 0.941,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 74203.6,
            "prz_range": [
              74122.63,
              75813.61
            ],
            "prz_width_pct": 2.256,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.02,
            "price_to_prz_pct_raw": 2.0154,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.738,
                "adverse_move_ratio_ad": 0.337,
                "bars_after_d": 6,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 74968.12,
              "a_price": 79455.0,
              "tp1_ad_382": 76682.11,
              "tp2_ad_618": 77741.01,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5947,
              "ABC": 0.6294,
              "BCD": 1.836,
              "XAD": 0.9076
            },
            "x_price": 73669.0,
            "x_idx": 260,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 267,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 288,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": 293
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.881,
            "ratio_score": 0.862,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75191.16,
            "prz_range": [
              74555.09,
              75827.23
            ],
            "prz_width_pct": 1.692,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.32,
            "price_to_prz_pct_raw": 2.3189,
            "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": 75191.16,
              "a_price": 79455.0,
              "tp1_ad_382": 76819.95,
              "tp2_ad_618": 77826.21,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5947,
              "ABC": 0.5995
            },
            "x_price": 73669.0,
            "x_idx": 260,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 267,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 288,
            "b_order": 3,
            "c_price": 78077.1,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.881,
            "ratio_score": 0.862,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75191.16,
            "prz_range": [
              74555.09,
              75827.23
            ],
            "prz_width_pct": 1.692,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.32,
            "price_to_prz_pct_raw": 2.3189,
            "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": 75191.16,
              "a_price": 79455.0,
              "tp1_ad_382": 76819.95,
              "tp2_ad_618": 77826.21,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5947,
              "ABC": 0.5995
            },
            "x_price": 73669.0,
            "x_idx": 260,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 267,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 288,
            "b_order": 3,
            "c_price": 78077.1,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.933,
            "ratio_score": 0.968,
            "prz_score": 0.959,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 72798.44,
            "prz_range": [
              72028.16,
              73568.72
            ],
            "prz_width_pct": 2.116,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.94,
            "price_to_prz_pct_raw": -0.9371,
            "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": 72798.44,
              "a_price": 79455.0,
              "tp1_ad_382": 75341.25,
              "tp2_ad_618": 76912.19,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7928,
              "ABC": 0.6996
            },
            "x_price": 73669.0,
            "x_idx": 260,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 267,
            "a_order": 5,
            "b_price": 74868.0,
            "b_idx": 269,
            "b_order": 5,
            "c_price": 78077.1,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.905,
            "ratio_score": 0.969,
            "prz_score": 0.924,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 72303.79,
            "prz_range": [
              71442.07,
              73165.52
            ],
            "prz_width_pct": 2.384,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.61,
            "price_to_prz_pct_raw": -1.6102,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 72303.79,
              "a_price": 62979.5,
              "tp1_ad_382": 68741.91,
              "tp2_ad_618": 66541.38,
              "tp3_a_or_structure_liquidity": 62979.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7926,
              "ABC": 0.5725
            },
            "x_price": 70938.5,
            "x_idx": 196,
            "x_order": 5,
            "a_price": 62979.5,
            "a_idx": 209,
            "a_order": 3,
            "b_price": 69288.0,
            "b_idx": 241,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 242,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.861,
            "ratio_score": 0.994,
            "prz_score": 0.882,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 70638.85,
            "prz_range": [
              69681.26,
              71596.44
            ],
            "prz_width_pct": 2.711,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -3.88,
            "price_to_prz_pct_raw": -3.8758,
            "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": 70638.85,
              "a_price": 64918.2,
              "tp1_ad_382": 68453.56,
              "tp2_ad_618": 67103.49,
              "tp3_a_or_structure_liquidity": 64918.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6171,
              "ABC": 0.8266
            },
            "x_price": 71999.9,
            "x_idx": 234,
            "x_order": 5,
            "a_price": 64918.2,
            "a_idx": 238,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 241,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 242,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.791,
            "ratio_score": 0.515,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 72879.47,
            "prz_range": [
              72436.79,
              73322.15
            ],
            "prz_width_pct": 1.215,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.83,
            "price_to_prz_pct_raw": -0.8269,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 72879.47,
              "a_price": 62401.7,
              "tp1_ad_382": 68876.96,
              "tp2_ad_618": 66404.21,
              "tp3_a_or_structure_liquidity": 62401.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8899,
              "ABC": 0.6688
            },
            "x_price": 70938.5,
            "x_idx": 196,
            "x_order": 5,
            "a_price": 62401.7,
            "a_idx": 205,
            "a_order": 8,
            "b_price": 69999.0,
            "b_idx": 206,
            "b_order": 3,
            "c_price": 64918.2,
            "c_idx": 238,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.71,
            "ratio_score": 0.392,
            "prz_score": 0.986,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 71902.62,
            "prz_range": [
              71217.64,
              72587.59
            ],
            "prz_width_pct": 1.905,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.16,
            "price_to_prz_pct_raw": -2.1561,
            "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": 71902.62,
              "a_price": 82460.5,
              "tp1_ad_382": 75935.73,
              "tp2_ad_618": 78427.39,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7332,
              "ABC": 0.336
            },
            "x_price": 73669.0,
            "x_idx": 260,
            "x_order": 3,
            "a_price": 82460.5,
            "a_idx": 280,
            "a_order": 3,
            "b_price": 76014.2,
            "b_idx": 288,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.655,
            "ratio_score": 0.366,
            "prz_score": 0.983,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 71999.9,
            "prz_range": [
              71921.47,
              73321.87
            ],
            "prz_width_pct": 1.928,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.18,
            "price_to_prz_pct_raw": -1.1777,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.738,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 72621.67,
              "a_price": 62401.7,
              "tp1_ad_382": 68717.64,
              "tp2_ad_618": 66305.73,
              "tp3_a_or_structure_liquidity": 62401.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8899,
              "ABC": 0.5831,
              "BCD": 1.4517,
              "XAD": 1.1243
            },
            "x_price": 70938.5,
            "x_idx": 196,
            "x_order": 5,
            "a_price": 62401.7,
            "a_idx": 205,
            "a_order": 8,
            "b_price": 69999.0,
            "b_idx": 206,
            "b_order": 3,
            "c_price": 65569.2,
            "c_idx": 217,
            "c_order": 5,
            "d_idx": 234
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.628,
            "ratio_score": 0.383,
            "prz_score": 0.941,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 74203.6,
            "prz_range": [
              74122.63,
              75813.61
            ],
            "prz_width_pct": 2.256,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.02,
            "price_to_prz_pct_raw": 2.0154,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.738,
                "adverse_move_ratio_ad": 0.337,
                "bars_after_d": 6,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 74968.12,
              "a_price": 79455.0,
              "tp1_ad_382": 76682.11,
              "tp2_ad_618": 77741.01,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5947,
              "ABC": 0.6294,
              "BCD": 1.836,
              "XAD": 0.9076
            },
            "x_price": 73669.0,
            "x_idx": 260,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 267,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 288,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": 293
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.851,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 74874.67,
            "prz_range": [
              74356.58,
              75392.76
            ],
            "prz_width_pct": 1.384,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": 1.89,
            "price_to_prz_pct_raw": 1.8882,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 74874.67,
              "a_price": 71999.9,
              "tp1_ad_382": 73776.51,
              "tp2_ad_618": 73098.06,
              "tp3_a_or_structure_liquidity": 71999.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.446,
              "ABC": 1.1548
            },
            "x_price": 65569.2,
            "x_idx": 217,
            "x_order": 5,
            "a_price": 71999.9,
            "a_idx": 234,
            "a_order": 5,
            "b_price": 74868.0,
            "b_idx": 269,
            "b_order": 5,
            "c_price": 78180.0,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.846,
            "ratio_score": 0.956,
            "prz_score": 0.783,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 73187.44,
            "prz_range": [
              72805.73,
              73569.14
            ],
            "prz_width_pct": 1.043,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": -0.41,
            "price_to_prz_pct_raw": -0.4078,
            "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": 73187.44,
              "a_price": 79455.0,
              "tp1_ad_382": 75581.65,
              "tp2_ad_618": 77060.79,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3774,
              "ABC": 0.6996
            },
            "x_price": 67300.0,
            "x_idx": 231,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 267,
            "a_order": 5,
            "b_price": 74868.0,
            "b_idx": 269,
            "b_order": 5,
            "c_price": 78077.1,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.833,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 74933.88,
            "prz_range": [
              74654.77,
              75212.98
            ],
            "prz_width_pct": 0.745,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.97,
            "price_to_prz_pct_raw": 1.9687,
            "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": 74933.88,
              "a_price": 64918.2,
              "tp1_ad_382": 71107.89,
              "tp2_ad_618": 68744.19,
              "tp3_a_or_structure_liquidity": 64918.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3944,
              "ABC": 0.8266
            },
            "x_price": 75998.9,
            "x_idx": 226,
            "x_order": 8,
            "a_price": 64918.2,
            "a_idx": 238,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 241,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 242,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.814,
            "ratio_score": 0.94,
            "prz_score": 0.798,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 76349.56,
            "prz_range": [
              75066.09,
              77633.02
            ],
            "prz_width_pct": 3.362,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.9,
            "price_to_prz_pct_raw": 3.8952,
            "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": "shark",
              "d_price": 76349.56,
              "a_price": 65569.2,
              "tp1_ad_382": 72231.46,
              "tp2_ad_618": 69687.3,
              "tp3_a_or_structure_liquidity": 65569.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4387,
              "ABC": 1.1781
            },
            "x_price": 74046.5,
            "x_idx": 213,
            "x_order": 8,
            "a_price": 65569.2,
            "a_idx": 217,
            "a_order": 5,
            "b_price": 69288.0,
            "b_idx": 241,
            "b_order": 3,
            "c_price": 73669.0,
            "c_idx": 260,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.881,
            "prz_proximity": "nearby",
            "prz_range": [
              74555.09,
              75827.23
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 2.32,
            "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": 75191.16,
              "a_price": 79455.0,
              "tp1_ad_382": 76819.95,
              "tp2_ad_618": 77826.21,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $74,555.09-$75,827.23: 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.881,
          "ratio_score": 0.862,
          "prz_score": 1.0,
          "prz_proximity": "nearby",
          "action_status": "nearby",
          "high_confluence_prz": true,
          "d_price": 75191.16,
          "prz_range": [
            74555.09,
            75827.23
          ],
          "prz_width_pct": 1.692,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 2.32,
          "price_to_prz_pct_raw": 2.3189,
          "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": 75191.16,
            "a_price": 79455.0,
            "tp1_ad_382": 76819.95,
            "tp2_ad_618": 77826.21,
            "tp3_a_or_structure_liquidity": 79455.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.5947,
            "ABC": 0.5995
          },
          "x_price": 73669.0,
          "x_idx": 260,
          "x_order": 3,
          "a_price": 79455.0,
          "a_idx": 267,
          "a_order": 5,
          "b_price": 76014.2,
          "b_idx": 288,
          "b_order": 3,
          "c_price": 78077.1,
          "c_idx": 296,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 75191.16,
          "a_price": 79455.0,
          "tp1_ad_382": 76819.95,
          "tp2_ad_618": 77826.21,
          "tp3_a_or_structure_liquidity": 79455.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 75191.16,
            "a_price": 79455.0,
            "tp1_ad_382": 76819.95,
            "tp2_ad_618": 77826.21,
            "tp3_a_or_structure_liquidity": 79455.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "watch",
        "directional_scores": {
          "bullish": 0.131,
          "bearish": 0
        },
        "directional_score_total": 0.131,
        "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.35,\n  \"setup_signals\": [\n    \"현재가 $73,487.10이 최근 활성 PRZ 클러스터 근처에 위치: 최근접 PRZ $73,540.20까지 약 0.07%\",\n    \"엄격 등급 bullish Butterfly 형성 PRZ $72,028.16-$73,568.72에 가격이 진입/접촉 중이나 아직 반응 확인 없음\",\n    \"엄격 등급 bullish Bat 형성 PRZ $72,805.73-$73,569.14도 현재가와 중첩되어 단기 반등 후보 구간 형성\",\n    \"최고 council PRZ는 strict/high bullish Gartley $74,555.09-$75,827.23이며 XAD·BC_EXT·ABCD 3중 Fib confluence를 보유하지만 현재가 대비 +2.32% 위에 있어 아직 미확인\",\n    \"confirmed_reaction_prz_count가 0이고 validated_harmonic_tp_count도 0이므로 PRZ는 구조 전환 신호가 아니라 사전 반응 후보에 한정\"\n  ],\n  \"reasoning\": \"일봉 기준 현재가 $73,487.10은 최근접 PRZ $73,540.20과 거의 동일한 위치에 있으며, strict/medium bullish Butterfly PRZ $72,028.16-$73,568.72 및 bullish Bat PRZ $72,805.73-$73,569.14와 겹쳐 단기 반등 셋업은 존재한다. 다만 핵심 council PRZ는 strict/high bullish Gartley $74,555.09-$75,827.23로 현재가보다 위에 있고, 아직 PRZ 터치 후 리젝션·스윕 후 리클레임·15m/1h MSS·CVD/OI 확인이 없어 directional_vote_weight는 0.35의 사전 후보 수준에 불과하다. completed 패턴 98개 중 확인 반응 PRZ가 0개이며, 실행 준비도도 watch이므로 하모닉 단독으로 bullish 전환을 선언할 수 없다. 가격이 $73,568-$73,620 상단을 회복하고 $74,555-$75,827 Gartley PRZ를 지지성으로 방어하면 TP 후보는 $76,819.95, $77,826.21, $79,455.00 순으로 열린다.\",\n  \"key_levels\": {\n    \"support\": [\n      73540.2,\n      72805.73,\n      72028.16,\n      71442.07,\n      71217.64\n    ],\n    \"resistance\": [\n      73568.72,\n      74555.09,\n      75191.16,\n      75827.23,\n      76649.36,\n      77826.21,\n      79455.0\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$72,028.16\",\n  \"risk_scenario\": \"가격이 $72,028.16 아래로 일봉 종가 이탈하고 $71,442.07-$71,596.44 하단 PRZ까지 방어하지 못하면 현재 bullish 반등 셋업은 실패하며, bearish Butterfly/Gartley 하방 TP 맥락인 $68,741.91-$66,541.38 또는 $64,918.20 방향의 재평가가 필요하다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bullish",
    "overall_confidence": 0.56,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.72,
      "active_setups": [
        "가격이 Wyckoff TERMINAL_SPRING 기준 $74,868.00 아래에 있어 Phase D 이후 수요 유지가 재검증되는 구간",
        "상승 스윙 $74,868 → $82,829의 저점 $74,868이 이탈되어 단기 피보나치 상승 구조가 훼손됨",
        "현재가 $73,487.10이 EMA20 $76,649.36, EMA120 $77,458.07, EMA240 $84,104.14 아래에 있어 일봉 추세 수용은 약세",
        "24시간 OI +5.4020% 증가에도 가격이 회복하지 못하고 CVD가 -4195.23으로 감소해 신규 포지션 유입이 상승 구조를 확인하지 못함",
        "롱 계정 비율 0.639 및 롱 과밀 상태에서 $72,900 하방 청산 풀이 가장 가까운 유동성 축",
        "최근 bearish engulfing 및 evening star 후보가 $76,649.36~$78,077.10 공급대를 강화",
        "하모닉은 $72,028.16~$73,568.72 및 $72,805.73~$73,569.14 bullish PRZ를 제시하지만, 아직 반응 확인 전 단계"
      ],
      "setup_vs_structure": "상위 구조는 Wyckoff 기준 축적 국면으로 해석되지만, 실행 셋업은 4개 이상 분석이 약세로 일치한다. 즉 구조적 축적 가설은 유지되나, 현재 위치는 SOS 이후 LPS 확인 구간이 아니라 TERMINAL_SPRING 재이탈에 따른 수요 재검증 구간이다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 3,
      "neutral_count": 2
    },
    "key_levels": {
      "support": [
        73540.2,
        72900,
        72556,
        72436,
        72028.16,
        70458.2,
        69300,
        65595.7
      ],
      "resistance": [
        74555.09,
        74868,
        75100,
        75998.9,
        76571.59,
        76649.36,
        77908.99,
        78077.1,
        80600,
        82828.7
      ]
    },
    "confluences": [
      "Wyckoff TERMINAL_SPRING $74,868.00과 Fibonacci 상승 스윙 저점 $74,868이 동일하게 훼손 기준으로 작동한다.",
      "ICT 전일 고점 $74,565.30, Harmonic bullish Gartley PRZ 하단 $74,555.09, Wyckoff TERMINAL_SPRING $74,868.00이 $74,555~$74,868 구간에서 1차 회복 저항대를 형성한다.",
      "ICT bullish BOS 레벨 $75,998.90, Derivatives 상방 청산 구간 $75,900, Harmonic Gartley PRZ 상단 $75,827.23이 $75,827~$75,999 구간에서 구조 회복 여부를 판단하는 중간 저항대로 겹친다.",
      "ICT EQ $76,643.45, EMA20 $76,649.36, Fibonacci 0.786 되돌림 $76,571.59가 $76,571~$76,649에 강한 구조적 저항 클러스터를 만든다.",
      "Fibonacci 0.618 $77,908.99, Candlestick 약세 무효화 기준 $78,077.10, Harmonic TP 후보 $77,826.21이 $77,826~$78,077 부근에서 상위 회복 확인 구간으로 겹친다.",
      "Fibonacci, Wyckoff, Candlestick이 모두 $72,436 부근을 핵심 하방 반응 레벨로 제시하며, Harmonic 후보 PRZ $72,436.79와도 근접한다.",
      "Derivatives의 가장 강한 하방 청산 풀 $72,900은 Harmonic bullish Bat PRZ $72,805.73~$73,569.14 및 bullish Butterfly PRZ $72,028.16~$73,568.72와 중첩된다.",
      "Wyckoff Spring 저점 $65,595.70과 Harmonic 하방 TP/구조 후보 $66,305.73~$66,541.38이 중장기 축적 가설의 최종 방어 구간으로 인접한다."
    ],
    "conflicts": [
      "Wyckoff는 acc_score가 매우 높은 확인된 축적 구조를 유지하지만, Fibonacci·Derivatives·Candlestick은 현재가가 스윙 저점과 주요 EMA 아래에 있어 단기 구조를 약세로 판정한다.",
      "Harmonic은 현재가가 $72,028.16~$73,568.72 및 $72,805.73~$73,569.14 bullish PRZ에 있다고 보지만, 해당 PRZ는 아직 반응 확인이 없어 핵심 구조 판정을 뒤집을 수 없다.",
      "ICT는 현재가가 EQ $76,643.45 아래 discount 구간이라 저가 매수 조건을 일부 인정하지만, 활성 OB·미충족 FVG·확정 유동성 스윕이 없어 방향성 판정은 중립이다.",
      "Derivatives는 롱 계정 과밀과 CVD 약화를 근거로 하방 취약성을 강조하지만, $75,100~$76,600 상방 청산 구간도 남아 있어 단기 변동성 리스크는 양방향이다."
    ],
    "executive_summary": "상위 구조는 Wyckoff 기준 SC $80,600 → AR $93,080 → Spring $65,595.70 → TERMINAL_SPRING $74,868 → SOS $82,828.70로 이어진 확인된 축적 Phase D로 분류되지만, 현재가는 $74,868과 메인 레인지 하단 $80,600 아래에 있어 SOS 이후 LPS가 확인된 상태는 아니다. 실행 구조는 Fibonacci 스윙 저점 이탈, EMA20 $76,649.36 및 EMA120 $77,458.07 하회, 약세 캔들 반복, 파생 롱 과밀이 겹치며 단기적으로 약세 재검증 조건이 우세하다. 핵심 구조 저항은 $74,555~$75,999와 $76,571~$76,649이며, 구조 회복 전까지 이 구간은 반등 확인보다 공급 확인 구간으로 해석된다. 반대로 $72,436~$72,900은 청산 유동성, 캔들·피보나치 지지, 하모닉 PRZ가 겹치는 수요 재검증 구간이며, 최종 구조 무효화 기준은 Spring 저점 $65,595.70이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bullish\",\n  \"overall_confidence\": 0.56,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.72,\n    \"active_setups\": [\n      \"가격이 Wyckoff TERMINAL_SPRING 기준 $74,868.00 아래에 있어 Phase D 이후 수요 유지가 재검증되는 구간\",\n      \"상승 스윙 $74,868 → $82,829의 저점 $74,868이 이탈되어 단기 피보나치 상승 구조가 훼손됨\",\n      \"현재가 $73,487.10이 EMA20 $76,649.36, EMA120 $77,458.07, EMA240 $84,104.14 아래에 있어 일봉 추세 수용은 약세\",\n      \"24시간 OI +5.4020% 증가에도 가격이 회복하지 못하고 CVD가 -4195.23으로 감소해 신규 포지션 유입이 상승 구조를 확인하지 못함\",\n      \"롱 계정 비율 0.639 및 롱 과밀 상태에서 $72,900 하방 청산 풀이 가장 가까운 유동성 축\",\n      \"최근 bearish engulfing 및 evening star 후보가 $76,649.36~$78,077.10 공급대를 강화\",\n      \"하모닉은 $72,028.16~$73,568.72 및 $72,805.73~$73,569.14 bullish PRZ를 제시하지만, 아직 반응 확인 전 단계\"\n    ],\n    \"setup_vs_structure\": \"상위 구조는 Wyckoff 기준 축적 국면으로 해석되지만, 실행 셋업은 4개 이상 분석이 약세로 일치한다. 즉 구조적 축적 가설은 유지되나, 현재 위치는 SOS 이후 LPS 확인 구간이 아니라 TERMINAL_SPRING 재이탈에 따른 수요 재검증 구간이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 3,\n    \"neutral_count\": 2\n  },\n  \"key_levels\": {\n    \"support\": [\n      73540.2,\n      72900,\n      72556,\n      72436,\n      72028.16,\n      70458.2,\n      69300,\n      65595.7\n    ],\n    \"resistance\": [\n      74555.09,\n      74868,\n      75100,\n      75998.9,\n      76571.59,\n      76649.36,\n      77908.99,\n      78077.1,\n      80600,\n      82828.7\n    ]\n  },\n  \"confluences\": [\n    \"Wyckoff TERMINAL_SPRING $74,868.00과 Fibonacci 상승 스윙 저점 $74,868이 동일하게 훼손 기준으로 작동한다.\",\n    \"ICT 전일 고점 $74,565.30, Harmonic bullish Gartley PRZ 하단 $74,555.09, Wyckoff TERMINAL_SPRING $74,868.00이 $74,555~$74,868 구간에서 1차 회복 저항대를 형성한다.\",\n    \"ICT bullish BOS 레벨 $75,998.90, Derivatives 상방 청산 구간 $75,900, Harmonic Gartley PRZ 상단 $75,827.23이 $75,827~$75,999 구간에서 구조 회복 여부를 판단하는 중간 저항대로 겹친다.\",\n    \"ICT EQ $76,643.45, EMA20 $76,649.36, Fibonacci 0.786 되돌림 $76,571.59가 $76,571~$76,649에 강한 구조적 저항 클러스터를 만든다.\",\n    \"Fibonacci 0.618 $77,908.99, Candlestick 약세 무효화 기준 $78,077.10, Harmonic TP 후보 $77,826.21이 $77,826~$78,077 부근에서 상위 회복 확인 구간으로 겹친다.\",\n    \"Fibonacci, Wyckoff, Candlestick이 모두 $72,436 부근을 핵심 하방 반응 레벨로 제시하며, Harmonic 후보 PRZ $72,436.79와도 근접한다.\",\n    \"Derivatives의 가장 강한 하방 청산 풀 $72,900은 Harmonic bullish Bat PRZ $72,805.73~$73,569.14 및 bullish Butterfly PRZ $72,028.16~$73,568.72와 중첩된다.\",\n    \"Wyckoff Spring 저점 $65,595.70과 Harmonic 하방 TP/구조 후보 $66,305.73~$66,541.38이 중장기 축적 가설의 최종 방어 구간으로 인접한다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 acc_score가 매우 높은 확인된 축적 구조를 유지하지만, Fibonacci·Derivatives·Candlestick은 현재가가 스윙 저점과 주요 EMA 아래에 있어 단기 구조를 약세로 판정한다.\",\n    \"Harmonic은 현재가가 $72,028.16~$73,568.72 및 $72,805.73~$73,569.14 bullish PRZ에 있다고 보지만, 해당 PRZ는 아직 반응 확인이 없어 핵심 구조 판정을 뒤집을 수 없다.\",\n    \"ICT는 현재가가 EQ $76,643.45 아래 discount 구간이라 저가 매수 조건을 일부 인정하지만, 활성 OB·미충족 FVG·확정 유동성 스윕이 없어 방향성 판정은 중립이다.\",\n    \"Derivatives는 롱 계정 과밀과 CVD 약화를 근거로 하방 취약성을 강조하지만, $75,100~$76,600 상방 청산 구간도 남아 있어 단기 변동성 리스크는 양방향이다.\"\n  ],\n  \"highest_conviction_analyst\": \"Derivatives Trader — EMA20 $76,649.36, EMA120 $77,458.07, EMA240 $84,104.14 하회라는 추세 구조와 OI +5.4020%, CVD -4195.23, 롱 계정 과밀, $72,900 청산 풀까지 가격·포지셔닝·유동성 데이터가 동일한 약세 실행 셋업을 지지하기 때문이다.\",\n  \"invalidation_level\": \"$65,595.70 일봉 종가 이탈 시 Wyckoff 축적 및 Spring 방어 구조가 훼손되어 현재의 상위 축적 구조 가설은 무효화된다.\",\n  \"executive_summary\": \"상위 구조는 Wyckoff 기준 SC $80,600 → AR $93,080 → Spring $65,595.70 → TERMINAL_SPRING $74,868 → SOS $82,828.70로 이어진 확인된 축적 Phase D로 분류되지만, 현재가는 $74,868과 메인 레인지 하단 $80,600 아래에 있어 SOS 이후 LPS가 확인된 상태는 아니다. 실행 구조는 Fibonacci 스윙 저점 이탈, EMA20 $76,649.36 및 EMA120 $77,458.07 하회, 약세 캔들 반복, 파생 롱 과밀이 겹치며 단기적으로 약세 재검증 조건이 우세하다. 핵심 구조 저항은 $74,555~$75,999와 $76,571~$76,649이며, 구조 회복 전까지 이 구간은 반등 확인보다 공급 확인 구간으로 해석된다. 반대로 $72,436~$72,900은 청산 유동성, 캔들·피보나치 지지, 하모닉 PRZ가 겹치는 수요 재검증 구간이며, 최종 구조 무효화 기준은 Spring 저점 $65,595.70이다.\"\n}"
  },
  "overall_signal": "bullish",
  "overall_confidence": 0.56,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.58,
    "waypoints": [
      {
        "seq": 1,
        "price": 72436.0,
        "type": "liquidity_sweep",
        "source": "Fibonacci($72,436), Wyckoff($72,436), Candlestick($72,436), Harmonic(PRZ $72,436.79 / Butterfly $72,028.16~$73,568.72), Derivatives($72,900 청산 풀)",
        "description": "실행 셋업이 BEARISH 72%로 고확신 선행 신호이며 구조(BULLISH 56%)에 우선한다. 롱 계정 0.639·crowding 1.000의 과밀과 CVD -4195.23, OI +5.40%에도 가격 미회복으로 하방이 취약하다. 현재가 아래 가장 강한 유동성 축인 $72,900 청산 풀을 스윕한 뒤, Fib·Wyckoff·Candle·Harmonic이 동시에 가리키는 $72,436 수요 재검증 confluence까지 하락하며 1차 반응 저점을 형성한다.",
        "est_hours": 6.0,
        "turning_zone": [
          72028.16,
          72436.0
        ],
        "likely_wick": 72350.0,
        "rejection_confirm": 72900.0,
        "invalid_overshoot": 71900.0,
        "calibration_reasoning": "여기서의 liquidity_sweep는 $72,900 풀을 하향 스윕한 뒤 형성되는 '하방 반응 저점'이므로(다음 waypoint가 상위) zone을 base 아래로 설정한다. 하단은 차감 지지 $72,028.16(≈$72,000 라운드 직상)에 앵커했고, $72,436의 Fib·Wyckoff·Candle 수요 confluence가 오버슈트를 제어해 폭은 ~0.20 ATR로 타이트하다. likely_wick은 $72,436 직하 스톱런 $72,350, 스윕한 $72,900 풀 회복 시 반전 확정, $72,028 하회 시 무효."
      },
      {
        "seq": 2,
        "price": 74555.09,
        "type": "resistance_test",
        "source": "Harmonic(Gartley PRZ 하단 $74,555.09), ICT(전일 고점 $74,565.30), Wyckoff(TERMINAL_SPRING $74,868 직하), Derivatives(상방 청산 $75,100~$76,600)",
        "description": "$72,436 수요 confluence와 하모닉 Butterfly/Bat PRZ에서 반응이 나오고, 롱 청산 소화 후 숏 스퀴즈성 반등이 상방 청산 구간을 향해 전개된다. 다만 $74,555~$74,868은 구조 회복 전까지 '공급 확인 구간'으로, ICT 전일 고점·Gartley PRZ 하단·TERMINAL_SPRING $74,868 직하의 1차 회복 저항대에서 매도 우위가 작동해 정체·거부될 가능성이 높다.",
        "est_hours": 16.0,
        "turning_zone": [
          74555.09,
          75100.0
        ],
        "likely_wick": 74900.0,
        "rejection_confirm": 74000.0,
        "invalid_overshoot": 75300.0,
        "calibration_reasoning": "상방 저항 테스트 고점이라 zone을 base 위로 잡고, 경로가 명시한 공급 확인대 $74,555~$74,868과 차감 저항 $75,100까지 포함했다(폭 ~0.27 ATR). Gartley D PRZ $75,191은 PRE_CONFIRMATION이라 waypoint를 이동시키지 않고 조건부 반응·오버슈트 한계로만 사용했으며, likely_wick은 TERMINAL_SPRING $74,868 직상·$75,000 라운드 자석을 겨냥한 $74,900 유동성 그랩, $74,000 라운드 상실 시 거부 확정, $75,300 상회 시 공급대 붕괴로 무효."
      },
      {
        "seq": 3,
        "price": 73540.2,
        "type": "support_test",
        "source": "Harmonic(최근접 PRZ $73,540.20), Derivatives($72,900 청산 인근), Wyckoff(acc_score 92.5 축적 기반)",
        "description": "$74,555 공급대 거부 후 되돌림. 단 $72,436 저점 위에서 higher low($73,540 하모닉 PRZ)를 형성하며, 확인된 축적 구조(regime_fitness 0.925)를 바탕으로 한 수요가 점진 재확인된다. 셋업 약세 바이어스는 유지되지만 하단 수요 confluence가 추가 급락을 제어하는, 약세 우위 속 레인지 압축 흐름으로 24시간을 마감한다.",
        "est_hours": 23.0,
        "turning_zone": [
          72556.0,
          73540.2
        ],
        "likely_wick": 73200.0,
        "rejection_confirm": 73900.0,
        "invalid_overshoot": 72436.0,
        "calibration_reasoning": "최종 waypoint라 zone을 확대(~0.49 ATR)하되, 하단은 직전 저점 $72,436 직상의 차감 지지 $72,556에 앵커해 higher-low 구조를 유지하고 $72,900 풀까지 포함했다. likely_wick은 $73,540 하모닉 PRZ 하방 언더슛이자 $73,000 라운드+$72,900 풀 자석으로 편향한 $73,200, $73,900 회복 시 수요 우위 확정, $72,436 하회 시 lower-low로 구조 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 73600.0,
        "expected_low": 72700.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 73600.0,
        "expected_low": 72436.0,
        "high_first": true
      },
      "24h": {
        "expected_high": 74555.09,
        "expected_low": 72436.0,
        "high_first": false
      }
    },
    "triggers": {
      "bullish": {
        "price": 74868.0,
        "description": "TERMINAL_SPRING / Fibonacci 상승 스윙 저점 $74,868 지속 회복 시 약세 셋업이 무효화되고 훼손된 스윙 저점이 재클레임된다. 이후 ICT bullish BOS $75,998.90 → EMA20 $76,649.36를 향한 구조 회복이 가속되며 WP2 이상의 상승 연장이 열린다."
      },
      "bearish": {
        "price": 72028.16,
        "description": "$72,436 수요 confluence와 하모닉 Butterfly PRZ 하단 $72,028.16를 결정적으로 이탈하면 반등 시나리오가 무효화된다. $70,458.20 레인지 저점 → $69,300 → Spring 저점 $65,595.70로 하방이 가속된다."
      }
    },
    "scenario_invalidation": 70458.2,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.58,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 72436.0,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Fibonacci($72,436), Wyckoff($72,436), Candlestick($72,436), Harmonic(PRZ $72,436.79 / Butterfly $72,028.16~$73,568.72), Derivatives($72,900 청산 풀)\",\n      \"description\": \"실행 셋업이 BEARISH 72%로 고확신 선행 신호이며 구조(BULLISH 56%)에 우선한다. 롱 계정 0.639·crowding 1.000의 과밀과 CVD -4195.23, OI +5.40%에도 가격 미회복으로 하방이 취약하다. 현재가 아래 가장 강한 유동성 축인 $72,900 청산 풀을 스윕한 뒤, Fib·Wyckoff·Candle·Harmonic이 동시에 가리키는 $72,436 수요 재검증 confluence까지 하락하며 1차 반응 저점을 형성한다.\",\n      \"est_hours\": 6.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 74555.09,\n      \"type\": \"resistance_test\",\n      \"source\": \"Harmonic(Gartley PRZ 하단 $74,555.09), ICT(전일 고점 $74,565.30), Wyckoff(TERMINAL_SPRING $74,868 직하), Derivatives(상방 청산 $75,100~$76,600)\",\n      \"description\": \"$72,436 수요 confluence와 하모닉 Butterfly/Bat PRZ에서 반응이 나오고, 롱 청산 소화 후 숏 스퀴즈성 반등이 상방 청산 구간을 향해 전개된다. 다만 $74,555~$74,868은 구조 회복 전까지 '공급 확인 구간'으로, ICT 전일 고점·Gartley PRZ 하단·TERMINAL_SPRING $74,868 직하의 1차 회복 저항대에서 매도 우위가 작동해 정체·거부될 가능성이 높다.\",\n      \"est_hours\": 16.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 73540.2,\n      \"type\": \"support_test\",\n      \"source\": \"Harmonic(최근접 PRZ $73,540.20), Derivatives($72,900 청산 인근), Wyckoff(acc_score 92.5 축적 기반)\",\n      \"description\": \"$74,555 공급대 거부 후 되돌림. 단 $72,436 저점 위에서 higher low($73,540 하모닉 PRZ)를 형성하며, 확인된 축적 구조(regime_fitness 0.925)를 바탕으로 한 수요가 점진 재확인된다. 셋업 약세 바이어스는 유지되지만 하단 수요 confluence가 추가 급락을 제어하는, 약세 우위 속 레인지 압축 흐름으로 24시간을 마감한다.\",\n      \"est_hours\": 23.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 73600.0, \"expected_low\": 72700.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 73600.0, \"expected_low\": 72436.0, \"high_first\": true},\n    \"24h\": {\"expected_high\": 74555.09, \"expected_low\": 72436.0, \"high_first\": false}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 74868.0, \"description\": \"TERMINAL_SPRING / Fibonacci 상승 스윙 저점 $74,868 지속 회복 시 약세 셋업이 무효화되고 훼손된 스윙 저점이 재클레임된다. 이후 ICT bullish BOS $75,998.90 → EMA20 $76,649.36를 향한 구조 회복이 가속되며 WP2 이상의 상승 연장이 열린다.\"},\n    \"bearish\": {\"price\": 72028.16, \"description\": \"$72,436 수요 confluence와 하모닉 Butterfly PRZ 하단 $72,028.16를 결정적으로 이탈하면 반등 시나리오가 무효화된다. $70,458.20 레인지 저점 → $69,300 → Spring 저점 $65,595.70로 하방이 가속된다.\"}\n  },\n  \"scenario_invalidation\": 70458.2\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 72436.0,
        "turning_zone": [
          72028.16,
          72436.0
        ],
        "likely_wick": 72350.0,
        "rejection_confirm": 72900.0,
        "invalid_overshoot": 71900.0,
        "calibration_reasoning": "여기서의 liquidity_sweep는 $72,900 풀을 하향 스윕한 뒤 형성되는 '하방 반응 저점'이므로(다음 waypoint가 상위) zone을 base 아래로 설정한다. 하단은 차감 지지 $72,028.16(≈$72,000 라운드 직상)에 앵커했고, $72,436의 Fib·Wyckoff·Candle 수요 confluence가 오버슈트를 제어해 폭은 ~0.20 ATR로 타이트하다. likely_wick은 $72,436 직하 스톱런 $72,350, 스윕한 $72,900 풀 회복 시 반전 확정, $72,028 하회 시 무효."
      },
      {
        "seq": 2,
        "base_target": 74555.09,
        "turning_zone": [
          74555.09,
          75100.0
        ],
        "likely_wick": 74900.0,
        "rejection_confirm": 74000.0,
        "invalid_overshoot": 75300.0,
        "calibration_reasoning": "상방 저항 테스트 고점이라 zone을 base 위로 잡고, 경로가 명시한 공급 확인대 $74,555~$74,868과 차감 저항 $75,100까지 포함했다(폭 ~0.27 ATR). Gartley D PRZ $75,191은 PRE_CONFIRMATION이라 waypoint를 이동시키지 않고 조건부 반응·오버슈트 한계로만 사용했으며, likely_wick은 TERMINAL_SPRING $74,868 직상·$75,000 라운드 자석을 겨냥한 $74,900 유동성 그랩, $74,000 라운드 상실 시 거부 확정, $75,300 상회 시 공급대 붕괴로 무효."
      },
      {
        "seq": 3,
        "base_target": 73540.2,
        "turning_zone": [
          72556.0,
          73540.2
        ],
        "likely_wick": 73200.0,
        "rejection_confirm": 73900.0,
        "invalid_overshoot": 72436.0,
        "calibration_reasoning": "최종 waypoint라 zone을 확대(~0.49 ATR)하되, 하단은 직전 저점 $72,436 직상의 차감 지지 $72,556에 앵커해 higher-low 구조를 유지하고 $72,900 풀까지 포함했다. likely_wick은 $73,540 하모닉 PRZ 하방 언더슛이자 $73,000 라운드+$72,900 풀 자석으로 편향한 $73,200, $73,900 회복 시 수요 우위 확정, $72,436 하회 시 lower-low로 구조 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 72436.00,\n      \"turning_zone\": [72028.16, 72436.00],\n      \"likely_wick\": 72350.00,\n      \"rejection_confirm\": 72900.00,\n      \"invalid_overshoot\": 71900.00,\n      \"calibration_reasoning\": \"여기서의 liquidity_sweep는 $72,900 풀을 하향 스윕한 뒤 형성되는 '하방 반응 저점'이므로(다음 waypoint가 상위) zone을 base 아래로 설정한다. 하단은 차감 지지 $72,028.16(≈$72,000 라운드 직상)에 앵커했고, $72,436의 Fib·Wyckoff·Candle 수요 confluence가 오버슈트를 제어해 폭은 ~0.20 ATR로 타이트하다. likely_wick은 $72,436 직하 스톱런 $72,350, 스윕한 $72,900 풀 회복 시 반전 확정, $72,028 하회 시 무효.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 74555.09,\n      \"turning_zone\": [74555.09, 75100.00],\n      \"likely_wick\": 74900.00,\n      \"rejection_confirm\": 74000.00,\n      \"invalid_overshoot\": 75300.00,\n      \"calibration_reasoning\": \"상방 저항 테스트 고점이라 zone을 base 위로 잡고, 경로가 명시한 공급 확인대 $74,555~$74,868과 차감 저항 $75,100까지 포함했다(폭 ~0.27 ATR). Gartley D PRZ $75,191은 PRE_CONFIRMATION이라 waypoint를 이동시키지 않고 조건부 반응·오버슈트 한계로만 사용했으며, likely_wick은 TERMINAL_SPRING $74,868 직상·$75,000 라운드 자석을 겨냥한 $74,900 유동성 그랩, $74,000 라운드 상실 시 거부 확정, $75,300 상회 시 공급대 붕괴로 무효.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 73540.20,\n      \"turning_zone\": [72556.00, 73540.20],\n      \"likely_wick\": 73200.00,\n      \"rejection_confirm\": 73900.00,\n      \"invalid_overshoot\": 72436.00,\n      \"calibration_reasoning\": \"최종 waypoint라 zone을 확대(~0.49 ATR)하되, 하단은 직전 저점 $72,436 직상의 차감 지지 $72,556에 앵커해 higher-low 구조를 유지하고 $72,900 풀까지 포함했다. likely_wick은 $73,540 하모닉 PRZ 하방 언더슛이자 $73,000 라운드+$72,900 풀 자석으로 편향한 $73,200, $73,900 회복 시 수요 우위 확정, $72,436 하회 시 lower-low로 구조 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 24.8,
      "chairman": 50.9,
      "operating_path": 239.6,
      "tp_calibrator": 278.8
    },
    "agents": {},
    "total_s": 594.1
  }
}