{
  "symbol": "BTC/USDT",
  "timeframe": "4h",
  "timestamp": "2026-05-22 13:00 KST",
  "last_price": 77760.0,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bullish",
      "confidence": 0.61,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.64,
      "setup_signals": [
        "고거래량 morning_star 발생: pattern_quality 0.688, strict 등급, 현재가 $77,760이 EMA20 $77,513.16 위에서 유지",
        "7일 저점 $76,014.20 부근에서 반등 구조 형성 가능성, EMA240 $76,951.37도 하단 지지로 작용",
        "bull_score 2.30이 bear_score 0.80을 상회하여 단기 캔들 모멘텀은 매수 우위",
        "단기 저항 EMA120 $78,374.79 아래에 있어 아직 구조적 상승 전환은 미확정",
        "최근 doji가 고거래량으로 출현해 $77,500~$78,375 구간에서 방향성 확인 대기"
      ],
      "reasoning": "현재 BTC는 $77,760으로 EMA20 $77,513.16 위에 있으나 EMA120 $78,374.79 아래에 있어, 확정된 추세 구조는 중립으로 판단한다. 최근 패턴 중 가장 강한 신호는 고거래량 morning_star이며 품질 점수 0.688로 strict 등급이므로 단기 반등 setup은 유효하다. 다만 evening_star와 doji도 함께 감지되었고, 7일 고점 $80,793까지 가기 전에 EMA120 $78,374.79 저항을 돌파해야 구조적 강세 확인이 가능하다. ATR이 약 $661.70이므로 $78,375 상방 안착 또는 $76,951~$76,014 하방 이탈이 다음 방향성을 결정할 가능성이 높다.",
      "key_levels": {
        "support": [
          77513.16,
          76951.37,
          76014.2
        ],
        "resistance": [
          78374.79,
          80793
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$76,014.20",
      "risk_scenario": "반대로 $76,014.20을 하향 이탈하면 morning_star 기반의 단기 반등 setup은 무효화되며, EMA240 $76,951.37도 지지 실패로 해석되어 하락 추세 재개 가능성이 커진다. 이 경우 $77,513.16 EMA20은 저항으로 전환될 수 있고, 반등 시 매도 압력이 강화될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 137,
        "recent_patterns": 5,
        "pattern_list": [
          "hammer@290",
          "bullish_engulfing@292",
          "evening_star@294",
          "morning_star@296",
          "doji@295"
        ],
        "atr_value": 661.7,
        "vol_avg_20": 16574.66,
        "high_volume_patterns": [
          "morning_star",
          "doji"
        ],
        "pattern_candidates": [
          {
            "pattern": "morning_star",
            "signal": "bullish",
            "pattern_quality": 0.688,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "evening_star",
            "signal": "bearish",
            "pattern_quality": 0.577,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.555,
            "tier": "candidate",
            "high_volume": true
          },
          {
            "pattern": "hammer",
            "signal": "bullish",
            "pattern_quality": 0.418,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.399,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.688,
        "bull_score": 2.3,
        "bear_score": 0.8
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.61,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"고거래량 morning_star 발생: pattern_quality 0.688, strict 등급, 현재가 $77,760이 EMA20 $77,513.16 위에서 유지\",\n    \"7일 저점 $76,014.20 부근에서 반등 구조 형성 가능성, EMA240 $76,951.37도 하단 지지로 작용\",\n    \"bull_score 2.30이 bear_score 0.80을 상회하여 단기 캔들 모멘텀은 매수 우위\",\n    \"단기 저항 EMA120 $78,374.79 아래에 있어 아직 구조적 상승 전환은 미확정\",\n    \"최근 doji가 고거래량으로 출현해 $77,500~$78,375 구간에서 방향성 확인 대기\"\n  ],\n  \"reasoning\": \"현재 BTC는 $77,760으로 EMA20 $77,513.16 위에 있으나 EMA120 $78,374.79 아래에 있어, 확정된 추세 구조는 중립으로 판단한다. 최근 패턴 중 가장 강한 신호는 고거래량 morning_star이며 품질 점수 0.688로 strict 등급이므로 단기 반등 setup은 유효하다. 다만 evening_star와 doji도 함께 감지되었고, 7일 고점 $80,793까지 가기 전에 EMA120 $78,374.79 저항을 돌파해야 구조적 강세 확인이 가능하다. ATR이 약 $661.70이므로 $78,375 상방 안착 또는 $76,951~$76,014 하방 이탈이 다음 방향성을 결정할 가능성이 높다.\",\n  \"key_levels\": {\n    \"support\": [\n      77513.16,\n      76951.37,\n      76014.2\n    ],\n    \"resistance\": [\n      78374.79,\n      80793\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$76,014.20\",\n  \"risk_scenario\": \"반대로 $76,014.20을 하향 이탈하면 morning_star 기반의 단기 반등 setup은 무효화되며, EMA240 $76,951.37도 지지 실패로 해석되어 하락 추세 재개 가능성이 커진다. 이 경우 $77,513.16 EMA20은 저항으로 전환될 수 있고, 반등 시 매도 압력이 강화될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.66,
      "setup_signals": [
        "현재가 $77,760이 EMA120 $78,374.79 아래에 있어 중기 구조적 수용은 아직 회복되지 않음",
        "24시간 OI -1.0410% 감소로 신규 추세 베팅보다 포지션 언와인딩 성격이 우세",
        "CVD 변화 -2071.8660으로 가격 반등 대비 매수 체결 참여가 약함",
        "롱 계정 비율 0.556, 숏 계정 비율 0.444로 롱 쪽이 약간 우세해 단기 반대매매 리스크 존재",
        "현물-선물 베이시스 -0.0457%로 선물 프리미엄이 약하고 파생 수요가 강하지 않음",
        "상단 청산 밀집 구간 $78,000 / $78,400 / $78,800이 가까워 상단 유동성 흡수 후 되밀림 가능성 존재"
      ],
      "reasoning": "현재 BTC는 $77,760으로 EMA20 $77,513 위에는 있지만 EMA120 $78,374.79 아래에 머물러 있어 구조적으로는 명확한 상방 전환이 확인되지 않은 중립 박스권 상태입니다. 파생 지표는 약세 쪽으로 기울어져 있으며 aggregate_score 0.328, bull_signals 0개 대비 bear_signals 3개로 매수 참여가 부족합니다. 특히 OI가 24시간 -1.0410% 감소하고 CVD가 -2071.8660 하락해 가격이 버티는 동안 실제 체결 흐름은 약해지는 모습입니다. 상단에는 $78,000, $78,400, $78,800 청산 유동성이 가까워 단기 스윕은 가능하지만, EMA120 $78,374.79 위 안착 실패 시 $75,900 및 $74,900 하방 유동성으로 되돌림이 열릴 가능성이 더 높습니다.",
      "key_levels": {
        "support": [
          77513.16,
          76951.37,
          76014.2,
          75900,
          74900,
          74300
        ],
        "resistance": [
          78000,
          78374.79,
          78400,
          78800,
          80793
        ]
      },
      "time_horizon": "short term, 4-8시간",
      "invalidation_level": "$78,800 상방 돌파 및 4시간봉 종가 안착",
      "risk_scenario": "$78,800 위로 4시간봉이 안착하면 상단 청산 유동성 흡수가 단순 스윕이 아니라 구조적 수용으로 바뀌며, 숏 커버링이 붙어 7일 고점 $80,793 재테스트까지 상승할 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -2071.866,
        "oi_trend": 0.396,
        "oi_change_pct_24h": -1.041,
        "oi_latest": 100903.837,
        "funding_pressure": 0.454,
        "funding_avg": 4.566e-05,
        "funding_change_24h": -4.39e-06,
        "long_account_ratio": 0.561,
        "short_account_ratio": 0.439,
        "long_account_latest": 0.556,
        "short_account_latest": 0.444,
        "long_account_change_24h": 0.0026,
        "short_account_change_24h": -0.0026,
        "account_flow_label": "stable",
        "account_short_crowding": 0.0,
        "account_long_crowding": 0.505,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.489,
        "spot_futures_basis_pct": -0.0457,
        "basis_change_lookback": -0.0058,
        "aggregate_score": 0.328,
        "bull_signals": 0,
        "bear_signals": 3,
        "liq_below": [
          [
            75900,
            12584.7053518
          ],
          [
            74900,
            14781.405297000001
          ],
          [
            74300,
            12527.026452000002
          ]
        ],
        "liq_above": [
          [
            78000,
            14497.031565000001
          ],
          [
            78400,
            12784.81171995
          ],
          [
            78800,
            12761.976085350001
          ]
        ],
        "strongest_liq_level": 68800,
        "fragility_score": 0.569,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.66,\n  \"setup_signals\": [\n    \"현재가 $77,760이 EMA120 $78,374.79 아래에 있어 중기 구조적 수용은 아직 회복되지 않음\",\n    \"24시간 OI -1.0410% 감소로 신규 추세 베팅보다 포지션 언와인딩 성격이 우세\",\n    \"CVD 변화 -2071.8660으로 가격 반등 대비 매수 체결 참여가 약함\",\n    \"롱 계정 비율 0.556, 숏 계정 비율 0.444로 롱 쪽이 약간 우세해 단기 반대매매 리스크 존재\",\n    \"현물-선물 베이시스 -0.0457%로 선물 프리미엄이 약하고 파생 수요가 강하지 않음\",\n    \"상단 청산 밀집 구간 $78,000 / $78,400 / $78,800이 가까워 상단 유동성 흡수 후 되밀림 가능성 존재\"\n  ],\n  \"reasoning\": \"현재 BTC는 $77,760으로 EMA20 $77,513 위에는 있지만 EMA120 $78,374.79 아래에 머물러 있어 구조적으로는 명확한 상방 전환이 확인되지 않은 중립 박스권 상태입니다. 파생 지표는 약세 쪽으로 기울어져 있으며 aggregate_score 0.328, bull_signals 0개 대비 bear_signals 3개로 매수 참여가 부족합니다. 특히 OI가 24시간 -1.0410% 감소하고 CVD가 -2071.8660 하락해 가격이 버티는 동안 실제 체결 흐름은 약해지는 모습입니다. 상단에는 $78,000, $78,400, $78,800 청산 유동성이 가까워 단기 스윕은 가능하지만, EMA120 $78,374.79 위 안착 실패 시 $75,900 및 $74,900 하방 유동성으로 되돌림이 열릴 가능성이 더 높습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      77513.16,\n      76951.37,\n      76014.2,\n      75900,\n      74900,\n      74300\n    ],\n    \"resistance\": [\n      78000,\n      78374.79,\n      78400,\n      78800,\n      80793\n    ]\n  },\n  \"time_horizon\": \"short term, 4-8시간\",\n  \"invalidation_level\": \"$78,800 상방 돌파 및 4시간봉 종가 안착\",\n  \"risk_scenario\": \"$78,800 위로 4시간봉이 안착하면 상단 청산 유동성 흡수가 단순 스윕이 아니라 구조적 수용으로 바뀌며, 숏 커버링이 붙어 7일 고점 $80,793 재테스트까지 상승할 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.72,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.75,
      "setup_signals": [
        "가격 $77,760.00이 EQ $79,006.60 아래 discount 영역에 있으며, EQ 재회복 실패 시 하방 continuation 가능성 우세",
        "최근 구조 이벤트가 bearish BOS below $79,137.40 및 bearish BOS below $78,713.80로 연속 2회 bearish BOS 형성",
        "이전일 고가 $78,180.00을 아직 돌파하지 못했고, EMA120 $78,374.79 아래에서 거래되어 상단 공급 압력 존재",
        "bearish CHoCH 기준 레벨 $77,100.00이 단기 하방 확인 레벨로 작동",
        "활성 OB와 미충족 FVG가 없어 명확한 bullish displacement 재료가 부족함"
      ],
      "reasoning": "현재 4시간 구조는 최근 CHoCH 이후 bearish BOS가 $79,137.40 및 $78,713.80 아래로 연속 발생했기 때문에 confirmed structure_bias는 bearish로 판단한다. 가격 $77,760.00은 EQ $79,006.60 아래 discount 영역에 있으나, 이전일 고가 $78,180.00과 EMA120 $78,374.79를 회복하지 못해 반등이 아직 구조 전환으로 확인되지 않았다. 활성 bullish OB, bearish OB, 미충족 FVG가 모두 0개이며 최근 liquidity sweep도 없어, 기관성 유동성 사냥 후 강한 반전보다는 $77,100.00 및 $76,696.70 재시험 리스크가 더 크다. 다만 현재가가 EMA20 $77,513.16 위에 있어 단기 반등은 가능하므로, $79,137.40 상방 회복 전까지는 bearish continuation 관점이 우세하다.",
      "key_levels": {
        "support": [
          77513.16,
          77100.0,
          76951.37,
          76696.7,
          76014.2
        ],
        "resistance": [
          78180.0,
          78374.79,
          78713.8,
          79006.6,
          79137.4,
          80793.0
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$79,137.40",
      "risk_scenario": "반대 시나리오는 가격이 $78,180.00 이전일 고가와 EMA120 $78,374.79를 회복한 뒤 $79,006.60 EQ 위에서 수용되는 경우이다. 특히 $79,137.40 상방을 명확히 회복하면 최근 bearish BOS가 무효화되고, $80,793.00 7일 고가 및 $81,999.00 range high 쪽 buy-side liquidity를 노리는 bullish reversal로 전환될 수 있다.",
      "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": 48,
        "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": 79006.6,
        "range_high": 81999.0,
        "range_low": 76014.2,
        "bull_score": 7.2,
        "bear_score": 7.7,
        "setup_bias": "bearish",
        "setup_score": 0.75,
        "setup_signals": [
          "bearish CHoCH below $77,100.00",
          "bearish BOS below $79,137.40",
          "bearish BOS below $78,713.80"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 29.4,
        "deepest_retracement_pct": 36.2,
        "previous_day_high": 78180.0,
        "previous_day_low": 76696.7,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.72,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.75,\n  \"setup_signals\": [\n    \"가격 $77,760.00이 EQ $79,006.60 아래 discount 영역에 있으며, EQ 재회복 실패 시 하방 continuation 가능성 우세\",\n    \"최근 구조 이벤트가 bearish BOS below $79,137.40 및 bearish BOS below $78,713.80로 연속 2회 bearish BOS 형성\",\n    \"이전일 고가 $78,180.00을 아직 돌파하지 못했고, EMA120 $78,374.79 아래에서 거래되어 상단 공급 압력 존재\",\n    \"bearish CHoCH 기준 레벨 $77,100.00이 단기 하방 확인 레벨로 작동\",\n    \"활성 OB와 미충족 FVG가 없어 명확한 bullish displacement 재료가 부족함\"\n  ],\n  \"reasoning\": \"현재 4시간 구조는 최근 CHoCH 이후 bearish BOS가 $79,137.40 및 $78,713.80 아래로 연속 발생했기 때문에 confirmed structure_bias는 bearish로 판단한다. 가격 $77,760.00은 EQ $79,006.60 아래 discount 영역에 있으나, 이전일 고가 $78,180.00과 EMA120 $78,374.79를 회복하지 못해 반등이 아직 구조 전환으로 확인되지 않았다. 활성 bullish OB, bearish OB, 미충족 FVG가 모두 0개이며 최근 liquidity sweep도 없어, 기관성 유동성 사냥 후 강한 반전보다는 $77,100.00 및 $76,696.70 재시험 리스크가 더 크다. 다만 현재가가 EMA20 $77,513.16 위에 있어 단기 반등은 가능하므로, $79,137.40 상방 회복 전까지는 bearish continuation 관점이 우세하다.\",\n  \"key_levels\": {\n    \"support\": [\n      77513.16,\n      77100.0,\n      76951.37,\n      76696.7,\n      76014.2\n    ],\n    \"resistance\": [\n      78180.0,\n      78374.79,\n      78713.8,\n      79006.6,\n      79137.4,\n      80793.0\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$79,137.40\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 $78,180.00 이전일 고가와 EMA120 $78,374.79를 회복한 뒤 $79,006.60 EQ 위에서 수용되는 경우이다. 특히 $79,137.40 상방을 명확히 회복하면 최근 bearish BOS가 무효화되고, $80,793.00 7일 고가 및 $81,999.00 range high 쪽 buy-side liquidity를 노리는 bullish reversal로 전환될 수 있다.\",\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": [
        "현재가 $77,760은 메인 분배 박스 EQ 약 $75,984.50 위의 프리미엄 구간에 위치",
        "BC $78,300 부근 재진입 후에도 LPSY $81,270.20과 UTAD $82,828.70을 회복하지 못한 공급 우위 구조",
        "최근 하단 이벤트가 SOW_IN_PHASE_B $76,696.70 및 SOW $76,970.00으로 표시되어 하방 재시험 압력이 남아 있음",
        "현재가는 EMA120 $78,374.79 아래에 있어 $78,300~$78,375 구간이 단기 거절대 역할"
      ],
      "reasoning": "4시간 Wyckoff 판독은 regime=DIS, regime_state=confirmed_dis, regime_fitness=0.963으로 확인된 분배 구조이며, 주요 앵커는 BC $78,300과 AR $73,669입니다. 이벤트 체인은 BC → AR → ST $79,455 → SOW_IN_PHASE_B $74,868 → UT $79,145 → UTAD $82,828.70 → LPSY $81,270.20로 진행되어 현재 Phase D의 약세 구조로 해석됩니다. 현재가 $77,760은 메인 레인지 상단 $78,300 근처의 프리미엄 영역에 있지만, LPSY $81,270.20 및 UTAD $82,828.70 회복이 없어 구조적 약세가 유지됩니다. 단기 경로는 $78,300~$78,375 저항을 회복하지 못하면 $76,970, $76,696.70, 이후 $76,107.10 하단 재시험이 우선입니다.",
      "key_levels": {
        "support": [
          76970.0,
          76696.7,
          76107.1,
          74868.0,
          73669.0
        ],
        "resistance": [
          78300.0,
          78374.79,
          79145.0,
          79455.0,
          81270.2,
          82828.7
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$82,828.70 상향 회복 및 4시간 종가 기준 수용",
      "risk_scenario": "$78,300~$78,375 구간을 강하게 회복하면 단기 약세 셋업은 약화되고 $79,145~$79,455 재시험이 열립니다. 이후 LPSY $81,270.20 위로 수용되면 분배 Phase D 하방 진행은 지연되며, UTAD $82,828.70까지의 상단 유동성 재시험 가능성이 커집니다. $82,828.70 위에서 4시간 종가 수용이 확인되면 현재 분배 약세 구조 해석은 무효화됩니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 86.7,
        "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": 92,
            "price": 78300.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 106,
            "price": 73669.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 148,
            "price": 79455.0,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 164,
            "price": 74868.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 183,
            "price": 79145.0,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 204,
            "price": 82828.7,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 246,
            "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": 92,
            "end_idx": 246,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 92,
                "price": 78300.0,
                "color": "#ffd166",
                "dt": "2026-04-18 01:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 106,
                "price": 73669.0,
                "color": "#06d6a0",
                "dt": "2026-04-20 09:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 148,
                "price": 79455.0,
                "color": "#118ab2",
                "dt": "2026-04-27 09:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 164,
                "price": 74868.0,
                "color": "#ef476f",
                "dt": "2026-04-30 01:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 183,
                "price": 79145.0,
                "color": "#f9844a",
                "dt": "2026-05-03 05:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 204,
                "price": 82828.7,
                "color": "#f9844a",
                "dt": "2026-05-06 17:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 246,
                "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": 259,
            "end_idx": 296,
            "phase_count": 5,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 259,
                "price": 78610.0,
                "color": "#ffd166",
                "dt": "2026-05-15 21:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 270,
                "price": 78564.3,
                "color": "#06d6a0",
                "dt": "2026-05-17 17:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 283,
                "price": 76107.1,
                "color": "#118ab2",
                "dt": "2026-05-19 21:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 295,
                "price": 76696.7,
                "color": "#ef476f",
                "dt": "2026-05-21 21:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 296,
                "price": 76970.0,
                "color": "#ef476f",
                "dt": "2026-05-22 01: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    \"현재가 $77,760은 메인 분배 박스 EQ 약 $75,984.50 위의 프리미엄 구간에 위치\",\n    \"BC $78,300 부근 재진입 후에도 LPSY $81,270.20과 UTAD $82,828.70을 회복하지 못한 공급 우위 구조\",\n    \"최근 하단 이벤트가 SOW_IN_PHASE_B $76,696.70 및 SOW $76,970.00으로 표시되어 하방 재시험 압력이 남아 있음\",\n    \"현재가는 EMA120 $78,374.79 아래에 있어 $78,300~$78,375 구간이 단기 거절대 역할\"\n  ],\n  \"reasoning\": \"4시간 Wyckoff 판독은 regime=DIS, regime_state=confirmed_dis, regime_fitness=0.963으로 확인된 분배 구조이며, 주요 앵커는 BC $78,300과 AR $73,669입니다. 이벤트 체인은 BC → AR → ST $79,455 → SOW_IN_PHASE_B $74,868 → UT $79,145 → UTAD $82,828.70 → LPSY $81,270.20로 진행되어 현재 Phase D의 약세 구조로 해석됩니다. 현재가 $77,760은 메인 레인지 상단 $78,300 근처의 프리미엄 영역에 있지만, LPSY $81,270.20 및 UTAD $82,828.70 회복이 없어 구조적 약세가 유지됩니다. 단기 경로는 $78,300~$78,375 저항을 회복하지 못하면 $76,970, $76,696.70, 이후 $76,107.10 하단 재시험이 우선입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      76970.0,\n      76696.7,\n      76107.1,\n      74868.0,\n      73669.0\n    ],\n    \"resistance\": [\n      78300.0,\n      78374.79,\n      79145.0,\n      79455.0,\n      81270.2,\n      82828.7\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$82,828.70 상향 회복 및 4시간 종가 기준 수용\",\n  \"risk_scenario\": \"$78,300~$78,375 구간을 강하게 회복하면 단기 약세 셋업은 약화되고 $79,145~$79,455 재시험이 열립니다. 이후 LPSY $81,270.20 위로 수용되면 분배 Phase D 하방 진행은 지연되며, UTAD $82,828.70까지의 상단 유동성 재시험 가능성이 커집니다. $82,828.70 위에서 4시간 종가 수용이 확인되면 현재 분배 약세 구조 해석은 무효화됩니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bullish",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $77,760은 최근 상승 스윙 $76,107→$78,180의 0.236 되돌림 $77,690.80을 테스트 중이며 거리 0.09%로 매우 근접",
        "가격이 EQ/0.5 되돌림 $77,143.55 위에 있어 프리미엄 구간에 위치하므로 신규 추격 매수 효율은 제한적",
        "0.382 되돌림 $77,388.15와 0.5 되돌림 $77,143.55가 단기 하방 방어선으로 작동 가능",
        "황금비 0.618 되돌림 $76,898.95가 핵심 고확률 지지선이며, 이탈 전까지 상승 스윙의 되돌림 구조는 유지",
        "상단에는 스윙 고점 $78,180 및 확장 목표 $78,743.83~$79,038.18 구간에 강한 피보나치 컨플루언스가 존재"
      ],
      "reasoning": "현재 BTC/USDT는 상승 스윙 $76,107→$78,180 이후 0.236 되돌림 $77,690.80을 테스트하고 있으며, 현재가 $77,760은 해당 지지와 0.09% 거리로 매우 가까워 단기 반등 셋업이 유효하다. 다만 구조적으로는 $78,180 고점 돌파 및 안착이 아직 확인되지 않았기 때문에 확정적 상승 구조라기보다 박스 내부 중립 구조로 판단한다. 가장 중요한 지지 구간은 $77,388.15, $77,143.55, 그리고 황금비 0.618인 $76,898.95이며, 특히 $76,898.95 이탈 시 현재 상승 되돌림 시나리오의 신뢰도가 크게 낮아진다. 상방으로는 $78,180 돌파 후 $78,743.83, $79,038.18, $79,461.05가 순차 목표이며, $78,854.23 부근은 컨플루언스 점수 0.85의 핵심 저항 클러스터다.",
      "key_levels": {
        "support": [
          77690.8,
          77388.15,
          77143.55,
          76898.95,
          76550.7
        ],
        "resistance": [
          78180.0,
          78743.83,
          79038.18,
          79461.05,
          80252.9
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "76898.95",
      "risk_scenario": "$77,690.80의 0.236 지지가 무너지고 $77,388.15 및 $77,143.55까지 연속 이탈하면 단기 반등 셋업은 실패로 전환된다. 특히 황금비 지지선 $76,898.95 아래로 4시간봉 종가가 확정되면 상승 스윙의 건강한 되돌림 구조가 훼손되며, $76,550.70 및 스윙 저점 $76,107 재검사 가능성이 커진다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $76,107 → $78,180",
        "direction": "up",
        "nearest_fib": "ret_0.236",
        "nearest_fib_price": 77690.8,
        "nearest_fib_distance": 0.09,
        "golden_ratio_level": 76898.95,
        "fib_ret_382": 77388.15,
        "fib_ret_618": 76898.95,
        "confluence_zones": [
          {
            "price": 78854.23,
            "count": 3,
            "levels": [
              "ext_1.272",
              "ret_0.236",
              "ext_1.414"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 76413.55,
            "count": 2,
            "levels": [
              "ret_0.382",
              "ret_0.786"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 77021.25,
            "count": 2,
            "levels": [
              "ret_0.618",
              "ret_0.5"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 77539.47,
            "count": 2,
            "levels": [
              "ret_0.382",
              "ret_0.236"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          77690.7956,
          77388.1522,
          77143.55
        ],
        "resistance_levels": [
          78180.0,
          78743.8288,
          79038.18059999999
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 77690.8,
            "distance_pct": 0.09,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.382",
            "price": 77388.15,
            "distance_pct": 0.48,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.5",
            "price": 77143.55,
            "distance_pct": 0.79,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.618",
            "price": 76898.95,
            "distance_pct": 1.11,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.786",
            "price": 76550.7,
            "distance_pct": 1.56,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.0",
            "price": 78180.0,
            "distance_pct": 0.54,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 78743.83,
            "distance_pct": 1.27,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.414",
            "price": 79038.18,
            "distance_pct": 1.64,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.618",
            "price": 79461.05,
            "distance_pct": 2.19,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 80252.9,
            "distance_pct": 3.21,
            "is_support": false,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.85,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $77,760은 최근 상승 스윙 $76,107→$78,180의 0.236 되돌림 $77,690.80을 테스트 중이며 거리 0.09%로 매우 근접\",\n    \"가격이 EQ/0.5 되돌림 $77,143.55 위에 있어 프리미엄 구간에 위치하므로 신규 추격 매수 효율은 제한적\",\n    \"0.382 되돌림 $77,388.15와 0.5 되돌림 $77,143.55가 단기 하방 방어선으로 작동 가능\",\n    \"황금비 0.618 되돌림 $76,898.95가 핵심 고확률 지지선이며, 이탈 전까지 상승 스윙의 되돌림 구조는 유지\",\n    \"상단에는 스윙 고점 $78,180 및 확장 목표 $78,743.83~$79,038.18 구간에 강한 피보나치 컨플루언스가 존재\"\n  ],\n  \"reasoning\": \"현재 BTC/USDT는 상승 스윙 $76,107→$78,180 이후 0.236 되돌림 $77,690.80을 테스트하고 있으며, 현재가 $77,760은 해당 지지와 0.09% 거리로 매우 가까워 단기 반등 셋업이 유효하다. 다만 구조적으로는 $78,180 고점 돌파 및 안착이 아직 확인되지 않았기 때문에 확정적 상승 구조라기보다 박스 내부 중립 구조로 판단한다. 가장 중요한 지지 구간은 $77,388.15, $77,143.55, 그리고 황금비 0.618인 $76,898.95이며, 특히 $76,898.95 이탈 시 현재 상승 되돌림 시나리오의 신뢰도가 크게 낮아진다. 상방으로는 $78,180 돌파 후 $78,743.83, $79,038.18, $79,461.05가 순차 목표이며, $78,854.23 부근은 컨플루언스 점수 0.85의 핵심 저항 클러스터다.\",\n  \"key_levels\": {\n    \"support\": [\n      77690.8,\n      77388.15,\n      77143.55,\n      76898.95,\n      76550.7\n    ],\n    \"resistance\": [\n      78180.0,\n      78743.83,\n      79038.18,\n      79461.05,\n      80252.9\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"76898.95\",\n  \"risk_scenario\": \"$77,690.80의 0.236 지지가 무너지고 $77,388.15 및 $77,143.55까지 연속 이탈하면 단기 반등 셋업은 실패로 전환된다. 특히 황금비 지지선 $76,898.95 아래로 4시간봉 종가가 확정되면 상승 스윙의 건강한 되돌림 구조가 훼손되며, $76,550.70 및 스윙 저점 $76,107 재검사 가능성이 커진다.\",\n  \"data_quality\": \"medium\"\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에서 D=$76,014.20 방어 후 반등 확인, reaction_score 0.95",
        "Bat PRZ 중심 및 실패구간 방어: D_PRZ_failure_zone_defended, adverse_move_ratio_ad 0.0",
        "현재가 $77,760은 확정 Bat PRZ 상단 $76,622.56 위에 재수용되어 있으며, 검증 TP1 $78,574.55가 아직 미도달",
        "근접 고컨플루언스 Bullish Gartley 형성 PRZ $78,548.99-$79,671.71, pattern_score 0.920, XAB 0.6139로 0.618에 근접",
        "현재가가 EMA20 $77,513.16 및 EMA240 $76,951.37 위에 있으나 EMA120 $78,374.79 아래에 있어 단기 반등 setup은 있으나 구조 확정은 부족"
      ],
      "reasoning": "하모닉 관점의 주된 확정 근거는 Bullish Bat가 $75,267.38-$76,622.56 PRZ에서 완성되고 D=$76,014.20을 방어한 뒤 reaction_score 0.95를 기록했다는 점이다. 이 패턴의 검증된 상승 TP는 $78,574.55, $80,199.11, $82,828.70이며 현재가 $77,760은 아직 TP1 아래에 있어 단기 상승 여지가 남아 있다. 다만 가장 높은 점수의 Bullish Gartley는 아직 형성 중이며 PRZ가 $78,548.99-$79,671.71로 현재가보다 약 1.74% 위에 있어, 진입·터치 후 거부 또는 15m/1h MSS 같은 확인 전에는 독립적인 추세 전환 근거가 아니다. 따라서 구조는 확정 BOS/CHoCH 자료가 없어 neutral로 두고, setup만 확정 Bat 반응과 근접 Gartley PRZ를 근거로 bullish로 평가한다.",
      "key_levels": {
        "support": [
          77106.13,
          76622.56,
          76014.2,
          75267.38
        ],
        "resistance": [
          78548.99,
          78574.55,
          79671.71,
          80199.11,
          80390.11,
          81180.74,
          82460.5
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$75,267.38 4h 종가 하향 이탈",
      "risk_scenario": "가격이 $78,548.99-$79,671.71의 형성 Gartley PRZ에 진입한 뒤 반응하지 못하거나, $76,622.56 아래로 재진입 후 $75,267.38을 4h 종가로 이탈하면 확정 Bat 반등 가설은 실패한다. 이 경우 $75,267.38 아래 유동성 재탐색과 $74,868.00 또는 그 이하 스윕 리스크가 커진다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 107,
        "completed_patterns_found": 44,
        "forming_d_prz_found": 63,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 57,
        "swing_highs_scanned": 29,
        "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": 4,
          "medium": 44,
          "low": 59
        },
        "prz_status_counts": {
          "active": 43,
          "nearby": 21,
          "watch": 12,
          "far": 31,
          "forming": 20
        },
        "high_confluence_prz_count": 16,
        "strict_patterns_found": 48,
        "candidate_patterns_found": 59,
        "active_patterns_at_prz": 43,
        "nearby_patterns": 21,
        "all_patterns": [
          "gartley",
          "bat",
          "butterfly",
          "gartley",
          "bat",
          "butterfly",
          "bat",
          "gartley",
          "butterfly",
          "butterfly",
          "shark",
          "shark",
          "bat",
          "bat",
          "bat",
          "crab",
          "crab",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "bat",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "shark",
          "crab",
          "crab",
          "gartley",
          "gartley",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "shark",
          "shark",
          "bat",
          "crab",
          "bat",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "crab",
          "bat",
          "shark",
          "shark",
          "shark",
          "bat",
          "butterfly",
          "butterfly",
          "crab",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "gartley",
          "bat",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "gartley",
          "shark",
          "crab",
          "crab",
          "crab",
          "gartley",
          "crab",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "bat",
          "shark",
          "gartley",
          "bat",
          "gartley",
          "shark",
          "shark",
          "butterfly",
          "shark",
          "butterfly",
          "butterfly",
          "gartley",
          "bat",
          "shark",
          "shark",
          "shark",
          "shark",
          "butterfly",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "gartley",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.92,
        "best_completion_status": "forming",
        "nearest_pattern": "shark",
        "nearest_prz": 77765.99,
        "price_to_prz": 0.01,
        "prz_range": [
          77575.91,
          77956.06
        ],
        "council_relevant_prz_count": 2,
        "directional_influence_prz_count": 2,
        "confirmed_reaction_prz_count": 1,
        "validated_harmonic_tp_count": 1,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.92,
            "ratio_score": 0.976,
            "prz_score": 0.979,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": 1.74,
            "price_to_prz_pct_raw": 1.7366,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 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": 192,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.905,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79756.37,
            "prz_range": [
              79278.16,
              80234.57
            ],
            "prz_width_pct": 1.199,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.57,
            "price_to_prz_pct_raw": 2.5673,
            "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": 79756.37,
              "a_price": 82460.5,
              "tp1_ad_382": 80789.35,
              "tp2_ad_618": 81427.52,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.825
            },
            "x_price": 79137.4,
            "x_idx": 214,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 235,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.878,
            "ratio_score": 0.955,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79801.0,
            "prz_range": [
              79278.16,
              80234.57
            ],
            "prz_width_pct": 1.199,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.57,
            "price_to_prz_pct_raw": 2.5673,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.826,
                "adverse_move_ratio_ad": 0.409,
                "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": "gartley",
              "d_price": 79756.37,
              "a_price": 82460.5,
              "tp1_ad_382": 80789.35,
              "tp2_ad_618": 81427.52,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.825,
              "BCD": 1.3478,
              "XAD": 0.8003
            },
            "x_price": 79137.4,
            "x_idx": 214,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 235,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": 242
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.906,
            "ratio_score": 1.0,
            "prz_score": 0.927,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": 1.9,
            "price_to_prz_pct_raw": 1.8999,
            "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": 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": 192,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 235,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.904,
            "ratio_score": 1.0,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": -2.33,
            "price_to_prz_pct_raw": -2.3341,
            "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": 157,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.86,
            "ratio_score": 0.851,
            "prz_score": 0.968,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": 1.67,
            "price_to_prz_pct_raw": 1.6675,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "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": "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": 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": 185,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 80225.1,
            "b_idx": 231,
            "b_order": 5,
            "c_price": 81270.2,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": 259
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.847,
            "ratio_score": 0.927,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": -2.33,
            "price_to_prz_pct_raw": -2.3341,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.266,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "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": 164,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": 277
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.836,
            "ratio_score": 0.799,
            "prz_score": 0.948,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 79458.82,
            "prz_range": [
              78827.67,
              80089.98
            ],
            "prz_width_pct": 1.589,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.18,
            "price_to_prz_pct_raw": 2.1847,
            "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": 79458.82,
              "a_price": 81043.2,
              "tp1_ad_382": 80064.06,
              "tp2_ad_618": 80437.97,
              "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
            },
            "x_price": 79137.4,
            "x_idx": 214,
            "x_order": 8,
            "a_price": 81043.2,
            "a_idx": 224,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.847,
            "ratio_score": 0.927,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": -2.33,
            "price_to_prz_pct_raw": -2.3341,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.266,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "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": 164,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": 277
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.92,
            "ratio_score": 0.976,
            "prz_score": 0.979,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": 1.74,
            "price_to_prz_pct_raw": 1.7366,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 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": 192,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.92,
            "ratio_score": 0.976,
            "prz_score": 0.979,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": 1.74,
            "price_to_prz_pct_raw": 1.7366,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 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": 192,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.905,
            "ratio_score": 0.977,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79756.37,
            "prz_range": [
              79278.16,
              80234.57
            ],
            "prz_width_pct": 1.199,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.57,
            "price_to_prz_pct_raw": 2.5673,
            "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": 79756.37,
              "a_price": 82460.5,
              "tp1_ad_382": 80789.35,
              "tp2_ad_618": 81427.52,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.825
            },
            "x_price": 79137.4,
            "x_idx": 214,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 235,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.878,
            "ratio_score": 0.955,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 79801.0,
            "prz_range": [
              79278.16,
              80234.57
            ],
            "prz_width_pct": 1.199,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.57,
            "price_to_prz_pct_raw": 2.5673,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.826,
                "adverse_move_ratio_ad": 0.409,
                "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": "gartley",
              "d_price": 79756.37,
              "a_price": 82460.5,
              "tp1_ad_382": 80789.35,
              "tp2_ad_618": 81427.52,
              "tp3_a_or_structure_liquidity": 82460.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6219,
              "ABC": 0.825,
              "BCD": 1.3478,
              "XAD": 0.8003
            },
            "x_price": 79137.4,
            "x_idx": 214,
            "x_order": 8,
            "a_price": 82460.5,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 235,
            "b_order": 3,
            "c_price": 82098.9,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": 242
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.906,
            "ratio_score": 1.0,
            "prz_score": 0.927,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": 1.9,
            "price_to_prz_pct_raw": 1.8999,
            "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": 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": 192,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 80394.0,
            "b_idx": 235,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.904,
            "ratio_score": 1.0,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": -2.33,
            "price_to_prz_pct_raw": -2.3341,
            "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": 157,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.86,
            "ratio_score": 0.851,
            "prz_score": 0.968,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": 1.67,
            "price_to_prz_pct_raw": 1.6675,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "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": "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": 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": 185,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 80225.1,
            "b_idx": 231,
            "b_order": 5,
            "c_price": 81270.2,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": 259
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.847,
            "ratio_score": 0.927,
            "prz_score": 0.913,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": -2.33,
            "price_to_prz_pct_raw": -2.3341,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.266,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "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": 164,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": 277
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.836,
            "ratio_score": 0.799,
            "prz_score": 0.948,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 79458.82,
            "prz_range": [
              78827.67,
              80089.98
            ],
            "prz_width_pct": 1.589,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.18,
            "price_to_prz_pct_raw": 2.1847,
            "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": 79458.82,
              "a_price": 81043.2,
              "tp1_ad_382": 80064.06,
              "tp2_ad_618": 80437.97,
              "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
            },
            "x_price": 79137.4,
            "x_idx": 214,
            "x_order": 8,
            "a_price": 81043.2,
            "a_idx": 224,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.802,
            "ratio_score": 0.748,
            "prz_score": 0.962,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": 1.57,
            "price_to_prz_pct_raw": 1.5676,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "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": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 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": 185,
            "x_order": 5,
            "a_price": 82460.5,
            "a_idx": 231,
            "a_order": 8,
            "b_price": 79801.0,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 81999.0,
            "c_idx": 254,
            "c_order": 8,
            "d_idx": 259
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.753,
            "ratio_score": 0.48,
            "prz_score": 0.907,
            "prz_proximity": "active",
            "action_status": "active",
            "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": 0.07,
            "price_to_prz_pct_raw": 0.0691,
            "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": 192,
            "x_order": 5,
            "a_price": 81043.2,
            "a_idx": 224,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 78564.3,
            "c_idx": 270,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.643,
            "ratio_score": 0.46,
            "prz_score": 0.908,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "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": 2.07,
            "price_to_prz_pct_raw": 2.0716,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "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": "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": "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": 214,
            "x_order": 8,
            "a_price": 81043.2,
            "a_idx": 224,
            "a_order": 3,
            "b_price": 79801.0,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 81270.2,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": 248
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.906,
            "ratio_score": 0.997,
            "prz_score": 0.847,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 77633.4,
            "prz_range": [
              76798.64,
              78468.15
            ],
            "prz_width_pct": 2.151,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.16,
            "price_to_prz_pct_raw": -0.1628,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 77633.4,
              "a_price": 82828.7,
              "tp1_ad_382": 79618.0,
              "tp2_ad_618": 80844.09,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7853,
              "ABC": 0.8023
            },
            "x_price": 78128.3,
            "x_idx": 192,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 79137.4,
            "b_idx": 214,
            "b_order": 8,
            "c_price": 82098.9,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.92,
            "prz_proximity": "nearby",
            "prz_range": [
              78548.99,
              79671.71
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 1.74,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 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."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $78,548.99-$79,671.71: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.847,
            "prz_proximity": "nearby",
            "prz_range": [
              75267.38,
              76622.56
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -2.33,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.266,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "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": "gartley",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.92,
          "ratio_score": 0.976,
          "prz_score": 0.979,
          "prz_proximity": "nearby",
          "action_status": "nearby",
          "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": 1.74,
          "price_to_prz_pct_raw": 1.7366,
          "harmonic_vote_state": {
            "authority": "pre_confirmation_reversal_candidate",
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "confirmation_reasons": [],
            "reaction_score": 0.0,
            "reaction_detail": {
              "reaction_score": 0.0,
              "reasons": []
            },
            "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
            "standalone_path_override_allowed": false
          },
          "directional_vote_weight": 0.35,
          "confirmed_reaction": false,
          "standalone_path_override_allowed": false,
          "tp_ladder": {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 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": 192,
          "x_order": 5,
          "a_price": 82460.5,
          "a_idx": 231,
          "a_order": 8,
          "b_price": 79801.0,
          "b_idx": 242,
          "b_order": 3,
          "c_price": 81270.2,
          "c_idx": 246,
          "c_order": 5,
          "d_idx": null
        },
        "best_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."
        },
        "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": "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."
          },
          {
            "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.382,
          "bearish": 0
        },
        "directional_score_total": 0.382,
        "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에서 D=$76,014.20 방어 후 반등 확인, reaction_score 0.95\",\n    \"Bat PRZ 중심 및 실패구간 방어: D_PRZ_failure_zone_defended, adverse_move_ratio_ad 0.0\",\n    \"현재가 $77,760은 확정 Bat PRZ 상단 $76,622.56 위에 재수용되어 있으며, 검증 TP1 $78,574.55가 아직 미도달\",\n    \"근접 고컨플루언스 Bullish Gartley 형성 PRZ $78,548.99-$79,671.71, pattern_score 0.920, XAB 0.6139로 0.618에 근접\",\n    \"현재가가 EMA20 $77,513.16 및 EMA240 $76,951.37 위에 있으나 EMA120 $78,374.79 아래에 있어 단기 반등 setup은 있으나 구조 확정은 부족\"\n  ],\n  \"reasoning\": \"하모닉 관점의 주된 확정 근거는 Bullish Bat가 $75,267.38-$76,622.56 PRZ에서 완성되고 D=$76,014.20을 방어한 뒤 reaction_score 0.95를 기록했다는 점이다. 이 패턴의 검증된 상승 TP는 $78,574.55, $80,199.11, $82,828.70이며 현재가 $77,760은 아직 TP1 아래에 있어 단기 상승 여지가 남아 있다. 다만 가장 높은 점수의 Bullish Gartley는 아직 형성 중이며 PRZ가 $78,548.99-$79,671.71로 현재가보다 약 1.74% 위에 있어, 진입·터치 후 거부 또는 15m/1h MSS 같은 확인 전에는 독립적인 추세 전환 근거가 아니다. 따라서 구조는 확정 BOS/CHoCH 자료가 없어 neutral로 두고, setup만 확정 Bat 반응과 근접 Gartley PRZ를 근거로 bullish로 평가한다.\",\n  \"key_levels\": {\n    \"support\": [\n      77106.13,\n      76622.56,\n      76014.2,\n      75267.38\n    ],\n    \"resistance\": [\n      78548.99,\n      78574.55,\n      79671.71,\n      80199.11,\n      80390.11,\n      81180.74,\n      82460.5\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$75,267.38 4h 종가 하향 이탈\",\n  \"risk_scenario\": \"가격이 $78,548.99-$79,671.71의 형성 Gartley PRZ에 진입한 뒤 반응하지 못하거나, $76,622.56 아래로 재진입 후 $75,267.38을 4h 종가로 이탈하면 확정 Bat 반등 가설은 실패한다. 이 경우 $75,267.38 아래 유동성 재탐색과 $74,868.00 또는 그 이하 스윕 리스크가 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.71,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.57,
      "active_setups": [
        "가격 $77,760이 EMA120 $78,374.79 아래에 있어 중기 구조 회복이 아직 확인되지 않음",
        "ICT 기준 최근 $79,137.40 및 $78,713.80 하향 bearish BOS가 연속 발생",
        "Wyckoff 기준 확인된 분배 이후 현재 재분배 후보 구조에서 $76,970.00 및 $76,696.70 SOW 계열 하단 이벤트가 존재",
        "파생시장 CVD 변화 -2071.8660, 24시간 OI -1.0410%로 반등 중 체결·포지션 확장 동력이 약함",
        "반대편 단기 매수 셋업으로는 고거래량 strict morning star와 $76,014.20 방어 후 Bullish Bat PRZ 반응이 존재",
        "현재가는 Fibonacci 0.236 지지 $77,690.80 및 EMA20 $77,513.16 위에 있어 단기 반등 셋업은 살아 있음"
      ],
      "setup_vs_structure": "구조는 bearish이나 실행 셋업은 완전한 일방향이 아니라 혼재되어 있다. 다만 bearish 셋업의 구조적 근거가 ICT·Wyckoff·파생 흐름에 집중되어 있어, bullish 셋업은 현재까지는 추세 전환 근거라기보다 하단 PRZ 반응 및 단기 반등 조건으로 해석한다."
    },
    "signal_breakdown": {
      "bullish_count": 3,
      "bearish_count": 3,
      "neutral_count": 0
    },
    "key_levels": {
      "support": [
        77690.8,
        77513.16,
        77388.15,
        77143.55,
        77100.0,
        76970.0,
        76951.37,
        76898.95,
        76696.7,
        76622.56,
        76107.1,
        76014.2,
        75267.38,
        74900.0,
        74868.0
      ],
      "resistance": [
        78000.0,
        78180.0,
        78300.0,
        78374.79,
        78400.0,
        78548.99,
        78574.55,
        78713.8,
        78800.0,
        78854.23,
        79006.6,
        79137.4,
        79145.0,
        79455.0,
        79671.71,
        80199.11,
        80793.0,
        81270.2,
        82828.7
      ]
    },
    "confluences": [
      "EMA120 $78,374.79는 캔들, 파생, ICT, Wyckoff 모두가 핵심 상단 저항 또는 구조 회복 기준으로 언급한다.",
      "$78,180.00~$78,400 구간은 Fibonacci 확장 시작점 $78,180.00, Wyckoff BC $78,300.00, EMA120 $78,374.79, 파생 청산 유동성 $78,400이 겹치는 1차 공급 클러스터다.",
      "$76,900~$77,000 구간은 EMA240 $76,951.37, Wyckoff SOW $76,970.00, Fibonacci 0.618 $76,898.95가 중첩되는 주요 구조 방어선이다.",
      "$76,014.20~$76,107.10 구간은 캔들 7일 저점 $76,014.20, Harmonic Bat D $76,014.20, Wyckoff ST $76,107.10이 겹치는 하단 반응 구간이다.",
      "$78,548.99~$79,671.71은 Harmonic forming Gartley PRZ, Fibonacci 저항 $78,743.83~$79,038.18, ICT EQ $79,006.60 및 BOS 레벨 $79,137.40이 중첩되는 상단 구조 검증 구간이다.",
      "Wyckoff와 ICT는 모두 현재 구조를 bearish로 판정한다. Wyckoff는 확인된 분배 및 재분배 후보, ICT는 연속 bearish BOS를 근거로 한다.",
      "Candlestick, Fibonacci, Harmonic은 모두 $76,014.20 저점 방어 이후 단기 bullish reaction을 인정하지만, 이들은 구조 전환보다는 반등 셋업으로 제한된다."
    ],
    "conflicts": [
      "Candlestick·Fibonacci·Harmonic은 단기 bullish setup을 제시하지만, ICT·Wyckoff는 확인된 bearish 구조를 제시한다. 따라서 반등 신호와 구조 신호가 서로 분리되어 있다.",
      "Harmonic의 Bullish Bat는 $75,267.38~$76,622.56 PRZ 방어와 reaction_score 0.95로 강한 반응을 보였으나, Harmonic 자체는 구조 엔진이 아니므로 Wyckoff·ICT의 bearish 구조를 단독으로 뒤집기 어렵다.",
      "가격은 EMA20 $77,513.16 위에 있어 단기 매수세가 유지되지만, EMA120 $78,374.79 아래에 있어 중기 구조 회복은 아직 미확정이다.",
      "파생 데이터는 OI 감소와 CVD 약화를 통해 반등의 질을 의심하지만, 상단 $78,000~$78,800 청산 유동성은 단기 상방 스윕 가능성을 남긴다."
    ],
    "executive_summary": "현재 BTC 4시간 구조는 단기 반등 신호가 존재하더라도, regime 관점에서는 bearish로 평가한다. Wyckoff는 과거 확인된 분배 구조 이후 현재 재분배 후보가 진행 중인 상태로 해석하며, ICT도 $79,137.40 및 $78,713.80 하향 BOS 연속 발생으로 구조적 약세를 지지한다. 현재 가격 $77,760은 EMA20 $77,513.16 및 Fibonacci 0.236 $77,690.80 위에 있어 반등 셋업은 살아 있지만, EMA120 $78,374.79와 Wyckoff BC $78,300.00 부근을 회복하지 못한 상태라 구조 전환은 확인되지 않았다. 핵심 구조 리스크는 $78,180~$79,137 저항 클러스터에서의 실패, 그리고 $76,970~$76,696 하단 SOW 구간 재시험 조건이며, 반대로 $81,270.20 LPSY 및 $82,828.70 UTAD 회복은 bearish 구조의 무효화 조건이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.71,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.57,\n    \"active_setups\": [\n      \"가격 $77,760이 EMA120 $78,374.79 아래에 있어 중기 구조 회복이 아직 확인되지 않음\",\n      \"ICT 기준 최근 $79,137.40 및 $78,713.80 하향 bearish BOS가 연속 발생\",\n      \"Wyckoff 기준 확인된 분배 이후 현재 재분배 후보 구조에서 $76,970.00 및 $76,696.70 SOW 계열 하단 이벤트가 존재\",\n      \"파생시장 CVD 변화 -2071.8660, 24시간 OI -1.0410%로 반등 중 체결·포지션 확장 동력이 약함\",\n      \"반대편 단기 매수 셋업으로는 고거래량 strict morning star와 $76,014.20 방어 후 Bullish Bat PRZ 반응이 존재\",\n      \"현재가는 Fibonacci 0.236 지지 $77,690.80 및 EMA20 $77,513.16 위에 있어 단기 반등 셋업은 살아 있음\"\n    ],\n    \"setup_vs_structure\": \"구조는 bearish이나 실행 셋업은 완전한 일방향이 아니라 혼재되어 있다. 다만 bearish 셋업의 구조적 근거가 ICT·Wyckoff·파생 흐름에 집중되어 있어, bullish 셋업은 현재까지는 추세 전환 근거라기보다 하단 PRZ 반응 및 단기 반등 조건으로 해석한다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 3,\n    \"bearish_count\": 3,\n    \"neutral_count\": 0\n  },\n  \"key_levels\": {\n    \"support\": [\n      77690.8,\n      77513.16,\n      77388.15,\n      77143.55,\n      77100.0,\n      76970.0,\n      76951.37,\n      76898.95,\n      76696.7,\n      76622.56,\n      76107.1,\n      76014.2,\n      75267.38,\n      74900.0,\n      74868.0\n    ],\n    \"resistance\": [\n      78000.0,\n      78180.0,\n      78300.0,\n      78374.79,\n      78400.0,\n      78548.99,\n      78574.55,\n      78713.8,\n      78800.0,\n      78854.23,\n      79006.6,\n      79137.4,\n      79145.0,\n      79455.0,\n      79671.71,\n      80199.11,\n      80793.0,\n      81270.2,\n      82828.7\n    ]\n  },\n  \"confluences\": [\n    \"EMA120 $78,374.79는 캔들, 파생, ICT, Wyckoff 모두가 핵심 상단 저항 또는 구조 회복 기준으로 언급한다.\",\n    \"$78,180.00~$78,400 구간은 Fibonacci 확장 시작점 $78,180.00, Wyckoff BC $78,300.00, EMA120 $78,374.79, 파생 청산 유동성 $78,400이 겹치는 1차 공급 클러스터다.\",\n    \"$76,900~$77,000 구간은 EMA240 $76,951.37, Wyckoff SOW $76,970.00, Fibonacci 0.618 $76,898.95가 중첩되는 주요 구조 방어선이다.\",\n    \"$76,014.20~$76,107.10 구간은 캔들 7일 저점 $76,014.20, Harmonic Bat D $76,014.20, Wyckoff ST $76,107.10이 겹치는 하단 반응 구간이다.\",\n    \"$78,548.99~$79,671.71은 Harmonic forming Gartley PRZ, Fibonacci 저항 $78,743.83~$79,038.18, ICT EQ $79,006.60 및 BOS 레벨 $79,137.40이 중첩되는 상단 구조 검증 구간이다.\",\n    \"Wyckoff와 ICT는 모두 현재 구조를 bearish로 판정한다. Wyckoff는 확인된 분배 및 재분배 후보, ICT는 연속 bearish BOS를 근거로 한다.\",\n    \"Candlestick, Fibonacci, Harmonic은 모두 $76,014.20 저점 방어 이후 단기 bullish reaction을 인정하지만, 이들은 구조 전환보다는 반등 셋업으로 제한된다.\"\n  ],\n  \"conflicts\": [\n    \"Candlestick·Fibonacci·Harmonic은 단기 bullish setup을 제시하지만, ICT·Wyckoff는 확인된 bearish 구조를 제시한다. 따라서 반등 신호와 구조 신호가 서로 분리되어 있다.\",\n    \"Harmonic의 Bullish Bat는 $75,267.38~$76,622.56 PRZ 방어와 reaction_score 0.95로 강한 반응을 보였으나, Harmonic 자체는 구조 엔진이 아니므로 Wyckoff·ICT의 bearish 구조를 단독으로 뒤집기 어렵다.\",\n    \"가격은 EMA20 $77,513.16 위에 있어 단기 매수세가 유지되지만, EMA120 $78,374.79 아래에 있어 중기 구조 회복은 아직 미확정이다.\",\n    \"파생 데이터는 OI 감소와 CVD 약화를 통해 반등의 질을 의심하지만, 상단 $78,000~$78,800 청산 유동성은 단기 상방 스윕 가능성을 남긴다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 신뢰도 82%로 가장 높고, regime=confirmed distribution, regime_fitness 0.963, Phase D, BC $78,300.00·AR $73,669.00·UTAD $82,828.70·LPSY $81,270.20 등 구체적 구조 앵커를 제시한다. 또한 현재는 과거 확인된 분배 이후 별도의 재분배 후보 구조가 활성화된 상태로, $76,970.00 및 $76,696.70의 SOW 계열 이벤트까지 포함해 구조적 약세 근거가 가장 정교하다.\",\n  \"invalidation_level\": \"4시간 기준 $81,270.20 LPSY 상방 재수용 시 bearish distribution 구조의 신뢰도가 크게 훼손되며, $82,828.70 UTAD 상방 회복은 현재 bearish 구조 판정의 핵심 무효화 구간이다.\",\n  \"executive_summary\": \"현재 BTC 4시간 구조는 단기 반등 신호가 존재하더라도, regime 관점에서는 bearish로 평가한다. Wyckoff는 과거 확인된 분배 구조 이후 현재 재분배 후보가 진행 중인 상태로 해석하며, ICT도 $79,137.40 및 $78,713.80 하향 BOS 연속 발생으로 구조적 약세를 지지한다. 현재 가격 $77,760은 EMA20 $77,513.16 및 Fibonacci 0.236 $77,690.80 위에 있어 반등 셋업은 살아 있지만, EMA120 $78,374.79와 Wyckoff BC $78,300.00 부근을 회복하지 못한 상태라 구조 전환은 확인되지 않았다. 핵심 구조 리스크는 $78,180~$79,137 저항 클러스터에서의 실패, 그리고 $76,970~$76,696 하단 SOW 구간 재시험 조건이며, 반대로 $81,270.20 LPSY 및 $82,828.70 UTAD 회복은 bearish 구조의 무효화 조건이다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.71,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.62,
    "waypoints": [
      {
        "seq": 1,
        "price": 78180.0,
        "type": "resistance_test",
        "source": "ICT 이전일 고가 $78,180.00, Wyckoff BC $78,300.00, EMA120 $78,374.79, Fibonacci 확장 시작점 $78,180.00, 파생 청산 유동성 $78,000~$78,400",
        "description": "단기 매수 셋업(고거래량 morning star, Fib 0.236 $77,690.80 방어, EMA20 $77,513.16 지지, Bullish Bat PRZ $76,014.20 반응)이 1차 공급 클러스터 $78,180~$78,400를 테스트한다. ICT 이전일 고가, Wyckoff BC, EMA120이 중첩되는 핵심 저항이며 파생 상단 청산 유동성도 단기 상방 스윕을 지지한다.",
        "est_hours": 5.0,
        "turning_zone": [
          78180.0,
          78400.0
        ],
        "likely_wick": 78374.79,
        "rejection_confirm": 77690.8,
        "invalid_overshoot": 78574.55,
        "calibration_reasoning": "공급 클러스터 $78,180-$78,400 (ICT 이전일 고가 + Wyckoff BC + EMA120 중첩)이 zone을 정의하며 폭 $220(0.33 ATR). Chairman 핵심 저항 $78,374.79가 라운드 $78,400 자석과 결합되어 likely_wick. EMA20/Fib 0.236 $77,690.80 재이탈로 거부 확정. $78,574.55 Bat TP1(validated, CONFIRMED_REACTION) 돌파 시 harmonic 상방 연장으로 W1 무효."
      },
      {
        "seq": 2,
        "price": 77100.0,
        "type": "support_test",
        "source": "ICT 지지 $77,100.00, Fibonacci 0.5 되돌림 $77,143.55, fib_confluence 후보 $77,021.25",
        "description": "공급 클러스터 거부 후 ICT 연속 bearish BOS($79,137.40, $78,713.80)와 Wyckoff 재분배 구조, 파생 CVD -2071, OI -1.04%가 하방 연속성을 지지한다. $77,100~$77,143 ICT/Fib 중간 지지대 테스트로 EMA20 이탈을 동반한다.",
        "est_hours": 13.0,
        "turning_zone": [
          76898.95,
          77143.55
        ],
        "likely_wick": 77021.25,
        "rejection_confirm": 77388.15,
        "invalid_overshoot": 76800.0,
        "calibration_reasoning": "ICT/Fib 중간 지지대 $77,100-$77,143 상단과 Fib 0.618 골든 $76,898.95 하단으로 0.37 ATR 폭. $77,021.25 2-레벨 컨플루언스(ret_0.618 + ret_0.5)가 강한 반응 자석. Fib 0.382 $77,388.15 회복 시 단기 반등 확인. $76,800 이탈 시 W2 stall 없이 W3로 직행, intermediate 미시현."
      },
      {
        "seq": 3,
        "price": 76696.7,
        "type": "swing_low",
        "source": "Wyckoff SOW_IN_PHASE_B $76,696.70, ICT 지지 $76,696.70, EMA240 $76,951.37 및 Fib 0.618 $76,898.95 하단 컨플루언스",
        "description": "Wyckoff 재분배 하단 이벤트 레벨 재시험으로 bearish 구조 확인. EMA240/SOW/Fib 0.618이 중첩되는 $76,900~$77,000 방어선 이탈을 거쳐 도달하는 핵심 하단 swing low이며, $76,014.20 7일 저점 추가 연장의 분기점이 된다.",
        "est_hours": 22.0,
        "turning_zone": [
          76300.0,
          76696.7
        ],
        "likely_wick": 76413.55,
        "rejection_confirm": 76898.95,
        "invalid_overshoot": 76107.1,
        "calibration_reasoning": "터미널 swing_low이므로 폭 $396.70(0.60 ATR) 적용. Wyckoff 재분배 하단/EMA240/SOW 중첩 위 base와 $76,413.55 2-레벨 컨플루언스(ret_0.382 + ret_0.786)가 wick 자석. Fib 0.618 골든 $76,898.95 reclaim 시 반전 확정. 7일 저점 $76,107.10 이탈 시 Bullish Bat PRZ $76,014.20 영역으로 연장, W3 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 78180.0,
        "expected_low": 77500.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 78180.0,
        "expected_low": 77100.0,
        "high_first": true
      },
      "24h": {
        "expected_high": 78180.0,
        "expected_low": 76696.7,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 78713.8,
        "description": "ICT bearish BOS 레벨 $78,713.80 위로 4시간 봉 마감 시 단기 bearish 시나리오 약화. $79,137.40 회복 시 전체 bearish 구조 무효화 단계로 진입하며 Gartley PRZ $78,549~$79,672 구간까지 확장 가능."
      },
      "bearish": {
        "price": 77143.55,
        "description": "Fib 0.5 $77,143.55 및 ICT 지지 $77,100.00 동시 이탈 시 bearish continuation 확정, $76,696.70 SOW 재시험 가속 및 $76,107.10/$76,014.20 하단 컨플루언스 연장 가능."
      }
    },
    "scenario_invalidation": 79137.4,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.62,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 78180.0,\n      \"type\": \"resistance_test\",\n      \"source\": \"ICT 이전일 고가 $78,180.00, Wyckoff BC $78,300.00, EMA120 $78,374.79, Fibonacci 확장 시작점 $78,180.00, 파생 청산 유동성 $78,000~$78,400\",\n      \"description\": \"단기 매수 셋업(고거래량 morning star, Fib 0.236 $77,690.80 방어, EMA20 $77,513.16 지지, Bullish Bat PRZ $76,014.20 반응)이 1차 공급 클러스터 $78,180~$78,400를 테스트한다. ICT 이전일 고가, Wyckoff BC, EMA120이 중첩되는 핵심 저항이며 파생 상단 청산 유동성도 단기 상방 스윕을 지지한다.\",\n      \"est_hours\": 5.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 77100.0,\n      \"type\": \"support_test\",\n      \"source\": \"ICT 지지 $77,100.00, Fibonacci 0.5 되돌림 $77,143.55, fib_confluence 후보 $77,021.25\",\n      \"description\": \"공급 클러스터 거부 후 ICT 연속 bearish BOS($79,137.40, $78,713.80)와 Wyckoff 재분배 구조, 파생 CVD -2071, OI -1.04%가 하방 연속성을 지지한다. $77,100~$77,143 ICT/Fib 중간 지지대 테스트로 EMA20 이탈을 동반한다.\",\n      \"est_hours\": 13.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 76696.7,\n      \"type\": \"swing_low\",\n      \"source\": \"Wyckoff SOW_IN_PHASE_B $76,696.70, ICT 지지 $76,696.70, EMA240 $76,951.37 및 Fib 0.618 $76,898.95 하단 컨플루언스\",\n      \"description\": \"Wyckoff 재분배 하단 이벤트 레벨 재시험으로 bearish 구조 확인. EMA240/SOW/Fib 0.618이 중첩되는 $76,900~$77,000 방어선 이탈을 거쳐 도달하는 핵심 하단 swing low이며, $76,014.20 7일 저점 추가 연장의 분기점이 된다.\",\n      \"est_hours\": 22.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 78180.0, \"expected_low\": 77500.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 78180.0, \"expected_low\": 77100.0, \"high_first\": true},\n    \"24h\": {\"expected_high\": 78180.0, \"expected_low\": 76696.7, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 78713.8, \"description\": \"ICT bearish BOS 레벨 $78,713.80 위로 4시간 봉 마감 시 단기 bearish 시나리오 약화. $79,137.40 회복 시 전체 bearish 구조 무효화 단계로 진입하며 Gartley PRZ $78,549~$79,672 구간까지 확장 가능.\"},\n    \"bearish\": {\"price\": 77143.55, \"description\": \"Fib 0.5 $77,143.55 및 ICT 지지 $77,100.00 동시 이탈 시 bearish continuation 확정, $76,696.70 SOW 재시험 가속 및 $76,107.10/$76,014.20 하단 컨플루언스 연장 가능.\"}\n  },\n  \"scenario_invalidation\": 79137.4\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 78180.0,
        "turning_zone": [
          78180.0,
          78400.0
        ],
        "likely_wick": 78374.79,
        "rejection_confirm": 77690.8,
        "invalid_overshoot": 78574.55,
        "calibration_reasoning": "공급 클러스터 $78,180-$78,400 (ICT 이전일 고가 + Wyckoff BC + EMA120 중첩)이 zone을 정의하며 폭 $220(0.33 ATR). Chairman 핵심 저항 $78,374.79가 라운드 $78,400 자석과 결합되어 likely_wick. EMA20/Fib 0.236 $77,690.80 재이탈로 거부 확정. $78,574.55 Bat TP1(validated, CONFIRMED_REACTION) 돌파 시 harmonic 상방 연장으로 W1 무효."
      },
      {
        "seq": 2,
        "base_target": 77100.0,
        "turning_zone": [
          76898.95,
          77143.55
        ],
        "likely_wick": 77021.25,
        "rejection_confirm": 77388.15,
        "invalid_overshoot": 76800.0,
        "calibration_reasoning": "ICT/Fib 중간 지지대 $77,100-$77,143 상단과 Fib 0.618 골든 $76,898.95 하단으로 0.37 ATR 폭. $77,021.25 2-레벨 컨플루언스(ret_0.618 + ret_0.5)가 강한 반응 자석. Fib 0.382 $77,388.15 회복 시 단기 반등 확인. $76,800 이탈 시 W2 stall 없이 W3로 직행, intermediate 미시현."
      },
      {
        "seq": 3,
        "base_target": 76696.7,
        "turning_zone": [
          76300.0,
          76696.7
        ],
        "likely_wick": 76413.55,
        "rejection_confirm": 76898.95,
        "invalid_overshoot": 76107.1,
        "calibration_reasoning": "터미널 swing_low이므로 폭 $396.70(0.60 ATR) 적용. Wyckoff 재분배 하단/EMA240/SOW 중첩 위 base와 $76,413.55 2-레벨 컨플루언스(ret_0.382 + ret_0.786)가 wick 자석. Fib 0.618 골든 $76,898.95 reclaim 시 반전 확정. 7일 저점 $76,107.10 이탈 시 Bullish Bat PRZ $76,014.20 영역으로 연장, W3 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 78180.00,\n      \"turning_zone\": [78180.00, 78400.00],\n      \"likely_wick\": 78374.79,\n      \"rejection_confirm\": 77690.80,\n      \"invalid_overshoot\": 78574.55,\n      \"calibration_reasoning\": \"공급 클러스터 $78,180-$78,400 (ICT 이전일 고가 + Wyckoff BC + EMA120 중첩)이 zone을 정의하며 폭 $220(0.33 ATR). Chairman 핵심 저항 $78,374.79가 라운드 $78,400 자석과 결합되어 likely_wick. EMA20/Fib 0.236 $77,690.80 재이탈로 거부 확정. $78,574.55 Bat TP1(validated, CONFIRMED_REACTION) 돌파 시 harmonic 상방 연장으로 W1 무효.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 77100.00,\n      \"turning_zone\": [76898.95, 77143.55],\n      \"likely_wick\": 77021.25,\n      \"rejection_confirm\": 77388.15,\n      \"invalid_overshoot\": 76800.00,\n      \"calibration_reasoning\": \"ICT/Fib 중간 지지대 $77,100-$77,143 상단과 Fib 0.618 골든 $76,898.95 하단으로 0.37 ATR 폭. $77,021.25 2-레벨 컨플루언스(ret_0.618 + ret_0.5)가 강한 반응 자석. Fib 0.382 $77,388.15 회복 시 단기 반등 확인. $76,800 이탈 시 W2 stall 없이 W3로 직행, intermediate 미시현.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 76696.70,\n      \"turning_zone\": [76300.00, 76696.70],\n      \"likely_wick\": 76413.55,\n      \"rejection_confirm\": 76898.95,\n      \"invalid_overshoot\": 76107.10,\n      \"calibration_reasoning\": \"터미널 swing_low이므로 폭 $396.70(0.60 ATR) 적용. Wyckoff 재분배 하단/EMA240/SOW 중첩 위 base와 $76,413.55 2-레벨 컨플루언스(ret_0.382 + ret_0.786)가 wick 자석. Fib 0.618 골든 $76,898.95 reclaim 시 반전 확정. 7일 저점 $76,107.10 이탈 시 Bullish Bat PRZ $76,014.20 영역으로 연장, W3 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 30.2,
      "chairman": 43.1,
      "operating_path": 77.8,
      "tp_calibrator": 190.1
    },
    "agents": {},
    "total_s": 341.3
  }
}