{
  "symbol": "BTC/USDT",
  "timeframe": "4h",
  "timestamp": "2026-05-20 01:00 KST",
  "last_price": 76500.0,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.56,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $76,500은 7일 고점 $81,999와 7일 저점 $76,014.20의 EQ $79,006.60 아래에 위치한 할인 구간",
        "현재가가 7일 저점 $76,014.20에 근접해 있어 하방 유동성 스윕 또는 단기 반등 후보 구간",
        "최근 후보 패턴에 morning_star@291, hammer@290, bullish_harami@290가 포함되어 있으나 모두 거래량 확인은 약함",
        "EMA240 $76,946.68 바로 아래에서 거래 중이며, 회복 시 단기 반등 확인 가능성이 있으나 아직 미확정"
      ],
      "reasoning": "구조적으로는 현재가 $76,500이 EMA20 $77,429.55, EMA120 $78,636.72, EMA240 $76,946.68 아래에 있어 4시간 기준 하락 우위가 유지되고 있습니다. 최근 패턴 점수도 bear_score 2.35가 bull_score 2.05보다 높고, 최고 품질 패턴은 high-volume bearish_engulfing으로 quality 0.627이어서 매도 압력이 더 신뢰됩니다. 다만 가격은 7일 저점 $76,014.20에 매우 근접하고 EQ $79,006.60 아래의 할인 구간에 있어, 구조 전환 전 단기 반등 셋업은 존재합니다. 따라서 확정 구조는 bearish지만, 실행 관점의 setup_bias는 지지권 반응을 노리는 bullish로 분리해서 봐야 합니다.",
      "key_levels": {
        "support": [
          76014.2,
          75757.82,
          75000
        ],
        "resistance": [
          76946.68,
          77429.55,
          78636.72,
          79006.6,
          81999
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$79,006.60 4시간 종가 회복",
      "risk_scenario": "반대 시나리오는 $76,014.20 부근에서 매도세가 소진되고 EMA240 $76,946.68 및 EMA20 $77,429.55를 회복하는 경우입니다. 이 경우 bearish engulfing의 압력이 약화되며, $78,636.72 EMA120과 EQ $79,006.60까지 숏 커버성 반등이 열릴 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 135,
        "recent_patterns": 6,
        "pattern_list": [
          "hammer@290",
          "bearish_engulfing@292",
          "bearish_engulfing@295",
          "bearish_engulfing@297",
          "morning_star@291",
          "bullish_harami@290"
        ],
        "atr_value": 742.18,
        "vol_avg_20": 18271.98,
        "high_volume_patterns": [
          "bearish_engulfing"
        ],
        "pattern_candidates": [
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.627,
            "tier": "candidate",
            "high_volume": true
          },
          {
            "pattern": "morning_star",
            "signal": "bullish",
            "pattern_quality": 0.58,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "hammer",
            "signal": "bullish",
            "pattern_quality": 0.534,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.509,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.476,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.627,
        "bull_score": 2.05,
        "bear_score": 2.35
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $76,500은 7일 고점 $81,999와 7일 저점 $76,014.20의 EQ $79,006.60 아래에 위치한 할인 구간\",\n    \"현재가가 7일 저점 $76,014.20에 근접해 있어 하방 유동성 스윕 또는 단기 반등 후보 구간\",\n    \"최근 후보 패턴에 morning_star@291, hammer@290, bullish_harami@290가 포함되어 있으나 모두 거래량 확인은 약함\",\n    \"EMA240 $76,946.68 바로 아래에서 거래 중이며, 회복 시 단기 반등 확인 가능성이 있으나 아직 미확정\"\n  ],\n  \"reasoning\": \"구조적으로는 현재가 $76,500이 EMA20 $77,429.55, EMA120 $78,636.72, EMA240 $76,946.68 아래에 있어 4시간 기준 하락 우위가 유지되고 있습니다. 최근 패턴 점수도 bear_score 2.35가 bull_score 2.05보다 높고, 최고 품질 패턴은 high-volume bearish_engulfing으로 quality 0.627이어서 매도 압력이 더 신뢰됩니다. 다만 가격은 7일 저점 $76,014.20에 매우 근접하고 EQ $79,006.60 아래의 할인 구간에 있어, 구조 전환 전 단기 반등 셋업은 존재합니다. 따라서 확정 구조는 bearish지만, 실행 관점의 setup_bias는 지지권 반응을 노리는 bullish로 분리해서 봐야 합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      76014.2,\n      75757.82,\n      75000\n    ],\n    \"resistance\": [\n      76946.68,\n      77429.55,\n      78636.72,\n      79006.6,\n      81999\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$79,006.60 4시간 종가 회복\",\n  \"risk_scenario\": \"반대 시나리오는 $76,014.20 부근에서 매도세가 소진되고 EMA240 $76,946.68 및 EMA20 $77,429.55를 회복하는 경우입니다. 이 경우 bearish engulfing의 압력이 약화되며, $78,636.72 EMA120과 EQ $79,006.60까지 숏 커버성 반등이 열릴 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bullish",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.78,
      "setup_signals": [
        "현재가 $76,500은 EQ $79,056.55 아래의 discount 구간에 위치",
        "가격이 7일 저점 및 range low $76,014.20 근처까지 깊게 되돌림",
        "현재 되돌림 179.3%, 최대 되돌림 182.2%로 과매도성 discount retracement 형성",
        "전일 저점 $76,107.10을 아직 명확히 이탈하지 않아 sell-side liquidity sweep 직전 또는 방어 구간",
        "상단 구조 회복 확인 레벨은 bearish BOS 레벨 $78,713.80 및 $79,137.40"
      ],
      "reasoning": "확정 구조는 최근 BOS_bearish가 $79,137.40, $78,713.80에서 연속 2회 발생했기 때문에 bearish로 판단한다. 다만 현재가는 $76,500으로 EQ $79,056.55 아래 discount에 있으며, range low $76,014.20과 전일 저점 $76,107.10 바로 위에서 거래되어 기관 관점에서는 sell-side liquidity를 유도한 뒤 반등을 노릴 수 있는 구간이다. OB와 미체결 FVG가 모두 0개라 명확한 기관 배열은 부족하지만, 깊은 되돌림 179.3%와 discount 위치 때문에 pre-confirmation setup은 bullish로 본다. 단, $78,713.80 및 $79,137.40을 회복하지 못하면 현재 반등 시도는 단순 약세장 내 되돌림에 그칠 가능성이 높다.",
      "key_levels": {
        "support": [
          76107.1,
          76014.2,
          76009.0
        ],
        "resistance": [
          77429.55,
          78300.0,
          78713.8,
          79056.55,
          79137.4,
          79455.0
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$76,014.20",
      "risk_scenario": "$76,014.20 range low가 명확히 이탈되면 bullish discount 반등 셋업은 무효화되며, 전일 저점 $76,107.10 아래의 sell-side liquidity가 흡수되지 않고 추세 하락으로 전환될 수 있다. 이 경우 $78,713.80 회복 전까지는 반등 매수보다 하락 지속 관점이 우세하다.",
      "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": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 50,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "BOS_bullish",
          "CHoCH_bearish",
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 76009.0
          },
          {
            "type": "BOS_bullish",
            "level": 78300.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 77100.0
          },
          {
            "type": "CHoCH_bullish",
            "level": 79455.0
          },
          {
            "type": "BOS_bearish",
            "level": 79137.4
          },
          {
            "type": "BOS_bearish",
            "level": 78713.8
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "BOS_bullish",
          "BOS_bullish",
          "CHoCH_bearish",
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 2,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "discount",
        "eq_level": 79056.55,
        "range_high": 82098.9,
        "range_low": 76014.2,
        "bull_score": 8.7,
        "bear_score": 7.2,
        "setup_bias": "bullish",
        "setup_score": 0.78,
        "setup_signals": [
          "bullish BOS above $76,009.00",
          "bullish BOS above $78,300.00",
          "bullish CHoCH above $79,455.00",
          "deep retracement 179.3% in discount zone"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 179.3,
        "deepest_retracement_pct": 182.2,
        "previous_day_high": 77384.6,
        "previous_day_low": 76107.1,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.78,\n  \"setup_signals\": [\n    \"현재가 $76,500은 EQ $79,056.55 아래의 discount 구간에 위치\",\n    \"가격이 7일 저점 및 range low $76,014.20 근처까지 깊게 되돌림\",\n    \"현재 되돌림 179.3%, 최대 되돌림 182.2%로 과매도성 discount retracement 형성\",\n    \"전일 저점 $76,107.10을 아직 명확히 이탈하지 않아 sell-side liquidity sweep 직전 또는 방어 구간\",\n    \"상단 구조 회복 확인 레벨은 bearish BOS 레벨 $78,713.80 및 $79,137.40\"\n  ],\n  \"reasoning\": \"확정 구조는 최근 BOS_bearish가 $79,137.40, $78,713.80에서 연속 2회 발생했기 때문에 bearish로 판단한다. 다만 현재가는 $76,500으로 EQ $79,056.55 아래 discount에 있으며, range low $76,014.20과 전일 저점 $76,107.10 바로 위에서 거래되어 기관 관점에서는 sell-side liquidity를 유도한 뒤 반등을 노릴 수 있는 구간이다. OB와 미체결 FVG가 모두 0개라 명확한 기관 배열은 부족하지만, 깊은 되돌림 179.3%와 discount 위치 때문에 pre-confirmation setup은 bullish로 본다. 단, $78,713.80 및 $79,137.40을 회복하지 못하면 현재 반등 시도는 단순 약세장 내 되돌림에 그칠 가능성이 높다.\",\n  \"key_levels\": {\n    \"support\": [\n      76107.1,\n      76014.2,\n      76009.0\n    ],\n    \"resistance\": [\n      77429.55,\n      78300.0,\n      78713.8,\n      79056.55,\n      79137.4,\n      79455.0\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$76,014.20\",\n  \"risk_scenario\": \"$76,014.20 range low가 명확히 이탈되면 bullish discount 반등 셋업은 무효화되며, 전일 저점 $76,107.10 아래의 sell-side liquidity가 흡수되지 않고 추세 하락으로 전환될 수 있다. 이 경우 $78,713.80 회복 전까지는 반등 매수보다 하락 지속 관점이 우세하다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.55,
      "setup_signals": [
        "현재가 $76,500.00는 스윙 EQ인 ret_0.5 $77,289.25 아래에 있어 할인 구간에 위치",
        "최근 하락 스윙 저점 $76,014.20에 근접해 있으며 ext_1.0 지지와 겹치는 반응 후보 구간",
        "nearest_fib ret_0.236 $76,616.02까지 거리 0.15%로 매우 근접하여 단기 회복 시 $76,988.34 ret_0.382까지 되돌림 가능",
        "fib_reaction_state가 testing이고 reaction_probability가 0.65로 산출되어 저점권 반등 시도 가능성 존재"
      ],
      "reasoning": "확인된 구조는 $78,564 고점에서 $76,014 저점으로 이어진 하락 스윙이며, 현재가 $76,500.00는 ret_0.236 $76,616.02 아래에 있어 아직 되돌림 저항을 회복하지 못했다. 또한 EMA20 $77,429.55, EMA120 $78,636.72, EMA240 $76,946.68 모두 현재가 위에 있어 구조적으로는 매도 우위가 유지된다. 다만 가격은 EQ인 ret_0.5 $77,289.25 아래 할인 구간에 있고, 스윙 저점 $76,014.20 및 ext_1.0 지지 부근에서 testing 상태이므로 선확인 관점의 setup_bias는 단기 반등 쪽으로 기운다. 핵심은 $76,616.02 회복 여부이며, 회복 실패 시 $76,014.20 재시험 후 $75,320.57, $74,958.46까지 하락 확장이 열릴 수 있다.",
      "key_levels": {
        "support": [
          76014.2,
          75320.57,
          74958.46,
          74438.24,
          73464.1
        ],
        "resistance": [
          76616.02,
          76988.34,
          77289.25,
          77590.16,
          78018.58
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$77,590.16",
      "risk_scenario": "$76,616.02 ret_0.236을 회복하고 $76,988.34 ret_0.382 위에서 수용되면 단기 약세 시나리오는 약화되며, $77,289.25 EQ와 황금비율 ret_0.618 $77,590.16까지 숏 커버링성 반등이 진행될 수 있다. 특히 $77,590.16을 명확히 돌파하면 하락 스윙 되돌림이 깊어져 $78,018.58 ret_0.786 재시험 위험이 커진다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "High→Low: $78,564 → $76,014",
        "direction": "down",
        "nearest_fib": "ret_0.236",
        "nearest_fib_price": 76616.02,
        "nearest_fib_distance": 0.15,
        "golden_ratio_level": 77590.16,
        "fib_ret_382": 76988.34,
        "fib_ret_618": 77590.16,
        "confluence_zones": [
          {
            "price": 72058.27,
            "count": 2,
            "levels": [
              "ext_2.618",
              "ret_0.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 74345.32,
            "count": 2,
            "levels": [
              "ret_0.5",
              "ext_1.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 75139.52,
            "count": 2,
            "levels": [
              "ext_1.414",
              "ext_1.272"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 76145.3,
            "count": 2,
            "levels": [
              "ext_1.0",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 76802.18,
            "count": 2,
            "levels": [
              "ret_0.236",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          76014.2,
          75320.5728,
          74958.4586
        ],
        "resistance_levels": [
          76616.0236,
          76988.3382,
          77289.25
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 76616.02,
            "distance_pct": 0.15,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.382",
            "price": 76988.34,
            "distance_pct": 0.64,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.5",
            "price": 77289.25,
            "distance_pct": 1.03,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 77590.16,
            "distance_pct": 1.43,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 78018.58,
            "distance_pct": 1.99,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 76014.2,
            "distance_pct": 0.64,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.272",
            "price": 75320.57,
            "distance_pct": 1.54,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 74958.46,
            "distance_pct": 2.02,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 74438.24,
            "distance_pct": 2.7,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_2.0",
            "price": 73464.1,
            "distance_pct": 3.97,
            "is_support": true,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.55,\n  \"setup_signals\": [\n    \"현재가 $76,500.00는 스윙 EQ인 ret_0.5 $77,289.25 아래에 있어 할인 구간에 위치\",\n    \"최근 하락 스윙 저점 $76,014.20에 근접해 있으며 ext_1.0 지지와 겹치는 반응 후보 구간\",\n    \"nearest_fib ret_0.236 $76,616.02까지 거리 0.15%로 매우 근접하여 단기 회복 시 $76,988.34 ret_0.382까지 되돌림 가능\",\n    \"fib_reaction_state가 testing이고 reaction_probability가 0.65로 산출되어 저점권 반등 시도 가능성 존재\"\n  ],\n  \"reasoning\": \"확인된 구조는 $78,564 고점에서 $76,014 저점으로 이어진 하락 스윙이며, 현재가 $76,500.00는 ret_0.236 $76,616.02 아래에 있어 아직 되돌림 저항을 회복하지 못했다. 또한 EMA20 $77,429.55, EMA120 $78,636.72, EMA240 $76,946.68 모두 현재가 위에 있어 구조적으로는 매도 우위가 유지된다. 다만 가격은 EQ인 ret_0.5 $77,289.25 아래 할인 구간에 있고, 스윙 저점 $76,014.20 및 ext_1.0 지지 부근에서 testing 상태이므로 선확인 관점의 setup_bias는 단기 반등 쪽으로 기운다. 핵심은 $76,616.02 회복 여부이며, 회복 실패 시 $76,014.20 재시험 후 $75,320.57, $74,958.46까지 하락 확장이 열릴 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      76014.2,\n      75320.57,\n      74958.46,\n      74438.24,\n      73464.1\n    ],\n    \"resistance\": [\n      76616.02,\n      76988.34,\n      77289.25,\n      77590.16,\n      78018.58\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$77,590.16\",\n  \"risk_scenario\": \"$76,616.02 ret_0.236을 회복하고 $76,988.34 ret_0.382 위에서 수용되면 단기 약세 시나리오는 약화되며, $77,289.25 EQ와 황금비율 ret_0.618 $77,590.16까지 숏 커버링성 반등이 진행될 수 있다. 특히 $77,590.16을 명확히 돌파하면 하락 스윙 되돌림이 깊어져 $78,018.58 ret_0.786 재시험 위험이 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.82,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "확정 분배 구조: regime=DIS, regime_state=confirmed_dis, dis_score=96.2, regime_fitness=0.963",
        "주요 분배 범위는 BC $78,300.00 / AR $73,669.00로 고정되며, 현재가 $76,500.00는 범위 중단부 부근에서 상단 회복 실패 상태",
        "Phase D 맥락에서 UTAD $82,828.70 이후 LPSY $81,270.20 형성, 이후 가격이 EMA20 $77,429.55 및 EMA120 $78,636.72 아래에 위치",
        "단기 재분배 후보 구조에서 LPSY $77,384.60 이후 SOW $76,595.70 및 Phase E 후보 $76,107.10가 출현해 하방 압력 유지",
        "즉시 확인 레벨은 $76,014.20 이탈 여부이며, 이탈 시 SOW_IN_PHASE_B $74,868.00 및 메인 AR 저점 $73,669.00 재시험 가능성 증가"
      ],
      "reasoning": "현재 4시간 구조는 DIS 확정 분배로, BC $78,300.00 → AR $73,669.00 → ST $79,455.00 → UT $79,145.00 → UTAD $82,828.70 → LPSY $81,270.20의 분배 체인이 확인되어 구조적 편향은 bearish이다. 현재가는 $76,500.00로 메인 범위 중단부 근처이지만 EMA20 $77,429.55와 EMA120 $78,636.72 아래에 있어, LPSY 이후 수요 회복보다 공급 우위가 유지되는 상태다. 다만 현재가가 이미 단기 저점 $76,014.20에 가까워 즉시 추격 매도보다는 $77,384.60 재거부 또는 $76,014.20 명확한 이탈 확인이 더 중요한 구간이다. $77,384.60을 회복하지 못하면 다음 하방 테스트는 $76,014.20, 이후 $74,868.00 및 $73,669.00 순서로 보는 것이 Wyckoff Phase D/E 관점에 부합한다.",
      "key_levels": {
        "support": [
          76014.2,
          74868.0,
          73669.0
        ],
        "resistance": [
          77384.6,
          78300.0,
          78636.72,
          81270.2,
          82828.7
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "82828.70",
      "risk_scenario": "$77,384.60을 회복하고 $78,300.00~$78,636.72 위에서 수용되면 단기 SOW 해석은 약화되며, $81,270.20 재시험 가능성이 열린다. 특히 $82,828.70 UTAD 고점을 회복하면 현재 분배 기반의 bearish 구조 판단은 무효화된다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 83.1,
        "dis_score": 96.2,
        "regime": "DIS",
        "regime_state": "confirmed_dis",
        "structure_bias": "bearish",
        "phase_context": "confirmed_dis / distribution / Phase D",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "UTAD",
          "LPSY"
        ],
        "last_phase": "LPSY",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 107,
            "price": 78300.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 121,
            "price": 73669.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 163,
            "price": 79455.0,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 179,
            "price": 74868.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 198,
            "price": 79145.0,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 219,
            "price": 82828.7,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 261,
            "price": 81270.2,
            "color": "#8338ec"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "4h_cycle_1",
            "sequence": 1,
            "timeframe": "4h",
            "regime": "distribution",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 107,
            "end_idx": 261,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 107,
                "price": 78300.0,
                "color": "#ffd166",
                "dt": "2026-04-18 01:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 121,
                "price": 73669.0,
                "color": "#06d6a0",
                "dt": "2026-04-20 09:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 163,
                "price": 79455.0,
                "color": "#118ab2",
                "dt": "2026-04-27 09:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 179,
                "price": 74868.0,
                "color": "#ef476f",
                "dt": "2026-04-30 01:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 198,
                "price": 79145.0,
                "color": "#f9844a",
                "dt": "2026-05-03 05:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 219,
                "price": 82828.7,
                "color": "#f9844a",
                "dt": "2026-05-06 17:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 261,
                "price": 81270.2,
                "color": "#8338ec",
                "dt": "2026-05-13 17:00:00+09:00"
              }
            ]
          },
          {
            "structure_id": "4h_cycle_2",
            "sequence": 2,
            "timeframe": "4h",
            "regime": "redistribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "redistribution",
            "start_idx": 274,
            "end_idx": 298,
            "phase_count": 6,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 274,
                "price": 78610.0,
                "color": "#ffd166",
                "dt": "2026-05-15 21:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 285,
                "price": 78564.3,
                "color": "#06d6a0",
                "dt": "2026-05-17 17:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 292,
                "price": 76014.2,
                "color": "#118ab2",
                "dt": "2026-05-18 21:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 295,
                "price": 77384.6,
                "color": "#8338ec",
                "dt": "2026-05-19 09:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 296,
                "price": 76595.7,
                "color": "#ef476f",
                "dt": "2026-05-19 13:00:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 298,
                "price": 76107.1,
                "color": "#7209b7",
                "dt": "2026-05-19 21:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "4h_cycle_2",
        "primary_structure_id": "4h_cycle_1",
        "structure_count": 2,
        "regime_fitness": 0.9625,
        "current_event": "LPSY",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 73669.0,
        "main_range_high": 78300.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.82,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"확정 분배 구조: regime=DIS, regime_state=confirmed_dis, dis_score=96.2, regime_fitness=0.963\",\n    \"주요 분배 범위는 BC $78,300.00 / AR $73,669.00로 고정되며, 현재가 $76,500.00는 범위 중단부 부근에서 상단 회복 실패 상태\",\n    \"Phase D 맥락에서 UTAD $82,828.70 이후 LPSY $81,270.20 형성, 이후 가격이 EMA20 $77,429.55 및 EMA120 $78,636.72 아래에 위치\",\n    \"단기 재분배 후보 구조에서 LPSY $77,384.60 이후 SOW $76,595.70 및 Phase E 후보 $76,107.10가 출현해 하방 압력 유지\",\n    \"즉시 확인 레벨은 $76,014.20 이탈 여부이며, 이탈 시 SOW_IN_PHASE_B $74,868.00 및 메인 AR 저점 $73,669.00 재시험 가능성 증가\"\n  ],\n  \"reasoning\": \"현재 4시간 구조는 DIS 확정 분배로, BC $78,300.00 → AR $73,669.00 → ST $79,455.00 → UT $79,145.00 → UTAD $82,828.70 → LPSY $81,270.20의 분배 체인이 확인되어 구조적 편향은 bearish이다. 현재가는 $76,500.00로 메인 범위 중단부 근처이지만 EMA20 $77,429.55와 EMA120 $78,636.72 아래에 있어, LPSY 이후 수요 회복보다 공급 우위가 유지되는 상태다. 다만 현재가가 이미 단기 저점 $76,014.20에 가까워 즉시 추격 매도보다는 $77,384.60 재거부 또는 $76,014.20 명확한 이탈 확인이 더 중요한 구간이다. $77,384.60을 회복하지 못하면 다음 하방 테스트는 $76,014.20, 이후 $74,868.00 및 $73,669.00 순서로 보는 것이 Wyckoff Phase D/E 관점에 부합한다.\",\n  \"key_levels\": {\n    \"support\": [\n      76014.2,\n      74868.0,\n      73669.0\n    ],\n    \"resistance\": [\n      77384.6,\n      78300.0,\n      78636.72,\n      81270.2,\n      82828.7\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"82828.70\",\n  \"risk_scenario\": \"$77,384.60을 회복하고 $78,300.00~$78,636.72 위에서 수용되면 단기 SOW 해석은 약화되며, $81,270.20 재시험 가능성이 열린다. 특히 $82,828.70 UTAD 고점을 회복하면 현재 분배 기반의 bearish 구조 판단은 무효화된다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.56,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.62,
      "setup_signals": [
        "활성 고컨플루언스 Bullish Bat PRZ 진입 및 방어: $75,267.38-$76,622.56, 현재가 $76,500은 PRZ 상단 부근",
        "완성된 strict Bullish Bat: D=$76,014.20, XAD=0.856, BCD=2.062, pattern_score=0.886",
        "PRZ 반응 확인: reaction_score=0.80, PRZ_touch_or_entry 및 PRZ_rejection_or_defense 확인",
        "D/PRZ 실패 구간 방어: $76,014.20 저점 이후 7개 4h 봉 경과, adverse_move_ratio_ad=0.0",
        "상방 TP ladder 유효: TP1 $78,574.55, TP2 $80,199.11, TP3 $82,828.70"
      ],
      "reasoning": "현재 핵심 하모닉은 completed strict Bullish Bat이며, 활성 PRZ는 $75,267.38-$76,622.56이고 현재가 $76,500은 여전히 이 반전 구간 상단에 위치한다. 이 패턴은 X=$74,868.00, A=$82,828.70, B=$79,801.00, C=$78,564.30, D=$76,014.20 구조이며, PRZ가 ABCD·BC_EXT·XAD 3개 Fib family로 구성된 high-confluence zone이다. 다만 하모닉 거버넌스상 confirmed reaction 이후에도 directional_vote_weight는 0.58로 중간 컨플루언스 수준이며, 단독으로 구조 전환을 확정할 수는 없다. 구조 측면에서는 명확한 4h BOS/CHoCH 또는 상위 구조 수용 정보가 없고 가격이 EMA20 $77,429.55 및 EMA120 $78,636.72 아래에 있어 structure_bias는 neutral로 둔다. 실행 관점에서는 PRZ 방어가 확인된 만큼 $78,574.55와 $80,199.11을 향한 단기 반등 setup_bias는 bullish이다.",
      "key_levels": {
        "support": [
          76622.56,
          76014.2,
          75944.97,
          75267.38,
          74868.0
        ],
        "resistance": [
          77429.55,
          78574.55,
          78636.72,
          80199.11,
          82828.7
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$75,267.38 4h 종가 이탈 및 하단 수용",
      "risk_scenario": "반대로 $75,267.38 하단이 4h 기준으로 이탈·수용되면 Bullish Bat PRZ 방어 실패로 해석되며, $76,014.20 D 저점 반응은 무효화된다. 이 경우 $74,868.00 X 저점 재테스트 또는 그 이하 유동성 회수로 확장될 수 있고, 상방 TP ladder인 $78,574.55-$80,199.11 시나리오는 보류해야 한다. 또한 반등이 $78,422.36-$78,857.49의 forming bearish Bat PRZ에 진입한 뒤 거절되면 단기 상승은 TP 달성 전 재차 매도 압력으로 전환될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 104,
        "completed_patterns_found": 43,
        "forming_d_prz_found": 61,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 58,
        "swing_highs_scanned": 30,
        "swing_lows_scanned": 28,
        "timeframe": "4h",
        "prz_active_threshold_pct": 0.75,
        "prz_nearby_threshold_pct": 1.5,
        "prz_watch_threshold_pct": 3.0,
        "prz_max_width_pct": 1.3,
        "quality_counts": {
          "high": 6,
          "medium": 37,
          "low": 61
        },
        "prz_status_counts": {
          "active": 25,
          "nearby": 13,
          "watch": 25,
          "far": 41,
          "forming": 27
        },
        "high_confluence_prz_count": 20,
        "strict_patterns_found": 46,
        "candidate_patterns_found": 58,
        "active_patterns_at_prz": 25,
        "nearby_patterns": 13,
        "all_patterns": [
          "bat",
          "bat",
          "shark",
          "butterfly",
          "crab",
          "butterfly",
          "bat",
          "gartley",
          "gartley",
          "bat",
          "bat",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "butterfly",
          "crab",
          "butterfly",
          "butterfly",
          "bat",
          "bat",
          "bat",
          "bat",
          "bat",
          "gartley",
          "bat",
          "bat",
          "crab",
          "bat",
          "shark",
          "bat",
          "shark",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "shark",
          "crab",
          "crab",
          "bat",
          "gartley",
          "shark",
          "shark",
          "butterfly",
          "butterfly",
          "crab",
          "shark",
          "crab",
          "bat",
          "shark",
          "shark",
          "butterfly",
          "shark",
          "butterfly",
          "bat",
          "bat",
          "butterfly",
          "butterfly",
          "crab",
          "gartley",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "gartley",
          "bat",
          "shark",
          "crab",
          "crab",
          "gartley",
          "shark",
          "shark",
          "butterfly",
          "butterfly",
          "bat",
          "butterfly",
          "shark",
          "shark",
          "crab",
          "shark",
          "shark",
          "gartley",
          "shark",
          "butterfly",
          "butterfly",
          "shark",
          "shark",
          "shark",
          "butterfly",
          "bat",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.943,
        "best_completion_status": "forming",
        "nearest_pattern": "gartley",
        "nearest_prz": 76535.81,
        "price_to_prz": 0.05,
        "prz_range": [
          75845.1,
          77226.53
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "confirmed_reaction_prz_count": 1,
        "validated_harmonic_tp_count": 1,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.898,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 78639.93,
            "prz_range": [
              78422.36,
              78857.49
            ],
            "prz_width_pct": 0.553,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.8,
            "price_to_prz_pct_raw": 2.7973,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 78639.93,
              "a_price": 77206.8,
              "tp1_ad_382": 78092.47,
              "tp2_ad_618": 77754.25,
              "tp3_a_or_structure_liquidity": 77206.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4624,
              "ABC": 0.3828
            },
            "x_price": 78648.0,
            "x_idx": 142,
            "x_order": 3,
            "a_price": 77206.8,
            "a_idx": 150,
            "a_order": 3,
            "b_price": 77873.2,
            "b_idx": 177,
            "b_order": 8,
            "c_price": 78128.3,
            "c_idx": 207,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.89,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79119.19,
            "prz_range": [
              78638.01,
              79600.37
            ],
            "prz_width_pct": 1.216,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.42,
            "price_to_prz_pct_raw": 3.4238,
            "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": "crab",
              "d_price": 79119.19,
              "a_price": 77206.8,
              "tp1_ad_382": 78388.66,
              "tp2_ad_618": 77937.33,
              "tp3_a_or_structure_liquidity": 77206.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4624,
              "ABC": 0.3828
            },
            "x_price": 78648.0,
            "x_idx": 142,
            "x_order": 3,
            "a_price": 77206.8,
            "a_idx": 150,
            "a_order": 3,
            "b_price": 77873.2,
            "b_idx": 177,
            "b_order": 8,
            "c_price": 78128.3,
            "c_idx": 207,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.876,
            "ratio_score": 0.976,
            "prz_score": 0.979,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79110.35,
            "prz_range": [
              78548.99,
              79671.71
            ],
            "prz_width_pct": 1.419,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.41,
            "price_to_prz_pct_raw": 3.4122,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 79110.35,
              "a_price": 82460.5,
              "tp1_ad_382": 80390.11,
              "tp2_ad_618": 81180.74,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6139,
              "ABC": 0.5524
            },
            "x_price": 78128.3,
            "x_idx": 207,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 246,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 261,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.943,
            "ratio_score": 1.0,
            "prz_score": 0.913,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 75944.97,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.73,
            "price_to_prz_pct_raw": -0.7255,
            "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": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4209,
              "ABC": 0.4085
            },
            "x_price": 75635.6,
            "x_idx": 172,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 219,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 285,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.898,
            "ratio_score": 0.985,
            "prz_score": 0.954,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 78287.78,
            "prz_range": [
              77679.14,
              78896.42
            ],
            "prz_width_pct": 1.555,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.34,
            "price_to_prz_pct_raw": 2.337,
            "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": 78287.78,
              "a_price": 77206.8,
              "tp1_ad_382": 77874.84,
              "tp2_ad_618": 77619.73,
              "tp3_a_or_structure_liquidity": 77206.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4442,
              "ABC": 1.1668
            },
            "x_price": 78648.0,
            "x_idx": 142,
            "x_order": 3,
            "a_price": 77206.8,
            "a_idx": 150,
            "a_order": 3,
            "b_price": 77847.0,
            "b_idx": 153,
            "b_order": 3,
            "c_price": 77100.0,
            "c_idx": 155,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.886,
            "ratio_score": 0.927,
            "prz_score": 0.913,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76014.2,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.73,
            "price_to_prz_pct_raw": -0.7255,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.201,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 7,
                "reasons": [
                  "initial_PRZ_reaction",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3803,
              "ABC": 0.4085,
              "BCD": 2.062,
              "XAD": 0.856
            },
            "x_price": 74868.0,
            "x_idx": 179,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 219,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 285,
            "c_order": 5,
            "d_idx": 292
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.862,
            "ratio_score": 1.0,
            "prz_score": 0.927,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79237.34,
            "prz_range": [
              78560.37,
              79914.31
            ],
            "prz_width_pct": 1.709,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.58,
            "price_to_prz_pct_raw": 3.5782,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 79237.34,
              "a_price": 82460.5,
              "tp1_ad_382": 80468.59,
              "tp2_ad_618": 81229.25,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.477,
              "ABC": 0.424
            },
            "x_price": 78128.3,
            "x_idx": 207,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 246,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 261,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.816,
            "ratio_score": 0.851,
            "prz_score": 0.968,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 78610.0,
            "prz_range": [
              78472.46,
              79640.89
            ],
            "prz_width_pct": 1.478,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.34,
            "price_to_prz_pct_raw": 3.3421,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.5,
              "reaction_detail": {
                "reaction_score": 0.5,
                "reaction_move_ratio_ad": 0.219,
                "adverse_move_ratio_ad": 0.239,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 79056.68,
              "a_price": 82828.7,
              "tp1_ad_382": 80497.59,
              "tp2_ad_618": 81387.79,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5422,
              "ABC": 0.4014,
              "BCD": 2.5454,
              "XAD": 0.8786
            },
            "x_price": 78027.0,
            "x_idx": 200,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 219,
            "a_order": 8,
            "b_price": 80225.1,
            "b_idx": 246,
            "b_order": 5,
            "c_price": 81270.2,
            "c_idx": 261,
            "c_order": 5,
            "d_idx": 274
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.886,
            "ratio_score": 0.927,
            "prz_score": 0.913,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76014.2,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.73,
            "price_to_prz_pct_raw": -0.7255,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.201,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 7,
                "reasons": [
                  "initial_PRZ_reaction",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3803,
              "ABC": 0.4085,
              "BCD": 2.062,
              "XAD": 0.856
            },
            "x_price": 74868.0,
            "x_idx": 179,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 219,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 285,
            "c_order": 5,
            "d_idx": 292
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.898,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 78639.93,
            "prz_range": [
              78422.36,
              78857.49
            ],
            "prz_width_pct": 0.553,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.8,
            "price_to_prz_pct_raw": 2.7973,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 78639.93,
              "a_price": 77206.8,
              "tp1_ad_382": 78092.47,
              "tp2_ad_618": 77754.25,
              "tp3_a_or_structure_liquidity": 77206.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4624,
              "ABC": 0.3828
            },
            "x_price": 78648.0,
            "x_idx": 142,
            "x_order": 3,
            "a_price": 77206.8,
            "a_idx": 150,
            "a_order": 3,
            "b_price": 77873.2,
            "b_idx": 177,
            "b_order": 8,
            "c_price": 78128.3,
            "c_idx": 207,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.89,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79119.19,
            "prz_range": [
              78638.01,
              79600.37
            ],
            "prz_width_pct": 1.216,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.42,
            "price_to_prz_pct_raw": 3.4238,
            "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": "crab",
              "d_price": 79119.19,
              "a_price": 77206.8,
              "tp1_ad_382": 78388.66,
              "tp2_ad_618": 77937.33,
              "tp3_a_or_structure_liquidity": 77206.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4624,
              "ABC": 0.3828
            },
            "x_price": 78648.0,
            "x_idx": 142,
            "x_order": 3,
            "a_price": 77206.8,
            "a_idx": 150,
            "a_order": 3,
            "b_price": 77873.2,
            "b_idx": 177,
            "b_order": 8,
            "c_price": 78128.3,
            "c_idx": 207,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.876,
            "ratio_score": 0.976,
            "prz_score": 0.979,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79110.35,
            "prz_range": [
              78548.99,
              79671.71
            ],
            "prz_width_pct": 1.419,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.41,
            "price_to_prz_pct_raw": 3.4122,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 79110.35,
              "a_price": 82460.5,
              "tp1_ad_382": 80390.11,
              "tp2_ad_618": 81180.74,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6139,
              "ABC": 0.5524
            },
            "x_price": 78128.3,
            "x_idx": 207,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 246,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 261,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.943,
            "ratio_score": 1.0,
            "prz_score": 0.913,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 75944.97,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.73,
            "price_to_prz_pct_raw": -0.7255,
            "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": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4209,
              "ABC": 0.4085
            },
            "x_price": 75635.6,
            "x_idx": 172,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 219,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 285,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.898,
            "ratio_score": 0.985,
            "prz_score": 0.954,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 78287.78,
            "prz_range": [
              77679.14,
              78896.42
            ],
            "prz_width_pct": 1.555,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.34,
            "price_to_prz_pct_raw": 2.337,
            "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": 78287.78,
              "a_price": 77206.8,
              "tp1_ad_382": 77874.84,
              "tp2_ad_618": 77619.73,
              "tp3_a_or_structure_liquidity": 77206.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4442,
              "ABC": 1.1668
            },
            "x_price": 78648.0,
            "x_idx": 142,
            "x_order": 3,
            "a_price": 77206.8,
            "a_idx": 150,
            "a_order": 3,
            "b_price": 77847.0,
            "b_idx": 153,
            "b_order": 3,
            "c_price": 77100.0,
            "c_idx": 155,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.886,
            "ratio_score": 0.927,
            "prz_score": 0.913,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76014.2,
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_width_pct": 1.784,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.73,
            "price_to_prz_pct_raw": -0.7255,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.201,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 7,
                "reasons": [
                  "initial_PRZ_reaction",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3803,
              "ABC": 0.4085,
              "BCD": 2.062,
              "XAD": 0.856
            },
            "x_price": 74868.0,
            "x_idx": 179,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 219,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 285,
            "c_order": 5,
            "d_idx": 292
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.862,
            "ratio_score": 1.0,
            "prz_score": 0.927,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79237.34,
            "prz_range": [
              78560.37,
              79914.31
            ],
            "prz_width_pct": 1.709,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.58,
            "price_to_prz_pct_raw": 3.5782,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 79237.34,
              "a_price": 82460.5,
              "tp1_ad_382": 80468.59,
              "tp2_ad_618": 81229.25,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.477,
              "ABC": 0.424
            },
            "x_price": 78128.3,
            "x_idx": 207,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 246,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 250,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 261,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.816,
            "ratio_score": 0.851,
            "prz_score": 0.968,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 78610.0,
            "prz_range": [
              78472.46,
              79640.89
            ],
            "prz_width_pct": 1.478,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.34,
            "price_to_prz_pct_raw": 3.3421,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.5,
              "reaction_detail": {
                "reaction_score": 0.5,
                "reaction_move_ratio_ad": 0.219,
                "adverse_move_ratio_ad": 0.239,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 79056.68,
              "a_price": 82828.7,
              "tp1_ad_382": 80497.59,
              "tp2_ad_618": 81387.79,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5422,
              "ABC": 0.4014,
              "BCD": 2.5454,
              "XAD": 0.8786
            },
            "x_price": 78027.0,
            "x_idx": 200,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 219,
            "a_order": 8,
            "b_price": 80225.1,
            "b_idx": 246,
            "b_order": 5,
            "c_price": 81270.2,
            "c_idx": 261,
            "c_order": 5,
            "d_idx": 274
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.758,
            "ratio_score": 0.748,
            "prz_score": 0.962,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 78610.0,
            "prz_range": [
              78381.03,
              79576.86
            ],
            "prz_width_pct": 1.514,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.24,
            "price_to_prz_pct_raw": 3.2405,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.239,
                "adverse_move_ratio_ad": 0.262,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 78978.95,
              "a_price": 82460.5,
              "tp1_ad_382": 80308.9,
              "tp2_ad_618": 81130.55,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5999,
              "ABC": 0.8265,
              "BCD": 1.5419,
              "XAD": 0.8685
            },
            "x_price": 78027.0,
            "x_idx": 200,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 246,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 81999.0,
            "c_idx": 269,
            "c_order": 8,
            "d_idx": 274
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.758,
            "ratio_score": 0.7,
            "prz_score": 0.954,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 77873.2,
            "prz_range": [
              77679.14,
              78896.42
            ],
            "prz_width_pct": 1.555,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.34,
            "price_to_prz_pct_raw": 2.337,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 4.51,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 78287.78,
              "a_price": 77206.8,
              "tp1_ad_382": 77874.84,
              "tp2_ad_618": 77619.73,
              "tp3_a_or_structure_liquidity": 77206.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4442,
              "ABC": 1.1668,
              "BCD": 1.0351,
              "XAD": 0.4624
            },
            "x_price": 78648.0,
            "x_idx": 142,
            "x_order": 3,
            "a_price": 77206.8,
            "a_idx": 150,
            "a_order": 3,
            "b_price": 77847.0,
            "b_idx": 153,
            "b_order": 3,
            "c_price": 77100.0,
            "c_idx": 155,
            "c_order": 8,
            "d_idx": 177
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.732,
            "ratio_score": 0.48,
            "prz_score": 0.907,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 77813.71,
            "prz_range": [
              77106.13,
              78521.29
            ],
            "prz_width_pct": 1.819,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.72,
            "price_to_prz_pct_raw": 1.7173,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 77813.71,
              "a_price": 81043.2,
              "tp1_ad_382": 79047.38,
              "tp2_ad_618": 79809.54,
              "tp3_a_or_structure_liquidity": 81043.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4262,
              "ABC": 0.9956
            },
            "x_price": 78128.3,
            "x_idx": 207,
            "x_order": 5,
            "a_price": 81043.2,
            "a_idx": 239,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 285,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.599,
            "ratio_score": 0.46,
            "prz_score": 0.908,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 78713.8,
            "prz_range": [
              78651.89,
              80089.91
            ],
            "prz_width_pct": 1.812,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.75,
            "price_to_prz_pct_raw": 3.7528,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 1.41,
                "adverse_move_ratio_ad": 0.045,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 79370.9,
              "a_price": 81043.2,
              "tp1_ad_382": 80009.72,
              "tp2_ad_618": 80404.38,
              "tp3_a_or_structure_liquidity": 81043.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6518,
              "ABC": 1.1827,
              "BCD": 1.74,
              "XAD": 1.2223
            },
            "x_price": 79137.4,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 81043.2,
            "a_idx": 239,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 257,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 261,
            "c_order": 5,
            "d_idx": 263
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.886,
            "prz_proximity": "active",
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.73,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.201,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 7,
                "reasons": [
                  "initial_PRZ_reaction",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 75944.97,
              "a_price": 82828.7,
              "tp1_ad_382": 78574.55,
              "tp2_ad_618": 80199.11,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT COMPLETED MEDIUM PRZ $75,267.38-$76,622.56: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "bat",
          "signal": "bullish",
          "completion_status": "completed",
          "pattern_quality": "strict",
          "quality": "medium",
          "pattern_score": 0.886,
          "ratio_score": 0.927,
          "prz_score": 0.913,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 76014.2,
          "prz_range": [
            75267.38,
            76622.56
          ],
          "prz_width_pct": 1.784,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.73,
          "price_to_prz_pct_raw": -0.7255,
          "harmonic_vote_state": {
            "authority": "post_confirmation_vote_eligible",
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "confirmation_reasons": [
              "PRZ_touch_or_entry",
              "PRZ_rejection_or_defense",
              "initial_PRZ_reaction",
              "PRZ_center_reclaimed_or_rejected",
              "D_PRZ_failure_zone_defended",
              "post_D_close_progress"
            ],
            "reaction_score": 0.8,
            "reaction_detail": {
              "reaction_score": 0.8,
              "reaction_move_ratio_ad": 0.201,
              "adverse_move_ratio_ad": 0.0,
              "bars_after_d": 7,
              "reasons": [
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ]
            },
            "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
            "standalone_path_override_allowed": false
          },
          "directional_vote_weight": 0.58,
          "confirmed_reaction": true,
          "standalone_path_override_allowed": false,
          "tp_ladder": {
            "direction": "bullish",
            "source": "bat",
            "d_price": 75944.97,
            "a_price": 82828.7,
            "tp1_ad_382": 78574.55,
            "tp2_ad_618": 80199.11,
            "tp3_a_or_structure_liquidity": 82828.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.3803,
            "ABC": 0.4085,
            "BCD": 2.062,
            "XAD": 0.856
          },
          "x_price": 74868.0,
          "x_idx": 179,
          "x_order": 8,
          "a_price": 82828.7,
          "a_idx": 219,
          "a_order": 8,
          "b_price": 79801.0,
          "b_idx": 257,
          "b_order": 3,
          "c_price": 78564.3,
          "c_idx": 285,
          "c_order": 5,
          "d_idx": 292
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 75944.97,
          "a_price": 82828.7,
          "tp1_ad_382": 78574.55,
          "tp2_ad_618": 80199.11,
          "tp3_a_or_structure_liquidity": 82828.7,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 75944.97,
          "a_price": 82828.7,
          "tp1_ad_382": 78574.55,
          "tp2_ad_618": 80199.11,
          "tp3_a_or_structure_liquidity": 82828.7,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 75944.97,
            "a_price": 82828.7,
            "tp1_ad_382": 78574.55,
            "tp2_ad_618": 80199.11,
            "tp3_a_or_structure_liquidity": 82828.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 75944.97,
            "a_price": 82828.7,
            "tp1_ad_382": 78574.55,
            "tp2_ad_618": 80199.11,
            "tp3_a_or_structure_liquidity": 82828.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "watch",
        "directional_scores": {
          "bullish": 0.367,
          "bearish": 0
        },
        "directional_score_total": 0.367,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"활성 고컨플루언스 Bullish Bat PRZ 진입 및 방어: $75,267.38-$76,622.56, 현재가 $76,500은 PRZ 상단 부근\",\n    \"완성된 strict Bullish Bat: D=$76,014.20, XAD=0.856, BCD=2.062, pattern_score=0.886\",\n    \"PRZ 반응 확인: reaction_score=0.80, PRZ_touch_or_entry 및 PRZ_rejection_or_defense 확인\",\n    \"D/PRZ 실패 구간 방어: $76,014.20 저점 이후 7개 4h 봉 경과, adverse_move_ratio_ad=0.0\",\n    \"상방 TP ladder 유효: TP1 $78,574.55, TP2 $80,199.11, TP3 $82,828.70\"\n  ],\n  \"reasoning\": \"현재 핵심 하모닉은 completed strict Bullish Bat이며, 활성 PRZ는 $75,267.38-$76,622.56이고 현재가 $76,500은 여전히 이 반전 구간 상단에 위치한다. 이 패턴은 X=$74,868.00, A=$82,828.70, B=$79,801.00, C=$78,564.30, D=$76,014.20 구조이며, PRZ가 ABCD·BC_EXT·XAD 3개 Fib family로 구성된 high-confluence zone이다. 다만 하모닉 거버넌스상 confirmed reaction 이후에도 directional_vote_weight는 0.58로 중간 컨플루언스 수준이며, 단독으로 구조 전환을 확정할 수는 없다. 구조 측면에서는 명확한 4h BOS/CHoCH 또는 상위 구조 수용 정보가 없고 가격이 EMA20 $77,429.55 및 EMA120 $78,636.72 아래에 있어 structure_bias는 neutral로 둔다. 실행 관점에서는 PRZ 방어가 확인된 만큼 $78,574.55와 $80,199.11을 향한 단기 반등 setup_bias는 bullish이다.\",\n  \"key_levels\": {\n    \"support\": [\n      76622.56,\n      76014.2,\n      75944.97,\n      75267.38,\n      74868.0\n    ],\n    \"resistance\": [\n      77429.55,\n      78574.55,\n      78636.72,\n      80199.11,\n      82828.7\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$75,267.38 4h 종가 이탈 및 하단 수용\",\n  \"risk_scenario\": \"반대로 $75,267.38 하단이 4h 기준으로 이탈·수용되면 Bullish Bat PRZ 방어 실패로 해석되며, $76,014.20 D 저점 반응은 무효화된다. 이 경우 $74,868.00 X 저점 재테스트 또는 그 이하 유동성 회수로 확장될 수 있고, 상방 TP ladder인 $78,574.55-$80,199.11 시나리오는 보류해야 한다. 또한 반등이 $78,422.36-$78,857.49의 forming bearish Bat PRZ에 진입한 뒤 거절되면 단기 상승은 TP 달성 전 재차 매도 압력으로 전환될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "현재가 $76,500이 EMA20 $77,429.55, EMA120 $78,636.72, EMA240 $76,946.68 아래에 위치해 단기 구조 수용이 약세",
        "CVD 변화 -3353.3350으로 가격 반등 시도 대비 매수 체결 참여가 약함",
        "롱 계정 비율 0.604, account_long_crowding 0.762로 롱 포지셔닝이 혼잡해 반대매매 리스크 존재",
        "24h OI 변화 -0.0420%로 신규 매수 유입보다 포지션 축소/언와인딩 성격이 강함",
        "상단 근접 청산 레벨 $77,200, $78,000이 있으나, 해당 구간 돌파 실패 시 하단 $74,900 및 $68,800 유동성으로 재가속 가능"
      ],
      "reasoning": "현재 BTC는 $76,500으로 7일 저점 $76,014.20 근처에 머물며 EMA20 $77,429.55와 EMA120 $78,636.72 아래에서 거래되고 있어 확인된 구조는 약세로 본다. 파생 포지셔닝은 aggregate_score 0.346, bear_signals 3, bull_signals 0으로 매수 우위가 확인되지 않으며, CVD 변화 -3353.3350은 하락 압력이 체결 흐름에서 유지되고 있음을 시사한다. 롱 계정 비율이 0.604이고 account_long_crowding이 0.762로 높은 편이라, 가격이 $77,200~$78,000 상단 청산대를 흡수하지 못하면 롱 청산이 $74,900 방향으로 유도될 수 있다. 다만 funding_avg가 0.000에 가깝고 OI가 24h -0.0420%로 크게 증가하지 않아, 강한 추세 하락보다는 4~8시간 내 약세 우위의 유동성 사냥 구간으로 해석한다.",
      "key_levels": {
        "support": [
          76014.2,
          74900,
          71200,
          68800
        ],
        "resistance": [
          77200,
          77429.55,
          78000,
          78636.72,
          79400,
          81999
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$78,636.72 상방 4시간봉 종가 수용",
      "risk_scenario": "$77,200과 $78,000 상단 청산 레벨을 빠르게 돌파하고 EMA120 $78,636.72 위에서 4시간봉이 마감되면, 숏 커버링이 붙으며 $79,400 및 7일 고점 $81,999까지 반등하는 반대 시나리오가 열린다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -3353.335,
        "oi_trend": 0.496,
        "oi_change_pct_24h": -0.042,
        "oi_latest": 106057.078,
        "funding_pressure": 0.443,
        "funding_avg": 5.679e-05,
        "funding_change_24h": -1.615e-05,
        "long_account_ratio": 0.591,
        "short_account_ratio": 0.409,
        "long_account_latest": 0.604,
        "short_account_latest": 0.396,
        "long_account_change_24h": -0.0035,
        "short_account_change_24h": 0.0035,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 0.762,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.491,
        "spot_futures_basis_pct": -0.0366,
        "basis_change_lookback": 0.013,
        "aggregate_score": 0.346,
        "bull_signals": 0,
        "bear_signals": 3,
        "liq_below": [
          [
            74900,
            16237.209898000001
          ],
          [
            71200,
            14372.52465875
          ],
          [
            68800,
            21560.24928625
          ]
        ],
        "liq_above": [
          [
            77200,
            14975.04819125
          ],
          [
            78000,
            20599.20571935
          ],
          [
            79400,
            15369.569104000002
          ]
        ],
        "strongest_liq_level": 68800,
        "fragility_score": 0.615,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"현재가 $76,500이 EMA20 $77,429.55, EMA120 $78,636.72, EMA240 $76,946.68 아래에 위치해 단기 구조 수용이 약세\",\n    \"CVD 변화 -3353.3350으로 가격 반등 시도 대비 매수 체결 참여가 약함\",\n    \"롱 계정 비율 0.604, account_long_crowding 0.762로 롱 포지셔닝이 혼잡해 반대매매 리스크 존재\",\n    \"24h OI 변화 -0.0420%로 신규 매수 유입보다 포지션 축소/언와인딩 성격이 강함\",\n    \"상단 근접 청산 레벨 $77,200, $78,000이 있으나, 해당 구간 돌파 실패 시 하단 $74,900 및 $68,800 유동성으로 재가속 가능\"\n  ],\n  \"reasoning\": \"현재 BTC는 $76,500으로 7일 저점 $76,014.20 근처에 머물며 EMA20 $77,429.55와 EMA120 $78,636.72 아래에서 거래되고 있어 확인된 구조는 약세로 본다. 파생 포지셔닝은 aggregate_score 0.346, bear_signals 3, bull_signals 0으로 매수 우위가 확인되지 않으며, CVD 변화 -3353.3350은 하락 압력이 체결 흐름에서 유지되고 있음을 시사한다. 롱 계정 비율이 0.604이고 account_long_crowding이 0.762로 높은 편이라, 가격이 $77,200~$78,000 상단 청산대를 흡수하지 못하면 롱 청산이 $74,900 방향으로 유도될 수 있다. 다만 funding_avg가 0.000에 가깝고 OI가 24h -0.0420%로 크게 증가하지 않아, 강한 추세 하락보다는 4~8시간 내 약세 우위의 유동성 사냥 구간으로 해석한다.\",\n  \"key_levels\": {\n    \"support\": [\n      76014.2,\n      74900,\n      71200,\n      68800\n    ],\n    \"resistance\": [\n      77200,\n      77429.55,\n      78000,\n      78636.72,\n      79400,\n      81999\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$78,636.72 상방 4시간봉 종가 수용\",\n  \"risk_scenario\": \"$77,200과 $78,000 상단 청산 레벨을 빠르게 돌파하고 EMA120 $78,636.72 위에서 4시간봉이 마감되면, 숏 커버링이 붙으며 $79,400 및 7일 고점 $81,999까지 반등하는 반대 시나리오가 열린다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "neutral",
    "overall_confidence": 0.5,
    "execution_setup": {},
    "signal_breakdown": {},
    "key_levels": {},
    "confluences": [],
    "conflicts": [],
    "executive_summary": "",
    "raw_llm_response": ""
  },
  "overall_signal": "neutral",
  "overall_confidence": 0.5,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.58,
    "waypoints": [
      {
        "seq": 1,
        "price": 77289.25,
        "type": "resistance_test",
        "source": "Fibonacci(ret_0.5 EQ $77,289.25), ICT(discount→EQ 반등), Harmonic(Bullish Bat PRZ 방어 reaction_score 0.80), Candlestick(morning_star@291, hammer@290 후보)",
        "description": "Bullish Bat PRZ($75,267-$76,622) 방어 확인 후 단기 반등 시도. fib EQ $77,289.25와 EMA20 $77,429.55가 겹치는 1차 저항대. ICT 되돌림 179.3% 과매도 + PRZ reaction이 단기 반등 셋업을 지지하지만 EMA120/EMA240 모두 위에 있어 거부 가능성이 더 높음.",
        "est_hours": 5.0,
        "turning_zone": [
          77289.25,
          77590.16
        ],
        "likely_wick": 77429.55,
        "rejection_confirm": 76988.34,
        "invalid_overshoot": 77750.0,
        "calibration_reasoning": "fib EQ $77,289.25를 하단으로, golden ratio 0.618 $77,590.16을 상단으로 설정(폭 $300.91 ≈ 0.41×ATR). likely_wick은 EMA20 $77,429.55와 일치하는 confluence 거부 지점, rejection_confirm은 fib 0.382 $76,988.34 하향 이탈, invalid_overshoot은 golden ratio를 0.2×ATR 초과하는 $77,750."
      },
      {
        "seq": 2,
        "price": 76014.2,
        "type": "liquidity_sweep",
        "source": "Wyckoff(DIS Phase D, 다음 하방 테스트 $76,014.20 지목, dis_score 96.2), Derivatives(account_long_crowding 0.762, CVD -3353, 롱 청산 유도), ICT(range low + sell-side liquidity), Fibonacci(ext_1.0 지지, swing low)",
        "description": "EQ/EMA20 거부 이후 7일 저점이자 range low $76,014.20을 sweep. 롱 포지셔닝 혼잡(0.604/0.762)으로 stop-run 유발 가능성이 높고, Wyckoff DIS LPSY 이후 약세 연속성과 정합. CVD 음전환은 체결 매수 약화를 시사.",
        "est_hours": 12.0,
        "turning_zone": [
          75720.0,
          76014.2
        ],
        "likely_wick": 75850.0,
        "rejection_confirm": 76145.3,
        "invalid_overshoot": 75650.0,
        "calibration_reasoning": "range low $76,014.20을 상단으로, round $76,000 직하단 stop-run을 흡수할 수 있는 $75,720(폭 $294 ≈ 0.40×ATR)을 하단으로 설정. likely_wick $75,850은 round number 자석과 sweep 통상 깊이가 겹치는 구간, rejection_confirm은 fib confluence $76,145.30 재돌파, invalid_overshoot은 PRZ 코어로 진입하는 $75,650 하향 이탈."
      },
      {
        "seq": 3,
        "price": 75267.38,
        "type": "support_test",
        "source": "Harmonic(Bullish Bat PRZ 하단 $75,267.38), Fib confluence WP1 $75,139.52(score 0.6), Wyckoff(차하방 테스트 영역), Candlestick(7일 저점 하방 확장)",
        "description": "Sell-side sweep 후 PRZ 하단과 fib_confluence $75,139.52가 겹치는 깊은 지지 테스트. 여기서 방어 시 Bat 패턴 풀리졸루션으로 $77,289~$78,574 반등 경로 재개. 명확한 이탈 시 $74,868(X점)→$74,345 fib_confluence로 확장.",
        "est_hours": 20.0,
        "turning_zone": [
          74868.0,
          75267.38
        ],
        "likely_wick": 75139.52,
        "rejection_confirm": 75600.0,
        "invalid_overshoot": 74800.0,
        "calibration_reasoning": "터미널 waypoint로 PRZ 하단 $75,267.38과 Bat X점 $74,868을 양끝으로 설정(폭 $399 ≈ 0.54×ATR). likely_wick은 fib_confluence $75,139.52(ext_1.272/1.414 겹침)에 위치하며 round $75,000 자석에도 근접, rejection_confirm은 PRZ 중심부 위 $75,600 회복, invalid_overshoot $74,800은 X점 하향 이탈로 $74,345 fib_confluence 확장 트리거."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 77200.0,
        "expected_low": 76200.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 77289.25,
        "expected_low": 75800.0,
        "high_first": true
      },
      "24h": {
        "expected_high": 77429.55,
        "expected_low": 75267.38,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 77429.55,
        "description": "EMA20 $77,429.55를 4h 봉마감 기준 거래량과 함께 회복하면 PRZ 방어가 단순 반등이 아닌 구조 전환 시도로 격상. $78,300(BC)→$78,636(EMA120) 향한 추가 상승 가속, 본 시나리오의 sweep 경로 약화."
      },
      "bearish": {
        "price": 76000.0,
        "description": "$76,014.20을 거래량 동반하여 결정적으로 하향 이탈하면 sell-side liquidity 사냥 가속. 롱 청산 트리거되며 $75,267(PRZ 하단)→$75,139(fib confluence)→$74,868(X점)로 단축 도달 예상."
      }
    },
    "scenario_invalidation": 78636.72,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.58,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 77289.25,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci(ret_0.5 EQ $77,289.25), ICT(discount→EQ 반등), Harmonic(Bullish Bat PRZ 방어 reaction_score 0.80), Candlestick(morning_star@291, hammer@290 후보)\",\n      \"description\": \"Bullish Bat PRZ($75,267-$76,622) 방어 확인 후 단기 반등 시도. fib EQ $77,289.25와 EMA20 $77,429.55가 겹치는 1차 저항대. ICT 되돌림 179.3% 과매도 + PRZ reaction이 단기 반등 셋업을 지지하지만 EMA120/EMA240 모두 위에 있어 거부 가능성이 더 높음.\",\n      \"est_hours\": 5.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 76014.20,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Wyckoff(DIS Phase D, 다음 하방 테스트 $76,014.20 지목, dis_score 96.2), Derivatives(account_long_crowding 0.762, CVD -3353, 롱 청산 유도), ICT(range low + sell-side liquidity), Fibonacci(ext_1.0 지지, swing low)\",\n      \"description\": \"EQ/EMA20 거부 이후 7일 저점이자 range low $76,014.20을 sweep. 롱 포지셔닝 혼잡(0.604/0.762)으로 stop-run 유발 가능성이 높고, Wyckoff DIS LPSY 이후 약세 연속성과 정합. CVD 음전환은 체결 매수 약화를 시사.\",\n      \"est_hours\": 12.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 75267.38,\n      \"type\": \"support_test\",\n      \"source\": \"Harmonic(Bullish Bat PRZ 하단 $75,267.38), Fib confluence WP1 $75,139.52(score 0.6), Wyckoff(차하방 테스트 영역), Candlestick(7일 저점 하방 확장)\",\n      \"description\": \"Sell-side sweep 후 PRZ 하단과 fib_confluence $75,139.52가 겹치는 깊은 지지 테스트. 여기서 방어 시 Bat 패턴 풀리졸루션으로 $77,289~$78,574 반등 경로 재개. 명확한 이탈 시 $74,868(X점)→$74,345 fib_confluence로 확장.\",\n      \"est_hours\": 20.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 77200.00, \"expected_low\": 76200.00, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 77289.25, \"expected_low\": 75800.00, \"high_first\": true},\n    \"24h\": {\"expected_high\": 77429.55, \"expected_low\": 75267.38, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 77429.55, \"description\": \"EMA20 $77,429.55를 4h 봉마감 기준 거래량과 함께 회복하면 PRZ 방어가 단순 반등이 아닌 구조 전환 시도로 격상. $78,300(BC)→$78,636(EMA120) 향한 추가 상승 가속, 본 시나리오의 sweep 경로 약화.\"},\n    \"bearish\": {\"price\": 76000.00, \"description\": \"$76,014.20을 거래량 동반하여 결정적으로 하향 이탈하면 sell-side liquidity 사냥 가속. 롱 청산 트리거되며 $75,267(PRZ 하단)→$75,139(fib confluence)→$74,868(X점)로 단축 도달 예상.\"}\n  },\n  \"scenario_invalidation\": 78636.72\n}\n```\n\nEMA120 $78,636.72를 4h 마감 기준 회복하면 BEARISH 구조 수용이 무너지고 sweep 경로 자체가 무효화됩니다. 핵심 분기점은 WP1(EQ $77,289) 거부 여부이며, 거부 실패 시 path_type을 trending bullish로 재평가해야 합니다."
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 77289.25,
        "turning_zone": [
          77289.25,
          77590.16
        ],
        "likely_wick": 77429.55,
        "rejection_confirm": 76988.34,
        "invalid_overshoot": 77750.0,
        "calibration_reasoning": "fib EQ $77,289.25를 하단으로, golden ratio 0.618 $77,590.16을 상단으로 설정(폭 $300.91 ≈ 0.41×ATR). likely_wick은 EMA20 $77,429.55와 일치하는 confluence 거부 지점, rejection_confirm은 fib 0.382 $76,988.34 하향 이탈, invalid_overshoot은 golden ratio를 0.2×ATR 초과하는 $77,750."
      },
      {
        "seq": 2,
        "base_target": 76014.2,
        "turning_zone": [
          75720.0,
          76014.2
        ],
        "likely_wick": 75850.0,
        "rejection_confirm": 76145.3,
        "invalid_overshoot": 75650.0,
        "calibration_reasoning": "range low $76,014.20을 상단으로, round $76,000 직하단 stop-run을 흡수할 수 있는 $75,720(폭 $294 ≈ 0.40×ATR)을 하단으로 설정. likely_wick $75,850은 round number 자석과 sweep 통상 깊이가 겹치는 구간, rejection_confirm은 fib confluence $76,145.30 재돌파, invalid_overshoot은 PRZ 코어로 진입하는 $75,650 하향 이탈."
      },
      {
        "seq": 3,
        "base_target": 75267.38,
        "turning_zone": [
          74868.0,
          75267.38
        ],
        "likely_wick": 75139.52,
        "rejection_confirm": 75600.0,
        "invalid_overshoot": 74800.0,
        "calibration_reasoning": "터미널 waypoint로 PRZ 하단 $75,267.38과 Bat X점 $74,868을 양끝으로 설정(폭 $399 ≈ 0.54×ATR). likely_wick은 fib_confluence $75,139.52(ext_1.272/1.414 겹침)에 위치하며 round $75,000 자석에도 근접, rejection_confirm은 PRZ 중심부 위 $75,600 회복, invalid_overshoot $74,800은 X점 하향 이탈로 $74,345 fib_confluence 확장 트리거."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 77289.25,\n      \"turning_zone\": [77289.25, 77590.16],\n      \"likely_wick\": 77429.55,\n      \"rejection_confirm\": 76988.34,\n      \"invalid_overshoot\": 77750.00,\n      \"calibration_reasoning\": \"fib EQ $77,289.25를 하단으로, golden ratio 0.618 $77,590.16을 상단으로 설정(폭 $300.91 ≈ 0.41×ATR). likely_wick은 EMA20 $77,429.55와 일치하는 confluence 거부 지점, rejection_confirm은 fib 0.382 $76,988.34 하향 이탈, invalid_overshoot은 golden ratio를 0.2×ATR 초과하는 $77,750.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 76014.20,\n      \"turning_zone\": [75720.00, 76014.20],\n      \"likely_wick\": 75850.00,\n      \"rejection_confirm\": 76145.30,\n      \"invalid_overshoot\": 75650.00,\n      \"calibration_reasoning\": \"range low $76,014.20을 상단으로, round $76,000 직하단 stop-run을 흡수할 수 있는 $75,720(폭 $294 ≈ 0.40×ATR)을 하단으로 설정. likely_wick $75,850은 round number 자석과 sweep 통상 깊이가 겹치는 구간, rejection_confirm은 fib confluence $76,145.30 재돌파, invalid_overshoot은 PRZ 코어로 진입하는 $75,650 하향 이탈.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 75267.38,\n      \"turning_zone\": [74868.00, 75267.38],\n      \"likely_wick\": 75139.52,\n      \"rejection_confirm\": 75600.00,\n      \"invalid_overshoot\": 74800.00,\n      \"calibration_reasoning\": \"터미널 waypoint로 PRZ 하단 $75,267.38과 Bat X점 $74,868을 양끝으로 설정(폭 $399 ≈ 0.54×ATR). likely_wick은 fib_confluence $75,139.52(ext_1.272/1.414 겹침)에 위치하며 round $75,000 자석에도 근접, rejection_confirm은 PRZ 중심부 위 $75,600 회복, invalid_overshoot $74,800은 X점 하향 이탈로 $74,345 fib_confluence 확장 트리거.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 34.7,
      "chairman": 123.2,
      "operating_path": 70.5,
      "tp_calibrator": 43.8
    },
    "agents": {},
    "total_s": 272.1
  }
}