{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-05-20 09:00 KST",
  "last_price": 76783.5,
  "num_candles": 300,
  "stage1_analyses": {
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.82,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.92,
      "setup_signals": [
        "현재가 $76,783.50는 EQ $76,574.70 위의 premium 구간에 위치하여 숏 셋업에 유리",
        "최근 구조 이벤트가 CHoCH_bearish $76,627.00 이후 BOS_bearish $76,451.30으로 이어져 하방 구조 우세",
        "근접 bearish OB 후보 $76,983.60-$77,291.30가 현재가 위에 위치하며 미완화 상태",
        "상위 bearish OB 후보 $77,542.90-$77,757.50도 활성 상태이며 FVG context $77,457.60-$77,542.90 동반",
        "bear_score 9.4610 대비 bull_score 3.0000으로 매도 우위가 뚜렷함",
        "EMA20 $76,814.59, EMA120 $76,867.13, EMA240 $77,092.93가 모두 현재가 근처 또는 위에 있어 단기 반등이 공급대에서 막힐 가능성 존재"
      ],
      "reasoning": "확정 구조는 bearish로 판단한다. BOS_bearish $77,800.00 이후 일시적 BOS_bullish $77,193.50가 있었지만, 이후 CHoCH_bearish $76,627.00와 BOS_bearish $76,451.30가 발생해 하방 구조 전환이 확인되었다. 현재가 $76,783.50는 EQ $76,574.70 위 premium 영역에 있으며, 바로 위 $76,983.60-$77,291.30 bearish OB가 미완화 공급대로 남아 있어 반등 시 매도 반응이 나올 수 있다. 다만 최근 liquidity sweep이 없고 open FVG도 0개라서, 즉각적인 강한 변동성보다는 OB 재진입 후 거절 여부가 핵심이다.",
      "key_levels": {
        "support": [
          76627.0,
          76574.7,
          76451.3,
          76107.1,
          76014.2
        ],
        "resistance": [
          76948.1,
          76983.6,
          77137.45,
          77291.3,
          77384.6,
          77542.9,
          77757.5
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$77,291.30",
      "risk_scenario": "가격이 근접 bearish OB 상단 $77,291.30을 15분봉 기준으로 강하게 돌파하고 수용되면 즉각적인 숏 셋업은 무효화된다. 그 경우 이전일 고점 $77,384.60 및 상위 bearish OB $77,542.90-$77,757.50까지 buy-side liquidity를 사냥하는 반등이 열릴 수 있으며, $77,757.50까지 돌파하면 bearish 구조 자체의 신뢰도가 크게 약화된다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 3,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 3,
        "active_bullish_ob": 0,
        "active_bearish_ob": 2,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 76983.6,
          "top": 77291.3,
          "quality": "candidate",
          "score": 0.522
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [
          {
            "type": "bearish_ob",
            "idx": 158,
            "top": 77757.5,
            "bottom": 77542.9,
            "mid": 77650.2,
            "quality": "candidate",
            "score": 0.58,
            "displacement_score": 0.37,
            "has_fvg": true,
            "has_sweep_context": false,
            "fvg_range": {
              "bottom": 77457.6,
              "top": 77542.9
            },
            "swept_level": null,
            "source_move_idx": 158,
            "proximity": "nearby"
          },
          {
            "type": "bearish_ob",
            "idx": 237,
            "top": 77291.3,
            "bottom": 76983.6,
            "mid": 77137.45,
            "quality": "candidate",
            "score": 0.522,
            "displacement_score": 0.206,
            "has_fvg": true,
            "has_sweep_context": false,
            "fvg_range": {
              "bottom": 77161.0,
              "top": 77178.0
            },
            "swept_level": null,
            "source_move_idx": 237,
            "proximity": "nearby"
          }
        ],
        "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": 66,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bearish",
            "level": 77800.0
          },
          {
            "type": "BOS_bullish",
            "level": 77193.5
          },
          {
            "type": "CHoCH_bearish",
            "level": 76627.0
          },
          {
            "type": "BOS_bearish",
            "level": 76451.3
          }
        ],
        "bos_sequence": [
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 1,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "premium",
        "eq_level": 76574.7,
        "range_high": 77042.3,
        "range_low": 76107.1,
        "bull_score": 3.0,
        "bear_score": 9.461,
        "setup_bias": "bearish",
        "setup_score": 0.92,
        "setup_signals": [
          "bearish BOS below $77,800.00",
          "bearish CHoCH below $76,627.00",
          "bearish BOS below $76,451.30",
          "bearish OB candidate $77,542.90-$77,757.50 (nearby, score=0.58)",
          "bearish OB candidate $76,983.60-$77,291.30 (nearby, score=0.52)"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 28.0,
        "deepest_retracement_pct": 46.2,
        "previous_day_high": 77384.6,
        "previous_day_low": 76014.2,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": true,
            "high": 76948.1,
            "low": 76610.4
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.82,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.92,\n  \"setup_signals\": [\n    \"현재가 $76,783.50는 EQ $76,574.70 위의 premium 구간에 위치하여 숏 셋업에 유리\",\n    \"최근 구조 이벤트가 CHoCH_bearish $76,627.00 이후 BOS_bearish $76,451.30으로 이어져 하방 구조 우세\",\n    \"근접 bearish OB 후보 $76,983.60-$77,291.30가 현재가 위에 위치하며 미완화 상태\",\n    \"상위 bearish OB 후보 $77,542.90-$77,757.50도 활성 상태이며 FVG context $77,457.60-$77,542.90 동반\",\n    \"bear_score 9.4610 대비 bull_score 3.0000으로 매도 우위가 뚜렷함\",\n    \"EMA20 $76,814.59, EMA120 $76,867.13, EMA240 $77,092.93가 모두 현재가 근처 또는 위에 있어 단기 반등이 공급대에서 막힐 가능성 존재\"\n  ],\n  \"reasoning\": \"확정 구조는 bearish로 판단한다. BOS_bearish $77,800.00 이후 일시적 BOS_bullish $77,193.50가 있었지만, 이후 CHoCH_bearish $76,627.00와 BOS_bearish $76,451.30가 발생해 하방 구조 전환이 확인되었다. 현재가 $76,783.50는 EQ $76,574.70 위 premium 영역에 있으며, 바로 위 $76,983.60-$77,291.30 bearish OB가 미완화 공급대로 남아 있어 반등 시 매도 반응이 나올 수 있다. 다만 최근 liquidity sweep이 없고 open FVG도 0개라서, 즉각적인 강한 변동성보다는 OB 재진입 후 거절 여부가 핵심이다.\",\n  \"key_levels\": {\n    \"support\": [\n      76627.0,\n      76574.7,\n      76451.3,\n      76107.1,\n      76014.2\n    ],\n    \"resistance\": [\n      76948.1,\n      76983.6,\n      77137.45,\n      77291.3,\n      77384.6,\n      77542.9,\n      77757.5\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$77,291.30\",\n  \"risk_scenario\": \"가격이 근접 bearish OB 상단 $77,291.30을 15분봉 기준으로 강하게 돌파하고 수용되면 즉각적인 숏 셋업은 무효화된다. 그 경우 이전일 고점 $77,384.60 및 상위 bearish OB $77,542.90-$77,757.50까지 buy-side liquidity를 사냥하는 반등이 열릴 수 있으며, $77,757.50까지 돌파하면 bearish 구조 자체의 신뢰도가 크게 약화된다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.66,
      "setup_signals": [
        "현재가 $76,783.50가 EMA20 $76,814.59와 EMA120 $76,867.13 아래에 위치해 단기 EMA 클러스터 저항을 아직 회복하지 못함",
        "최근 패턴에서 bearish_engulfing@298과 evening_star@298이 동시에 감지되어 단기 반등 실패 신호가 발생",
        "three_black_crows@292가 고거래량 패턴으로 감지되어 매도 참여가 동반된 하락 압력이 확인됨",
        "7일 범위 EQ $77,289.25 아래의 할인 구간에 있으나, 지지 반등보다 EMA 저항 실패와 bearish score 3.10 우위가 더 강함",
        "7일 저점 $76,014.20까지 하방 유동성이 열려 있으며 현재가와의 거리는 약 $769.30"
      ],
      "reasoning": "현재 BTC는 $76,783.50으로 EMA20 $76,814.59, EMA120 $76,867.13, EMA240 $77,092.93을 모두 하회하며 단기 추세 회복이 확인되지 않았습니다. 최근 7개 패턴 중 bearish_engulfing, evening_star, three_black_crows가 포함되어 있고, 특히 three_black_crows는 고거래량으로 감지되어 매도 신뢰도가 높습니다. 다만 7일 고저점 기준 EQ는 $77,289.25이며 현재가는 그 아래 할인 구간에 있어 구조적으로는 확정 하락 추세라기보다 박스 하단부의 중립 구조로 판단합니다. bull_score 1.45 대비 bear_score 3.10이 우세하고 best_pattern_quality도 bearish_engulfing 0.644로 가장 높아, 단기 실행 셋업은 하방 우위입니다.",
      "key_levels": {
        "support": [
          76657.08,
          76014.2
        ],
        "resistance": [
          76814.59,
          76867.13,
          77092.93,
          77289.25,
          78564.3
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$77,289.25",
      "risk_scenario": "가격이 EMA20 $76,814.59와 EMA120 $76,867.13을 회복한 뒤 7일 범위 EQ $77,289.25 위에서 안착하면, 최근 bearish engulfing과 evening star의 매도 신호는 실패로 해석됩니다. 이 경우 숏 커버링이 발생하며 EMA240 $77,092.93 위 재진입 후 $78,564.30의 7일 고점 방향으로 반등 시나리오가 열릴 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 140,
        "recent_patterns": 7,
        "pattern_list": [
          "bearish_engulfing@290",
          "bullish_engulfing@295",
          "bearish_engulfing@298",
          "evening_star@298",
          "three_black_crows@292",
          "doji@297",
          "piercing_pattern@293"
        ],
        "atr_value": 126.42,
        "vol_avg_20": 398.71,
        "high_volume_patterns": [
          "three_black_crows"
        ],
        "pattern_candidates": [
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.644,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "piercing_pattern",
            "signal": "bullish",
            "pattern_quality": 0.607,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.595,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "three_black_crows",
            "signal": "bearish",
            "pattern_quality": 0.573,
            "tier": "candidate",
            "high_volume": true
          },
          {
            "pattern": "evening_star",
            "signal": "bearish",
            "pattern_quality": 0.554,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.644,
        "bull_score": 1.45,
        "bear_score": 3.1
      },
      "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    \"현재가 $76,783.50가 EMA20 $76,814.59와 EMA120 $76,867.13 아래에 위치해 단기 EMA 클러스터 저항을 아직 회복하지 못함\",\n    \"최근 패턴에서 bearish_engulfing@298과 evening_star@298이 동시에 감지되어 단기 반등 실패 신호가 발생\",\n    \"three_black_crows@292가 고거래량 패턴으로 감지되어 매도 참여가 동반된 하락 압력이 확인됨\",\n    \"7일 범위 EQ $77,289.25 아래의 할인 구간에 있으나, 지지 반등보다 EMA 저항 실패와 bearish score 3.10 우위가 더 강함\",\n    \"7일 저점 $76,014.20까지 하방 유동성이 열려 있으며 현재가와의 거리는 약 $769.30\"\n  ],\n  \"reasoning\": \"현재 BTC는 $76,783.50으로 EMA20 $76,814.59, EMA120 $76,867.13, EMA240 $77,092.93을 모두 하회하며 단기 추세 회복이 확인되지 않았습니다. 최근 7개 패턴 중 bearish_engulfing, evening_star, three_black_crows가 포함되어 있고, 특히 three_black_crows는 고거래량으로 감지되어 매도 신뢰도가 높습니다. 다만 7일 고저점 기준 EQ는 $77,289.25이며 현재가는 그 아래 할인 구간에 있어 구조적으로는 확정 하락 추세라기보다 박스 하단부의 중립 구조로 판단합니다. bull_score 1.45 대비 bear_score 3.10이 우세하고 best_pattern_quality도 bearish_engulfing 0.644로 가장 높아, 단기 실행 셋업은 하방 우위입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      76657.08,\n      76014.2\n    ],\n    \"resistance\": [\n      76814.59,\n      76867.13,\n      77092.93,\n      77289.25,\n      78564.3\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$77,289.25\",\n  \"risk_scenario\": \"가격이 EMA20 $76,814.59와 EMA120 $76,867.13을 회복한 뒤 7일 범위 EQ $77,289.25 위에서 안착하면, 최근 bearish engulfing과 evening star의 매도 신호는 실패로 해석됩니다. 이 경우 숏 커버링이 발생하며 EMA240 $77,092.93 위 재진입 후 $78,564.30의 7일 고점 방향으로 반등 시나리오가 열릴 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $76,783.50가 하락 스윙 $77,003→$76,610의 0.382 되돌림 $76,760.41 부근을 테스트 중이며, 0.5 되돌림 $76,806.75 아래에 위치",
        "상단 $76,853.09의 0.618 골든비율과 $76,865.53 컨플루언스 존이 즉각 저항으로 대기",
        "EMA20 $76,814.59, EMA120 $76,867.13, EMA240 $77,092.93가 현재가 위에 있어 단기 반등이 평균선 저항을 먼저 돌파해야 하는 구조",
        "$76,865.53 부근에 ret_0.382, ret_0.5, ret_0.618, ret_0.786가 겹친 고품질 저항 클러스터가 존재",
        "하락 연장 시 $76,610.40, $76,541.44, $76,367.71 순으로 피보나치 확장 지지 목표가 열림"
      ],
      "reasoning": "확정적인 BOS나 CHoCH 정보가 없으므로 structure_bias는 중립으로 보지만, 실행 관점에서는 하락 스윙 $77,003→$76,610의 되돌림 구간에서 저항 테스트가 진행 중이다. 현재가 $76,783.50는 0.382 되돌림 $76,760.41과 0.5 되돌림 $76,806.75 사이에 있으며, 핵심 골든비율 0.618은 $76,853.09로 바로 위에 있다. 특히 $76,865.53 컨플루언스 존은 5개 피보나치 레벨이 겹친 클러스터이고 confluence_quality가 1.000이므로, 이 구간을 종가 기준으로 회복하지 못하면 $76,610.40 및 $76,541.44 재시험 가능성이 높다. 반대로 $76,853.09~$76,919.06을 강하게 돌파하면 현재의 단기 bearish setup은 약화된다.",
      "key_levels": {
        "support": [
          76760.41,
          76703.08,
          76610.4,
          76541.44,
          76367.71
        ],
        "resistance": [
          76806.75,
          76853.09,
          76865.53,
          76919.06,
          77003
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$76,919.06",
      "risk_scenario": "$76,919.06의 0.786 되돌림을 상향 돌파하고 유지하면 하락 되돌림 저항 시나리오가 무효화되며, $77,003 스윙 고점 재시험 및 $77,439.71 상위 컨플루언스 구간까지 반등이 확장될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "High→Low: $77,003 → $76,610",
        "direction": "down",
        "nearest_fib": "ret_0.382",
        "nearest_fib_price": 76760.41,
        "nearest_fib_distance": 0.03,
        "golden_ratio_level": 76853.09,
        "fib_ret_382": 76760.41,
        "fib_ret_618": 76853.09,
        "confluence_zones": [
          {
            "price": 76541.44,
            "count": 6,
            "levels": [
              "ext_1.618",
              "ext_1.414",
              "ext_1.272",
              "ext_1.0",
              "ret_0.236",
              "ret_0.236"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 76865.53,
            "count": 5,
            "levels": [
              "ret_0.382",
              "ret_0.5",
              "ret_0.618",
              "ret_0.786",
              "ret_0.382"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 76068.97,
            "count": 3,
            "levels": [
              "ext_2.618",
              "ext_1.0",
              "ext_2.0"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 75139.52,
            "count": 2,
            "levels": [
              "ext_1.414",
              "ext_1.272"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 77439.71,
            "count": 2,
            "levels": [
              "ret_0.5",
              "ret_0.618"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          76760.4114,
          76703.0772,
          76610.4
        ],
        "resistance_levels": [
          76806.75,
          76853.0886,
          76919.0622
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 76703.08,
            "distance_pct": 0.1,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.382",
            "price": 76760.41,
            "distance_pct": 0.03,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.5",
            "price": 76806.75,
            "distance_pct": 0.03,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.618",
            "price": 76853.09,
            "distance_pct": 0.09,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.786",
            "price": 76919.06,
            "distance_pct": 0.18,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.0",
            "price": 76610.4,
            "distance_pct": 0.23,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.272",
            "price": 76503.59,
            "distance_pct": 0.36,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.414",
            "price": 76447.82,
            "distance_pct": 0.44,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.618",
            "price": 76367.71,
            "distance_pct": 0.54,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_2.0",
            "price": 76217.7,
            "distance_pct": 0.74,
            "is_support": true,
            "cluster_score": 1.0
          }
        ],
        "confluence_quality": 1.0,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $76,783.50가 하락 스윙 $77,003→$76,610의 0.382 되돌림 $76,760.41 부근을 테스트 중이며, 0.5 되돌림 $76,806.75 아래에 위치\",\n    \"상단 $76,853.09의 0.618 골든비율과 $76,865.53 컨플루언스 존이 즉각 저항으로 대기\",\n    \"EMA20 $76,814.59, EMA120 $76,867.13, EMA240 $77,092.93가 현재가 위에 있어 단기 반등이 평균선 저항을 먼저 돌파해야 하는 구조\",\n    \"$76,865.53 부근에 ret_0.382, ret_0.5, ret_0.618, ret_0.786가 겹친 고품질 저항 클러스터가 존재\",\n    \"하락 연장 시 $76,610.40, $76,541.44, $76,367.71 순으로 피보나치 확장 지지 목표가 열림\"\n  ],\n  \"reasoning\": \"확정적인 BOS나 CHoCH 정보가 없으므로 structure_bias는 중립으로 보지만, 실행 관점에서는 하락 스윙 $77,003→$76,610의 되돌림 구간에서 저항 테스트가 진행 중이다. 현재가 $76,783.50는 0.382 되돌림 $76,760.41과 0.5 되돌림 $76,806.75 사이에 있으며, 핵심 골든비율 0.618은 $76,853.09로 바로 위에 있다. 특히 $76,865.53 컨플루언스 존은 5개 피보나치 레벨이 겹친 클러스터이고 confluence_quality가 1.000이므로, 이 구간을 종가 기준으로 회복하지 못하면 $76,610.40 및 $76,541.44 재시험 가능성이 높다. 반대로 $76,853.09~$76,919.06을 강하게 돌파하면 현재의 단기 bearish setup은 약화된다.\",\n  \"key_levels\": {\n    \"support\": [\n      76760.41,\n      76703.08,\n      76610.4,\n      76541.44,\n      76367.71\n    ],\n    \"resistance\": [\n      76806.75,\n      76853.09,\n      76865.53,\n      76919.06,\n      77003\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$76,919.06\",\n  \"risk_scenario\": \"$76,919.06의 0.786 되돌림을 상향 돌파하고 유지하면 하락 되돌림 저항 시나리오가 무효화되며, $77,003 스윙 고점 재시험 및 $77,439.71 상위 컨플루언스 구간까지 반등이 확장될 수 있다.\",\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": [
        "파생 포지셔닝 약세: aggregate_score 0.306, bull_signals 0개 vs bear_signals 3개",
        "롱 계정 쏠림: long_account_latest 0.593, account_long_crowding 0.737, long_account_change_24h +0.008",
        "숏 계정 감소: short_account_latest 0.407, short_account_change_24h -0.0078로 하락 압력보다 롱 편향이 더 혼잡",
        "CVD 약화: cvd_change -2873.0040, cvd_divergence 0.150으로 가격 반등 참여가 약함",
        "OI 언와인딩: oi_change_pct_24h -0.5960%, oi_trend 0.440으로 신규 추세 추종 매수보다 포지션 축소 우세",
        "현물-선물 베이시스 음수: spot_futures_basis_pct -0.0605%, basis_change_lookback -0.0152로 선물 프리미엄 부재",
        "현재가 $76,783.50이 EMA20 $76,814.59, EMA120 $76,867.13, EMA240 $77,092.93 아래에 위치",
        "7일 레인지 EQ $77,289.25 하단의 디스카운트 구간에 있으나, 파생 참여 약화로 즉시 반등보다 하방 유동성 $73,800-$73,400 테스트 위험 우세"
      ],
      "reasoning": "확정 구조 관점에서는 7일 저점 $76,014.20 이탈이나 고점 $78,564.30 돌파가 아직 없어 structure_bias는 중립으로 본다. 그러나 셋업 관점에서는 롱 계정 비중이 0.593까지 올라 있고 account_long_crowding이 0.737인 반면, CVD는 -2873.0040 감소해 가격 방어에 실수요가 따라오지 않는 모습이다. OI도 24시간 -0.5960% 감소해 신규 매수 유입보다는 언와인딩 성격이 강하고, 선물 베이시스가 -0.0605%로 음수라 파생 시장의 프리미엄도 약하다. 현재가 $76,783.50은 EMA20 $76,814.59, EMA120 $76,867.13, EMA240 $77,092.93 아래이며, $77,289.25 EQ 회복 전까지는 $76,014.20 재테스트 및 $73,800/$73,700/$73,400 하방 청산 클러스터로 끌릴 가능성이 더 높다.",
      "key_levels": {
        "support": [
          76014.2,
          73800,
          73700,
          73400,
          68800
        ],
        "resistance": [
          76814.59,
          76867.13,
          77092.93,
          77289.25,
          78564.3,
          79500
        ]
      },
      "time_horizon": "short term, 향후 4-8시간",
      "invalidation_level": "15분 종가 기준 $77,289.25 상회 및 유지",
      "risk_scenario": "$77,289.25 EQ를 회복하고 EMA240 $77,092.93 위에서 안착하면 현재의 롱 쏠림이 숏 스퀴즈성 반등으로 전환될 수 있으며, 이 경우 $78,564.30 7일 고점과 $79,500 상방 청산 레벨까지 빠르게 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.15,
        "cvd_change": -2873.004,
        "oi_trend": 0.44,
        "oi_change_pct_24h": -0.596,
        "oi_latest": 103836.691,
        "funding_pressure": 0.453,
        "funding_avg": 4.698e-05,
        "funding_change_24h": -1.91e-05,
        "long_account_ratio": 0.588,
        "short_account_ratio": 0.412,
        "long_account_latest": 0.593,
        "short_account_latest": 0.407,
        "long_account_change_24h": 0.0078,
        "short_account_change_24h": -0.0078,
        "account_flow_label": "long_accounts_rising_short_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 0.737,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.485,
        "spot_futures_basis_pct": -0.0605,
        "basis_change_lookback": -0.0152,
        "aggregate_score": 0.306,
        "bull_signals": 0,
        "bear_signals": 3,
        "liq_below": [
          [
            73800,
            1257.632704
          ],
          [
            73700,
            1234.460878
          ],
          [
            73400,
            1351.6374190000001
          ]
        ],
        "liq_above": [
          [
            79500,
            1351.6374190000001
          ],
          [
            84100,
            1689.54677375
          ],
          [
            84400,
            1281.97997625
          ]
        ],
        "strongest_liq_level": 68800,
        "fragility_score": 0.514,
        "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    \"파생 포지셔닝 약세: aggregate_score 0.306, bull_signals 0개 vs bear_signals 3개\",\n    \"롱 계정 쏠림: long_account_latest 0.593, account_long_crowding 0.737, long_account_change_24h +0.008\",\n    \"숏 계정 감소: short_account_latest 0.407, short_account_change_24h -0.0078로 하락 압력보다 롱 편향이 더 혼잡\",\n    \"CVD 약화: cvd_change -2873.0040, cvd_divergence 0.150으로 가격 반등 참여가 약함\",\n    \"OI 언와인딩: oi_change_pct_24h -0.5960%, oi_trend 0.440으로 신규 추세 추종 매수보다 포지션 축소 우세\",\n    \"현물-선물 베이시스 음수: spot_futures_basis_pct -0.0605%, basis_change_lookback -0.0152로 선물 프리미엄 부재\",\n    \"현재가 $76,783.50이 EMA20 $76,814.59, EMA120 $76,867.13, EMA240 $77,092.93 아래에 위치\",\n    \"7일 레인지 EQ $77,289.25 하단의 디스카운트 구간에 있으나, 파생 참여 약화로 즉시 반등보다 하방 유동성 $73,800-$73,400 테스트 위험 우세\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 7일 저점 $76,014.20 이탈이나 고점 $78,564.30 돌파가 아직 없어 structure_bias는 중립으로 본다. 그러나 셋업 관점에서는 롱 계정 비중이 0.593까지 올라 있고 account_long_crowding이 0.737인 반면, CVD는 -2873.0040 감소해 가격 방어에 실수요가 따라오지 않는 모습이다. OI도 24시간 -0.5960% 감소해 신규 매수 유입보다는 언와인딩 성격이 강하고, 선물 베이시스가 -0.0605%로 음수라 파생 시장의 프리미엄도 약하다. 현재가 $76,783.50은 EMA20 $76,814.59, EMA120 $76,867.13, EMA240 $77,092.93 아래이며, $77,289.25 EQ 회복 전까지는 $76,014.20 재테스트 및 $73,800/$73,700/$73,400 하방 청산 클러스터로 끌릴 가능성이 더 높다.\",\n  \"key_levels\": {\n    \"support\": [\n      76014.2,\n      73800,\n      73700,\n      73400,\n      68800\n    ],\n    \"resistance\": [\n      76814.59,\n      76867.13,\n      77092.93,\n      77289.25,\n      78564.3,\n      79500\n    ]\n  },\n  \"time_horizon\": \"short term, 향후 4-8시간\",\n  \"invalidation_level\": \"15분 종가 기준 $77,289.25 상회 및 유지\",\n  \"risk_scenario\": \"$77,289.25 EQ를 회복하고 EMA240 $77,092.93 위에서 안착하면 현재의 롱 쏠림이 숏 스퀴즈성 반등으로 전환될 수 있으며, 이 경우 $78,564.30 7일 고점과 $79,500 상방 청산 레벨까지 빠르게 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "확정 분배 구조: 15m_cycle_1에서 BC $78,453.00 → AR $76,666.00 → UTAD $77,291.30 → LPSY $76,650.00 → SOW $76,610.40 순서 확인",
        "현재 활성 구조 15m_cycle_2도 분배 후보: BC $76,992.60, ST $77,000.00 이후 SOW_IN_PHASE_B $76,610.40 및 UT $76,948.10 형성",
        "현재가 $76,783.50은 활성 UT $76,948.10 및 ST/BC 저항 $76,992.60~$77,000.00 아래에 위치",
        "메인 분배 레인지 하단 $76,666.00 부근에서 반등 중이나, 아직 $76,948.10~$77,000.00 재수용 실패 상태",
        "하단 유동성/약세 확인 구간은 최근 SOW $76,610.40 및 이전 SOW_IN_PHASE_B $76,107.70"
      ],
      "reasoning": "현재 regime은 DIS이며 regime_fitness 1.000, dis_score 100.0으로 분배 구조 판정이 우세합니다. 1차 확정 구조는 BC $78,453.00, AR $76,666.00을 기준으로 UTAD $77,291.30 이후 LPSY $76,650.00, SOW $76,610.40까지 진행된 Phase D 분배 약세 구조입니다. 다만 현재가는 $76,783.50으로 메인 AR 하단 $76,666.00 근처에 있어 즉시 추격 하락보다는 $76,948.10~$77,000.00 저항 재시험 후 거절 여부가 중요합니다. 활성 15m_cycle_2는 아직 완성된 Phase E가 아니라 BC $76,992.60, ST $77,000.00, UT $76,948.10을 포함한 재분배 후보이므로, 구조적 편향은 약세지만 단기 경로는 저항 확인형으로 봐야 합니다.",
      "key_levels": {
        "support": [
          76666.0,
          76610.4,
          76107.7
        ],
        "resistance": [
          76948.1,
          76992.6,
          77000.0,
          77291.3,
          77384.6,
          77757.5,
          78453.0
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "77384.60",
      "risk_scenario": "$76,948.10~$77,000.00 저항대를 회복하고 15분봉 기준 수용이 이어지면 현재의 단기 약세 setup은 약화됩니다. 특히 $77,384.60 상단을 회복하면 기존 UT 저항 실패 구조가 무효화되며, $77,757.50 ST 및 $78,453.00 BC 재시험으로 분배 해석이 지연될 수 있습니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 96.2,
        "dis_score": 100.0,
        "regime": "DIS",
        "regime_state": "dis_candidate",
        "structure_bias": "bearish",
        "phase_context": "dis_candidate / distribution / Phase D",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "UTAD",
          "LPSY",
          "SOW"
        ],
        "last_phase": "SOW",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 97,
            "price": 78453.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 105,
            "price": 76666.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 158,
            "price": 77757.5,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 180,
            "price": 76107.7,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 204,
            "price": 77384.6,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 237,
            "price": 77291.3,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 265,
            "price": 76650.0,
            "color": "#8338ec"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 292,
            "price": 76610.4,
            "color": "#ef476f"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 97,
            "end_idx": 292,
            "phase_count": 8,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 97,
                "price": 78453.0,
                "color": "#ffd166",
                "dt": "2026-05-18 06:30:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 105,
                "price": 76666.0,
                "color": "#06d6a0",
                "dt": "2026-05-18 08:30:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 158,
                "price": 77757.5,
                "color": "#118ab2",
                "dt": "2026-05-18 21:45:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 180,
                "price": 76107.7,
                "color": "#ef476f",
                "dt": "2026-05-19 03:15:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 204,
                "price": 77384.6,
                "color": "#f9844a",
                "dt": "2026-05-19 09:15:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 237,
                "price": 77291.3,
                "color": "#f9844a",
                "dt": "2026-05-19 17:30:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 265,
                "price": 76650.0,
                "color": "#8338ec",
                "dt": "2026-05-20 00:30:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 292,
                "price": 76610.4,
                "color": "#ef476f",
                "dt": "2026-05-20 07:15:00+09:00"
              }
            ]
          },
          {
            "structure_id": "15m_cycle_2",
            "sequence": 2,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 272,
            "end_idx": 297,
            "phase_count": 5,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 272,
                "price": 76992.6,
                "color": "#ffd166",
                "dt": "2026-05-20 02:15:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 277,
                "price": 76704.8,
                "color": "#06d6a0",
                "dt": "2026-05-20 03:30:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 286,
                "price": 77000.0,
                "color": "#118ab2",
                "dt": "2026-05-20 05:45:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 292,
                "price": 76610.4,
                "color": "#ef476f",
                "dt": "2026-05-20 07:15:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 297,
                "price": 76948.1,
                "color": "#f9844a",
                "dt": "2026-05-20 08:30:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_2",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 2,
        "regime_fitness": 1.0,
        "current_event": "SOW",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 76666.0,
        "main_range_high": 78453.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"확정 분배 구조: 15m_cycle_1에서 BC $78,453.00 → AR $76,666.00 → UTAD $77,291.30 → LPSY $76,650.00 → SOW $76,610.40 순서 확인\",\n    \"현재 활성 구조 15m_cycle_2도 분배 후보: BC $76,992.60, ST $77,000.00 이후 SOW_IN_PHASE_B $76,610.40 및 UT $76,948.10 형성\",\n    \"현재가 $76,783.50은 활성 UT $76,948.10 및 ST/BC 저항 $76,992.60~$77,000.00 아래에 위치\",\n    \"메인 분배 레인지 하단 $76,666.00 부근에서 반등 중이나, 아직 $76,948.10~$77,000.00 재수용 실패 상태\",\n    \"하단 유동성/약세 확인 구간은 최근 SOW $76,610.40 및 이전 SOW_IN_PHASE_B $76,107.70\"\n  ],\n  \"reasoning\": \"현재 regime은 DIS이며 regime_fitness 1.000, dis_score 100.0으로 분배 구조 판정이 우세합니다. 1차 확정 구조는 BC $78,453.00, AR $76,666.00을 기준으로 UTAD $77,291.30 이후 LPSY $76,650.00, SOW $76,610.40까지 진행된 Phase D 분배 약세 구조입니다. 다만 현재가는 $76,783.50으로 메인 AR 하단 $76,666.00 근처에 있어 즉시 추격 하락보다는 $76,948.10~$77,000.00 저항 재시험 후 거절 여부가 중요합니다. 활성 15m_cycle_2는 아직 완성된 Phase E가 아니라 BC $76,992.60, ST $77,000.00, UT $76,948.10을 포함한 재분배 후보이므로, 구조적 편향은 약세지만 단기 경로는 저항 확인형으로 봐야 합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      76666.0,\n      76610.4,\n      76107.7\n    ],\n    \"resistance\": [\n      76948.1,\n      76992.6,\n      77000.0,\n      77291.3,\n      77384.6,\n      77757.5,\n      78453.0\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"77384.60\",\n  \"risk_scenario\": \"$76,948.10~$77,000.00 저항대를 회복하고 15분봉 기준 수용이 이어지면 현재의 단기 약세 setup은 약화됩니다. 특히 $77,384.60 상단을 회복하면 기존 UT 저항 실패 구조가 무효화되며, $77,757.50 ST 및 $78,453.00 BC 재시험으로 분배 해석이 지연될 수 있습니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.54,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $76,783.50가 bullish Gartley 검증 TP1 $76,780.80에 거의 도달하여 1차 반등 목표가 소진됨",
        "상단에 active bearish Bat PRZ $76,787.92-$77,187.10가 즉시 대기 중이며 현재가와 하단 차이가 약 $4.42에 불과함",
        "상단 bearish Shark PRZ $76,847.28-$77,243.99 및 bearish Crab PRZ $76,980.26-$77,198.72가 중첩되어 $76,850-$77,200 구간이 강한 반응 저항대",
        "완료된 bearish Gartley PRZ $76,917.59-$77,167.12는 confirmed reaction=true, reaction_score=1.0으로 이미 방어 이력이 있음",
        "EMA20 $76,814.59, EMA120 $76,867.13, EMA240 $77,092.93가 모두 현재가 위에 있어 단기적으로 상단 PRZ 돌파 전까지 상승 추격 효율이 낮음"
      ],
      "reasoning": "하모닉 기준으로는 방향 점수 bearish 2.175, bullish 1.794로 약한 bearish 우위이나 directional_dominance가 0.096에 불과해 단독 방향 전환 신호로 보기 어렵습니다. 하단에서는 완료된 bullish Gartley가 $76,250.54-$76,564.60 PRZ에서 confirmed reaction=true를 만들었고 TP1 $76,780.80까지 도달했으나, 현재가 $76,783.50는 바로 위의 bearish Bat PRZ $76,787.92-$77,187.10에 진입 직전입니다. 특히 bearish Shark $76,847.28-$77,243.99, bearish Crab $76,980.26-$77,198.72, 완료 bearish Gartley $76,917.59-$77,167.12가 겹쳐 $76,900-$77,200은 강한 반락 후보 구간입니다. 다만 하모닉은 독립적인 구조 엔진이 아니므로, 15m/1h MSS·CHoCH나 CVD/OI 확인 전에는 구조_bias를 bearish로 확정하지 않고 neutral로 유지합니다.",
      "key_levels": {
        "support": [
          76780.8,
          76666.46,
          76564.6,
          76360.19,
          76250.54,
          76107.1,
          76014.2
        ],
        "resistance": [
          76787.92,
          76847.28,
          76917.59,
          76980.26,
          77011.37,
          77187.1,
          77243.99,
          77365.62,
          77384.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$77,365.62",
      "risk_scenario": "가격이 $76,787.92-$77,243.99의 상단 bearish PRZ 클러스터를 거부하지 않고 $77,365.62 위에서 15분봉 기준 수용되면, bearish setup은 실패하고 $77,384.60 및 $77,553.87-$77,695.33 상단 Gartley watch PRZ까지 확장될 수 있습니다. 반대로 $76,250.54-$76,564.60 하단 bullish Gartley PRZ가 재방문 후 방어되면 다시 $76,780.80, $77,011.37, $77,384.60 순의 bullish TP ladder가 유효해집니다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 41,
        "completed_patterns_found": 19,
        "forming_d_prz_found": 22,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 59,
        "swing_highs_scanned": 26,
        "swing_lows_scanned": 33,
        "timeframe": "15m",
        "prz_active_threshold_pct": 0.3,
        "prz_nearby_threshold_pct": 0.6,
        "prz_watch_threshold_pct": 1.2,
        "prz_max_width_pct": 0.6,
        "quality_counts": {
          "high": 17,
          "medium": 13,
          "low": 11
        },
        "prz_status_counts": {
          "active": 23,
          "nearby": 8,
          "watch": 8,
          "far": 2,
          "forming": 2
        },
        "high_confluence_prz_count": 29,
        "strict_patterns_found": 24,
        "candidate_patterns_found": 17,
        "active_patterns_at_prz": 23,
        "nearby_patterns": 8,
        "all_patterns": [
          "gartley",
          "shark",
          "gartley",
          "bat",
          "crab",
          "shark",
          "bat",
          "bat",
          "gartley",
          "bat",
          "butterfly",
          "gartley",
          "butterfly",
          "crab",
          "gartley",
          "bat",
          "crab",
          "butterfly",
          "butterfly",
          "shark",
          "butterfly",
          "gartley",
          "shark",
          "butterfly",
          "shark",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "bat",
          "bat",
          "crab",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "bat",
          "butterfly"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "gartley",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.972,
        "best_completion_status": "forming",
        "nearest_pattern": "shark",
        "nearest_prz": 76897.31,
        "price_to_prz": 0.15,
        "prz_range": [
          76666.46,
          77128.16
        ],
        "council_relevant_prz_count": 13,
        "directional_influence_prz_count": 13,
        "confirmed_reaction_prz_count": 5,
        "validated_harmonic_tp_count": 5,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.972,
            "ratio_score": 0.999,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76407.57,
            "prz_range": [
              76250.54,
              76564.6
            ],
            "prz_width_pct": 0.411,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.49,
            "price_to_prz_pct_raw": -0.4896,
            "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": 76407.57,
              "a_price": 77384.6,
              "tp1_ad_382": 76780.8,
              "tp2_ad_618": 77011.37,
              "tp3_a_or_structure_liquidity": 77384.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6178,
              "ABC": 0.6012
            },
            "x_price": 76107.7,
            "x_idx": 180,
            "x_order": 8,
            "a_price": 77384.6,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 76595.7,
            "b_idx": 224,
            "b_order": 8,
            "c_price": 77070.0,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.968,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76589.66,
            "prz_range": [
              76360.19,
              76819.14
            ],
            "prz_width_pct": 0.599,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.25,
            "price_to_prz_pct_raw": -0.2524,
            "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": 76589.66,
              "a_price": 76916.5,
              "tp1_ad_382": 76714.51,
              "tp2_ad_618": 76791.65,
              "tp3_a_or_structure_liquidity": 76916.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5275,
              "ABC": 1.4784
            },
            "x_price": 76451.3,
            "x_idx": 211,
            "x_order": 8,
            "a_price": 76916.5,
            "a_idx": 219,
            "a_order": 5,
            "b_price": 76671.1,
            "b_idx": 241,
            "b_order": 3,
            "c_price": 77033.9,
            "c_idx": 257,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "ratio_score": 0.992,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76377.0,
            "prz_range": [
              76250.54,
              76564.6
            ],
            "prz_width_pct": 0.411,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.49,
            "price_to_prz_pct_raw": -0.4896,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.649,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 76407.57,
              "a_price": 77384.6,
              "tp1_ad_382": 76780.8,
              "tp2_ad_618": 77011.37,
              "tp3_a_or_structure_liquidity": 77384.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6178,
              "ABC": 0.6012,
              "BCD": 1.4611,
              "XAD": 0.7891
            },
            "x_price": 76107.7,
            "x_idx": 180,
            "x_order": 8,
            "a_price": 77384.6,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 76595.7,
            "b_idx": 224,
            "b_order": 8,
            "c_price": 77070.0,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": 267
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.965,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76987.51,
            "prz_range": [
              76787.92,
              77187.1
            ],
            "prz_width_pct": 0.518,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.27,
            "price_to_prz_pct_raw": 0.2657,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 76987.51,
              "a_price": 76107.1,
              "tp1_ad_382": 76651.19,
              "tp2_ad_618": 76443.42,
              "tp3_a_or_structure_liquidity": 76107.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4585,
              "ABC": 0.5029
            },
            "x_price": 77291.3,
            "x_idx": 237,
            "x_order": 8,
            "a_price": 76107.1,
            "a_idx": 262,
            "a_order": 8,
            "b_price": 76650.0,
            "b_idx": 265,
            "b_order": 3,
            "c_price": 76377.0,
            "c_idx": 267,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.958,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 77089.49,
            "prz_range": [
              76980.26,
              77198.72
            ],
            "prz_width_pct": 0.283,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.4,
            "price_to_prz_pct_raw": 0.3985,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "crab",
              "d_price": 77089.49,
              "a_price": 76894.6,
              "tp1_ad_382": 77015.04,
              "tp2_ad_618": 76969.05,
              "tp3_a_or_structure_liquidity": 76894.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4683,
              "ABC": 0.5272
            },
            "x_price": 76725.7,
            "x_idx": 178,
            "x_order": 3,
            "a_price": 76894.6,
            "a_idx": 198,
            "a_order": 5,
            "b_price": 76973.7,
            "b_idx": 212,
            "b_order": 3,
            "c_price": 76932.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.958,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 77045.64,
            "prz_range": [
              76847.28,
              77243.99
            ],
            "prz_width_pct": 0.515,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.34,
            "price_to_prz_pct_raw": 0.3414,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 77045.64,
              "a_price": 76753.6,
              "tp1_ad_382": 76934.08,
              "tp2_ad_618": 76865.16,
              "tp3_a_or_structure_liquidity": 76753.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5412,
              "ABC": 1.4343
            },
            "x_price": 77160.3,
            "x_idx": 189,
            "x_order": 5,
            "a_price": 76753.6,
            "a_idx": 191,
            "a_order": 5,
            "b_price": 76973.7,
            "b_idx": 212,
            "b_order": 3,
            "c_price": 76658.0,
            "c_idx": 220,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.953,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76422.64,
            "prz_range": [
              76197.13,
              76648.15
            ],
            "prz_width_pct": 0.59,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.47,
            "price_to_prz_pct_raw": -0.47,
            "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": 76422.64,
              "a_price": 77160.3,
              "tp1_ad_382": 76704.42,
              "tp2_ad_618": 76878.51,
              "tp3_a_or_structure_liquidity": 77160.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3864,
              "ABC": 0.5412
            },
            "x_price": 76107.7,
            "x_idx": 180,
            "x_order": 8,
            "a_price": 77160.3,
            "a_idx": 189,
            "a_order": 5,
            "b_price": 76753.6,
            "b_idx": 191,
            "b_order": 5,
            "c_price": 76973.7,
            "c_idx": 212,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.931,
            "ratio_score": 0.995,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 77291.3,
            "prz_range": [
              76993.63,
              77365.62
            ],
            "prz_width_pct": 0.482,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.52,
            "price_to_prz_pct_raw": 0.5159,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.964,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 77179.63,
              "a_price": 76550.0,
              "tp1_ad_382": 76939.11,
              "tp2_ad_618": 76790.52,
              "tp3_a_or_structure_liquidity": 76550.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4391,
              "ABC": 0.7053,
              "BCD": 2.4499,
              "XAD": 0.8882
            },
            "x_price": 77384.6,
            "x_idx": 204,
            "x_order": 8,
            "a_price": 76550.0,
            "a_idx": 215,
            "a_order": 3,
            "b_price": 76916.5,
            "b_idx": 219,
            "b_order": 5,
            "c_price": 76658.0,
            "c_idx": 220,
            "c_order": 3,
            "d_idx": 237
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "ratio_score": 0.992,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76377.0,
            "prz_range": [
              76250.54,
              76564.6
            ],
            "prz_width_pct": 0.411,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.49,
            "price_to_prz_pct_raw": -0.4896,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.649,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 76407.57,
              "a_price": 77384.6,
              "tp1_ad_382": 76780.8,
              "tp2_ad_618": 77011.37,
              "tp3_a_or_structure_liquidity": 77384.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6178,
              "ABC": 0.6012,
              "BCD": 1.4611,
              "XAD": 0.7891
            },
            "x_price": 76107.7,
            "x_idx": 180,
            "x_order": 8,
            "a_price": 77384.6,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 76595.7,
            "b_idx": 224,
            "b_order": 8,
            "c_price": 77070.0,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": 267
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.931,
            "ratio_score": 0.995,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 77291.3,
            "prz_range": [
              76993.63,
              77365.62
            ],
            "prz_width_pct": 0.482,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.52,
            "price_to_prz_pct_raw": 0.5159,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.964,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 77179.63,
              "a_price": 76550.0,
              "tp1_ad_382": 76939.11,
              "tp2_ad_618": 76790.52,
              "tp3_a_or_structure_liquidity": 76550.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4391,
              "ABC": 0.7053,
              "BCD": 2.4499,
              "XAD": 0.8882
            },
            "x_price": 77384.6,
            "x_idx": 204,
            "x_order": 8,
            "a_price": 76550.0,
            "a_idx": 215,
            "a_order": 3,
            "b_price": 76916.5,
            "b_idx": 219,
            "b_order": 5,
            "c_price": 76658.0,
            "c_idx": 220,
            "c_order": 3,
            "d_idx": 237
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.921,
            "ratio_score": 0.95,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 77033.9,
            "prz_range": [
              76917.59,
              77167.12
            ],
            "prz_width_pct": 0.324,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.34,
            "price_to_prz_pct_raw": 0.3371,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.591,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 77042.35,
              "a_price": 76451.3,
              "tp1_ad_382": 76816.57,
              "tp2_ad_618": 76677.08,
              "tp3_a_or_structure_liquidity": 76451.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6321,
              "ABC": 0.5275,
              "BCD": 1.4784,
              "XAD": 0.7916
            },
            "x_price": 77187.3,
            "x_idx": 196,
            "x_order": 5,
            "a_price": 76451.3,
            "a_idx": 211,
            "a_order": 8,
            "b_price": 76916.5,
            "b_idx": 219,
            "b_order": 5,
            "c_price": 76671.1,
            "c_idx": 241,
            "c_order": 3,
            "d_idx": 257
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.889,
            "ratio_score": 0.923,
            "prz_score": 0.922,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76107.1,
            "prz_range": [
              75960.88,
              76571.21
            ],
            "prz_width_pct": 0.8,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.67,
            "price_to_prz_pct_raw": -0.6739,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.82,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 76266.04,
              "a_price": 77187.3,
              "tp1_ad_382": 76617.96,
              "tp2_ad_618": 76835.38,
              "tp3_a_or_structure_liquidity": 77187.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4512,
              "ABC": 0.7784,
              "BCD": 2.3371,
              "XAD": 0.9208
            },
            "x_price": 76014.2,
            "x_idx": 169,
            "x_order": 8,
            "a_price": 77187.3,
            "a_idx": 196,
            "a_order": 5,
            "b_price": 76658.0,
            "b_idx": 220,
            "b_order": 3,
            "c_price": 77070.0,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": 262
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.845,
            "ratio_score": 0.919,
            "prz_score": 0.905,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 77384.6,
            "prz_range": [
              77182.17,
              77837.2
            ],
            "prz_width_pct": 0.845,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.95,
            "price_to_prz_pct_raw": 0.9458,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.731,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 77509.69,
              "a_price": 76107.7,
              "tp1_ad_382": 76974.13,
              "tp2_ad_618": 76643.26,
              "tp3_a_or_structure_liquidity": 76107.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.638,
              "ABC": 0.3864,
              "BCD": 1.5515,
              "XAD": 0.774
            },
            "x_price": 77757.5,
            "x_idx": 158,
            "x_order": 8,
            "a_price": 76107.7,
            "a_idx": 180,
            "a_order": 8,
            "b_price": 77160.3,
            "b_idx": 189,
            "b_order": 5,
            "c_price": 76753.6,
            "c_idx": 191,
            "c_order": 5,
            "d_idx": 204
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.972,
            "ratio_score": 0.999,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76407.57,
            "prz_range": [
              76250.54,
              76564.6
            ],
            "prz_width_pct": 0.411,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.49,
            "price_to_prz_pct_raw": -0.4896,
            "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": 76407.57,
              "a_price": 77384.6,
              "tp1_ad_382": 76780.8,
              "tp2_ad_618": 77011.37,
              "tp3_a_or_structure_liquidity": 77384.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6178,
              "ABC": 0.6012
            },
            "x_price": 76107.7,
            "x_idx": 180,
            "x_order": 8,
            "a_price": 77384.6,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 76595.7,
            "b_idx": 224,
            "b_order": 8,
            "c_price": 77070.0,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.968,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76589.66,
            "prz_range": [
              76360.19,
              76819.14
            ],
            "prz_width_pct": 0.599,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.25,
            "price_to_prz_pct_raw": -0.2524,
            "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": 76589.66,
              "a_price": 76916.5,
              "tp1_ad_382": 76714.51,
              "tp2_ad_618": 76791.65,
              "tp3_a_or_structure_liquidity": 76916.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5275,
              "ABC": 1.4784
            },
            "x_price": 76451.3,
            "x_idx": 211,
            "x_order": 8,
            "a_price": 76916.5,
            "a_idx": 219,
            "a_order": 5,
            "b_price": 76671.1,
            "b_idx": 241,
            "b_order": 3,
            "c_price": 77033.9,
            "c_idx": 257,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.965,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76987.51,
            "prz_range": [
              76787.92,
              77187.1
            ],
            "prz_width_pct": 0.518,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.27,
            "price_to_prz_pct_raw": 0.2657,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 76987.51,
              "a_price": 76107.1,
              "tp1_ad_382": 76651.19,
              "tp2_ad_618": 76443.42,
              "tp3_a_or_structure_liquidity": 76107.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4585,
              "ABC": 0.5029
            },
            "x_price": 77291.3,
            "x_idx": 237,
            "x_order": 8,
            "a_price": 76107.1,
            "a_idx": 262,
            "a_order": 8,
            "b_price": 76650.0,
            "b_idx": 265,
            "b_order": 3,
            "c_price": 76377.0,
            "c_idx": 267,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.958,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 77045.64,
            "prz_range": [
              76847.28,
              77243.99
            ],
            "prz_width_pct": 0.515,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.34,
            "price_to_prz_pct_raw": 0.3414,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 77045.64,
              "a_price": 76753.6,
              "tp1_ad_382": 76934.08,
              "tp2_ad_618": 76865.16,
              "tp3_a_or_structure_liquidity": 76753.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5412,
              "ABC": 1.4343
            },
            "x_price": 77160.3,
            "x_idx": 189,
            "x_order": 5,
            "a_price": 76753.6,
            "a_idx": 191,
            "a_order": 5,
            "b_price": 76973.7,
            "b_idx": 212,
            "b_order": 3,
            "c_price": 76658.0,
            "c_idx": 220,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.958,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 77089.49,
            "prz_range": [
              76980.26,
              77198.72
            ],
            "prz_width_pct": 0.283,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.4,
            "price_to_prz_pct_raw": 0.3985,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "crab",
              "d_price": 77089.49,
              "a_price": 76894.6,
              "tp1_ad_382": 77015.04,
              "tp2_ad_618": 76969.05,
              "tp3_a_or_structure_liquidity": 76894.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4683,
              "ABC": 0.5272
            },
            "x_price": 76725.7,
            "x_idx": 178,
            "x_order": 3,
            "a_price": 76894.6,
            "a_idx": 198,
            "a_order": 5,
            "b_price": 76973.7,
            "b_idx": 212,
            "b_order": 3,
            "c_price": 76932.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.972,
            "ratio_score": 0.999,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76407.57,
            "prz_range": [
              76250.54,
              76564.6
            ],
            "prz_width_pct": 0.411,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.49,
            "price_to_prz_pct_raw": -0.4896,
            "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": 76407.57,
              "a_price": 77384.6,
              "tp1_ad_382": 76780.8,
              "tp2_ad_618": 77011.37,
              "tp3_a_or_structure_liquidity": 77384.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6178,
              "ABC": 0.6012
            },
            "x_price": 76107.7,
            "x_idx": 180,
            "x_order": 8,
            "a_price": 77384.6,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 76595.7,
            "b_idx": 224,
            "b_order": 8,
            "c_price": 77070.0,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.968,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76589.66,
            "prz_range": [
              76360.19,
              76819.14
            ],
            "prz_width_pct": 0.599,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.25,
            "price_to_prz_pct_raw": -0.2524,
            "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": 76589.66,
              "a_price": 76916.5,
              "tp1_ad_382": 76714.51,
              "tp2_ad_618": 76791.65,
              "tp3_a_or_structure_liquidity": 76916.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5275,
              "ABC": 1.4784
            },
            "x_price": 76451.3,
            "x_idx": 211,
            "x_order": 8,
            "a_price": 76916.5,
            "a_idx": 219,
            "a_order": 5,
            "b_price": 76671.1,
            "b_idx": 241,
            "b_order": 3,
            "c_price": 77033.9,
            "c_idx": 257,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "ratio_score": 0.992,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76377.0,
            "prz_range": [
              76250.54,
              76564.6
            ],
            "prz_width_pct": 0.411,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.49,
            "price_to_prz_pct_raw": -0.4896,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.649,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 76407.57,
              "a_price": 77384.6,
              "tp1_ad_382": 76780.8,
              "tp2_ad_618": 77011.37,
              "tp3_a_or_structure_liquidity": 77384.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6178,
              "ABC": 0.6012,
              "BCD": 1.4611,
              "XAD": 0.7891
            },
            "x_price": 76107.7,
            "x_idx": 180,
            "x_order": 8,
            "a_price": 77384.6,
            "a_idx": 204,
            "a_order": 8,
            "b_price": 76595.7,
            "b_idx": 224,
            "b_order": 8,
            "c_price": 77070.0,
            "c_idx": 246,
            "c_order": 5,
            "d_idx": 267
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.965,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76987.51,
            "prz_range": [
              76787.92,
              77187.1
            ],
            "prz_width_pct": 0.518,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.27,
            "price_to_prz_pct_raw": 0.2657,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 76987.51,
              "a_price": 76107.1,
              "tp1_ad_382": 76651.19,
              "tp2_ad_618": 76443.42,
              "tp3_a_or_structure_liquidity": 76107.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4585,
              "ABC": 0.5029
            },
            "x_price": 77291.3,
            "x_idx": 237,
            "x_order": 8,
            "a_price": 76107.1,
            "a_idx": 262,
            "a_order": 8,
            "b_price": 76650.0,
            "b_idx": 265,
            "b_order": 3,
            "c_price": 76377.0,
            "c_idx": 267,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.958,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 77089.49,
            "prz_range": [
              76980.26,
              77198.72
            ],
            "prz_width_pct": 0.283,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.4,
            "price_to_prz_pct_raw": 0.3985,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "crab",
              "d_price": 77089.49,
              "a_price": 76894.6,
              "tp1_ad_382": 77015.04,
              "tp2_ad_618": 76969.05,
              "tp3_a_or_structure_liquidity": 76894.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4683,
              "ABC": 0.5272
            },
            "x_price": 76725.7,
            "x_idx": 178,
            "x_order": 3,
            "a_price": 76894.6,
            "a_idx": 198,
            "a_order": 5,
            "b_price": 76973.7,
            "b_idx": 212,
            "b_order": 3,
            "c_price": 76932.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.958,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 77045.64,
            "prz_range": [
              76847.28,
              77243.99
            ],
            "prz_width_pct": 0.515,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.34,
            "price_to_prz_pct_raw": 0.3414,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 77045.64,
              "a_price": 76753.6,
              "tp1_ad_382": 76934.08,
              "tp2_ad_618": 76865.16,
              "tp3_a_or_structure_liquidity": 76753.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5412,
              "ABC": 1.4343
            },
            "x_price": 77160.3,
            "x_idx": 189,
            "x_order": 5,
            "a_price": 76753.6,
            "a_idx": 191,
            "a_order": 5,
            "b_price": 76973.7,
            "b_idx": 212,
            "b_order": 3,
            "c_price": 76658.0,
            "c_idx": 220,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.953,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76422.64,
            "prz_range": [
              76197.13,
              76648.15
            ],
            "prz_width_pct": 0.59,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.47,
            "price_to_prz_pct_raw": -0.47,
            "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": 76422.64,
              "a_price": 77160.3,
              "tp1_ad_382": 76704.42,
              "tp2_ad_618": 76878.51,
              "tp3_a_or_structure_liquidity": 77160.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3864,
              "ABC": 0.5412
            },
            "x_price": 76107.7,
            "x_idx": 180,
            "x_order": 8,
            "a_price": 77160.3,
            "a_idx": 189,
            "a_order": 5,
            "b_price": 76753.6,
            "b_idx": 191,
            "b_order": 5,
            "c_price": 76973.7,
            "c_idx": 212,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.931,
            "ratio_score": 0.995,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 77291.3,
            "prz_range": [
              76993.63,
              77365.62
            ],
            "prz_width_pct": 0.482,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.52,
            "price_to_prz_pct_raw": 0.5159,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.964,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 77179.63,
              "a_price": 76550.0,
              "tp1_ad_382": 76939.11,
              "tp2_ad_618": 76790.52,
              "tp3_a_or_structure_liquidity": 76550.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4391,
              "ABC": 0.7053,
              "BCD": 2.4499,
              "XAD": 0.8882
            },
            "x_price": 77384.6,
            "x_idx": 204,
            "x_order": 8,
            "a_price": 76550.0,
            "a_idx": 215,
            "a_order": 3,
            "b_price": 76916.5,
            "b_idx": 219,
            "b_order": 5,
            "c_price": 76658.0,
            "c_idx": 220,
            "c_order": 3,
            "d_idx": 237
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.931,
            "ratio_score": 0.97,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 77206.58,
            "prz_range": [
              77086.59,
              77326.58
            ],
            "prz_width_pct": 0.311,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.55,
            "price_to_prz_pct_raw": 0.551,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 77206.58,
              "a_price": 76550.0,
              "tp1_ad_382": 76955.77,
              "tp2_ad_618": 76800.82,
              "tp3_a_or_structure_liquidity": 76550.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6231,
              "ABC": 0.7023
            },
            "x_price": 77384.6,
            "x_idx": 204,
            "x_order": 8,
            "a_price": 76550.0,
            "a_idx": 215,
            "a_order": 3,
            "b_price": 77070.0,
            "b_idx": 246,
            "b_order": 5,
            "c_price": 76704.8,
            "c_idx": 277,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.929,
            "ratio_score": 0.925,
            "prz_score": 0.991,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 76430.03,
            "prz_range": [
              76191.58,
              76668.47
            ],
            "prz_width_pct": 0.624,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.46,
            "price_to_prz_pct_raw": -0.4604,
            "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": 76430.03,
              "a_price": 77070.0,
              "tp1_ad_382": 76674.5,
              "tp2_ad_618": 76825.53,
              "tp3_a_or_structure_liquidity": 77070.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.77,
              "ABC": 0.8168
            },
            "x_price": 76595.7,
            "x_idx": 224,
            "x_order": 8,
            "a_price": 77070.0,
            "a_idx": 246,
            "a_order": 5,
            "b_price": 76704.8,
            "b_idx": 277,
            "b_order": 5,
            "c_price": 77003.1,
            "c_idx": 289,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.921,
            "ratio_score": 0.95,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 77033.9,
            "prz_range": [
              76917.59,
              77167.12
            ],
            "prz_width_pct": 0.324,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.34,
            "price_to_prz_pct_raw": 0.3371,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.591,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 77042.35,
              "a_price": 76451.3,
              "tp1_ad_382": 76816.57,
              "tp2_ad_618": 76677.08,
              "tp3_a_or_structure_liquidity": 76451.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6321,
              "ABC": 0.5275,
              "BCD": 1.4784,
              "XAD": 0.7916
            },
            "x_price": 77187.3,
            "x_idx": 196,
            "x_order": 5,
            "a_price": 76451.3,
            "a_idx": 211,
            "a_order": 8,
            "b_price": 76916.5,
            "b_idx": 219,
            "b_order": 5,
            "c_price": 76671.1,
            "c_idx": 241,
            "c_order": 3,
            "d_idx": 257
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.893,
            "ratio_score": 0.937,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 77553.87,
            "prz_range": [
              77412.42,
              77695.33
            ],
            "prz_width_pct": 0.365,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.0,
            "price_to_prz_pct_raw": 1.0033,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 77553.87,
              "a_price": 76753.6,
              "tp1_ad_382": 77248.17,
              "tp2_ad_618": 77059.3,
              "tp3_a_or_structure_liquidity": 76753.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6285,
              "ABC": 0.7173
            },
            "x_price": 77757.5,
            "x_idx": 158,
            "x_order": 8,
            "a_price": 76753.6,
            "a_idx": 191,
            "a_order": 5,
            "b_price": 77384.6,
            "b_idx": 204,
            "b_order": 8,
            "c_price": 76932.0,
            "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.972,
            "prz_proximity": "active",
            "prz_range": [
              76250.54,
              76564.6
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.49,
            "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": 76407.57,
              "a_price": 77384.6,
              "tp1_ad_382": 76780.8,
              "tp2_ad_618": 77011.37,
              "tp3_a_or_structure_liquidity": 77384.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $76,250.54-$76,564.60: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.968,
            "prz_proximity": "active",
            "prz_range": [
              76360.19,
              76819.14
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.25,
            "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": "shark",
              "d_price": 76589.66,
              "a_price": 76916.5,
              "tp1_ad_382": 76714.51,
              "tp2_ad_618": 76791.65,
              "tp3_a_or_structure_liquidity": 76916.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "SHARK FORMING HIGH PRZ $76,360.19-$76,819.14: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "prz_proximity": "active",
            "prz_range": [
              76250.54,
              76564.6
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.49,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.649,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 76407.57,
              "a_price": 77384.6,
              "tp1_ad_382": 76780.8,
              "tp2_ad_618": 77011.37,
              "tp3_a_or_structure_liquidity": 77384.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY COMPLETED HIGH PRZ $76,250.54-$76,564.60: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.965,
            "prz_proximity": "active",
            "prz_range": [
              76787.92,
              77187.1
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.27,
            "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": "bearish",
              "source": "bat",
              "d_price": 76987.51,
              "a_price": 76107.1,
              "tp1_ad_382": 76651.19,
              "tp2_ad_618": 76443.42,
              "tp3_a_or_structure_liquidity": 76107.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $76,787.92-$77,187.10: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.958,
            "prz_proximity": "active",
            "prz_range": [
              76980.26,
              77198.72
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.4,
            "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": "bearish",
              "source": "crab",
              "d_price": 77089.49,
              "a_price": 76894.6,
              "tp1_ad_382": 77015.04,
              "tp2_ad_618": 76969.05,
              "tp3_a_or_structure_liquidity": 76894.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "CRAB FORMING HIGH PRZ $76,980.26-$77,198.72: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.958,
            "prz_proximity": "active",
            "prz_range": [
              76847.28,
              77243.99
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.34,
            "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": "bearish",
              "source": "shark",
              "d_price": 77045.64,
              "a_price": 76753.6,
              "tp1_ad_382": 76934.08,
              "tp2_ad_618": 76865.16,
              "tp3_a_or_structure_liquidity": 76753.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "SHARK FORMING HIGH PRZ $76,847.28-$77,243.99: expected reversal DOWN if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.972,
          "ratio_score": 0.999,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 76407.57,
          "prz_range": [
            76250.54,
            76564.6
          ],
          "prz_width_pct": 0.411,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.49,
          "price_to_prz_pct_raw": -0.4896,
          "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": 76407.57,
            "a_price": 77384.6,
            "tp1_ad_382": 76780.8,
            "tp2_ad_618": 77011.37,
            "tp3_a_or_structure_liquidity": 77384.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.6178,
            "ABC": 0.6012
          },
          "x_price": 76107.7,
          "x_idx": 180,
          "x_order": 8,
          "a_price": 77384.6,
          "a_idx": 204,
          "a_order": 8,
          "b_price": 76595.7,
          "b_idx": 224,
          "b_order": 8,
          "c_price": 77070.0,
          "c_idx": 246,
          "c_order": 5,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 76407.57,
          "a_price": 77384.6,
          "tp1_ad_382": 76780.8,
          "tp2_ad_618": 77011.37,
          "tp3_a_or_structure_liquidity": 77384.6,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 76407.57,
          "a_price": 77384.6,
          "tp1_ad_382": 76780.8,
          "tp2_ad_618": 77011.37,
          "tp3_a_or_structure_liquidity": 77384.6,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 76407.57,
            "a_price": 77384.6,
            "tp1_ad_382": 76780.8,
            "tp2_ad_618": 77011.37,
            "tp3_a_or_structure_liquidity": 77384.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "shark",
            "d_price": 76589.66,
            "a_price": 76916.5,
            "tp1_ad_382": 76714.51,
            "tp2_ad_618": 76791.65,
            "tp3_a_or_structure_liquidity": 76916.5,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 76407.57,
            "a_price": 77384.6,
            "tp1_ad_382": 76780.8,
            "tp2_ad_618": 77011.37,
            "tp3_a_or_structure_liquidity": 77384.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "bat",
            "d_price": 76987.51,
            "a_price": 76107.1,
            "tp1_ad_382": 76651.19,
            "tp2_ad_618": 76443.42,
            "tp3_a_or_structure_liquidity": 76107.1,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "crab",
            "d_price": 77089.49,
            "a_price": 76894.6,
            "tp1_ad_382": 77015.04,
            "tp2_ad_618": 76969.05,
            "tp3_a_or_structure_liquidity": 76894.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "shark",
            "d_price": 77045.64,
            "a_price": 76753.6,
            "tp1_ad_382": 76934.08,
            "tp2_ad_618": 76865.16,
            "tp3_a_or_structure_liquidity": 76753.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 76407.57,
            "a_price": 77384.6,
            "tp1_ad_382": 76780.8,
            "tp2_ad_618": 77011.37,
            "tp3_a_or_structure_liquidity": 77384.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "bat",
            "d_price": 77179.63,
            "a_price": 76550.0,
            "tp1_ad_382": 76939.11,
            "tp2_ad_618": 76790.52,
            "tp3_a_or_structure_liquidity": 76550.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "gartley",
            "d_price": 77042.35,
            "a_price": 76451.3,
            "tp1_ad_382": 76816.57,
            "tp2_ad_618": 76677.08,
            "tp3_a_or_structure_liquidity": 76451.3,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 76266.04,
            "a_price": 77187.3,
            "tp1_ad_382": 76617.96,
            "tp2_ad_618": 76835.38,
            "tp3_a_or_structure_liquidity": 77187.3,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "gartley",
            "d_price": 77509.69,
            "a_price": 76107.7,
            "tp1_ad_382": 76974.13,
            "tp2_ad_618": 76643.26,
            "tp3_a_or_structure_liquidity": 76107.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": "ready",
        "directional_scores": {
          "bullish": 1.794,
          "bearish": 2.175
        },
        "directional_score_total": 3.969,
        "directional_dominance": 0.096
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.54,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $76,783.50가 bullish Gartley 검증 TP1 $76,780.80에 거의 도달하여 1차 반등 목표가 소진됨\",\n    \"상단에 active bearish Bat PRZ $76,787.92-$77,187.10가 즉시 대기 중이며 현재가와 하단 차이가 약 $4.42에 불과함\",\n    \"상단 bearish Shark PRZ $76,847.28-$77,243.99 및 bearish Crab PRZ $76,980.26-$77,198.72가 중첩되어 $76,850-$77,200 구간이 강한 반응 저항대\",\n    \"완료된 bearish Gartley PRZ $76,917.59-$77,167.12는 confirmed reaction=true, reaction_score=1.0으로 이미 방어 이력이 있음\",\n    \"EMA20 $76,814.59, EMA120 $76,867.13, EMA240 $77,092.93가 모두 현재가 위에 있어 단기적으로 상단 PRZ 돌파 전까지 상승 추격 효율이 낮음\"\n  ],\n  \"reasoning\": \"하모닉 기준으로는 방향 점수 bearish 2.175, bullish 1.794로 약한 bearish 우위이나 directional_dominance가 0.096에 불과해 단독 방향 전환 신호로 보기 어렵습니다. 하단에서는 완료된 bullish Gartley가 $76,250.54-$76,564.60 PRZ에서 confirmed reaction=true를 만들었고 TP1 $76,780.80까지 도달했으나, 현재가 $76,783.50는 바로 위의 bearish Bat PRZ $76,787.92-$77,187.10에 진입 직전입니다. 특히 bearish Shark $76,847.28-$77,243.99, bearish Crab $76,980.26-$77,198.72, 완료 bearish Gartley $76,917.59-$77,167.12가 겹쳐 $76,900-$77,200은 강한 반락 후보 구간입니다. 다만 하모닉은 독립적인 구조 엔진이 아니므로, 15m/1h MSS·CHoCH나 CVD/OI 확인 전에는 구조_bias를 bearish로 확정하지 않고 neutral로 유지합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      76780.8,\n      76666.46,\n      76564.6,\n      76360.19,\n      76250.54,\n      76107.1,\n      76014.2\n    ],\n    \"resistance\": [\n      76787.92,\n      76847.28,\n      76917.59,\n      76980.26,\n      77011.37,\n      77187.1,\n      77243.99,\n      77365.62,\n      77384.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$77,365.62\",\n  \"risk_scenario\": \"가격이 $76,787.92-$77,243.99의 상단 bearish PRZ 클러스터를 거부하지 않고 $77,365.62 위에서 15분봉 기준 수용되면, bearish setup은 실패하고 $77,384.60 및 $77,553.87-$77,695.33 상단 Gartley watch PRZ까지 확장될 수 있습니다. 반대로 $76,250.54-$76,564.60 하단 bullish Gartley PRZ가 재방문 후 방어되면 다시 $76,780.80, $77,011.37, $77,384.60 순의 bullish TP ladder가 유효해집니다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.74,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.78,
      "active_setups": [
        "ICT: 현재가 $76,783.50가 단기 range EQ $76,574.70 위 premium 구간에 있고, 미완화 bearish OB $76,983.60-$77,291.30 아래에서 반등 매도 조건 형성",
        "Wyckoff: 활성 재분배 후보 구조에서 UT $76,948.10 및 BC/ST $76,992.60-$77,000.00 아래에 위치",
        "Fibonacci: 하락 스윙 $77,003→$76,610의 0.5 되돌림 $76,806.75와 0.618 $76,853.09 아래에 있으며, $76,865.53 고품질 피보나치 클러스터가 즉각 저항",
        "Candlestick: 현재가가 EMA20 $76,814.59, EMA120 $76,867.13, EMA240 $77,092.93 아래에 있고 bearish_engulfing, evening_star, 고거래량 three_black_crows가 동시 약세 압력",
        "Derivatives: 롱 계정 비중 0.593 및 long crowding 0.737, CVD -2873.0040, 선물 베이시스 -0.0605%로 롱 혼잡 대비 실수요 약화",
        "Harmonic: bullish Gartley TP1 $76,780.80 도달 후, 바로 위 bearish Bat PRZ $76,787.92-$77,187.10 및 Shark/Crab PRZ $76,847.28-$77,243.99가 중첩"
      ],
      "setup_vs_structure": "구조적 판정과 실행 셋업이 모두 약세 방향으로 정렬되어 있다. 다만 현재가는 $76,610.40-$76,666.00 지지권에서 반등한 뒤 저항 재시험 구간에 있어, 추격형보다는 $76,850-$77,200 공급대 반응 확인형 셋업이다."
    },
    "signal_breakdown": {
      "bullish_count": 0,
      "bearish_count": 5,
      "neutral_count": 1
    },
    "key_levels": {
      "support": [
        76760.41,
        76703.08,
        76666.0,
        76627.0,
        76610.4,
        76574.7,
        76451.3,
        76107.1,
        76014.2
      ],
      "resistance": [
        76806.75,
        76814.59,
        76853.09,
        76865.53,
        76867.13,
        76948.1,
        76983.6,
        77000.0,
        77187.1,
        77291.3,
        77384.6,
        77542.9,
        77757.5
      ]
    },
    "confluences": [
      "ICT와 Wyckoff가 모두 $76,948.10-$77,000.00 부근을 단기 구조 저항으로 제시한다: ICT는 $76,948.10 및 bearish OB 하단 $76,983.60, Wyckoff는 UT $76,948.10 및 BC/ST $76,992.60-$77,000.00을 제시한다.",
      "Fibonacci, Candlestick, Derivatives가 $76,806-$76,867 구간을 즉각 저항으로 공유한다: Fib 0.5 $76,806.75, 0.618 $76,853.09, 클러스터 $76,865.53, EMA20 $76,814.59, EMA120 $76,867.13.",
      "Harmonic과 ICT가 $76,980-$77,291 구간을 강한 공급/반응 구간으로 중첩한다: harmonic bearish Crab PRZ $76,980.26-$77,198.72, bearish Bat PRZ $76,787.92-$77,187.10, ICT bearish OB $76,983.60-$77,291.30.",
      "Wyckoff의 prior UTAD $77,291.30과 ICT bearish OB 상단 $77,291.30이 동일 가격으로 겹치며, 이 레벨은 구조적 공급대의 핵심 상단으로 작동한다.",
      "Wyckoff SOW $76,610.40, Fibonacci swing low/ext $76,610.40, Harmonic 하단 반응권, ICT 하방 구조 지지들이 $76,610-$76,627 구간에 집중되어 단기 구조 하단으로 식별된다.",
      "이전 저점 $76,014.20은 ICT, Candlestick, Derivatives, Harmonic 모두가 주요 하단 기준으로 제시해 중기 구조 지지 기준으로 중요하다."
    ],
    "conflicts": [
      "ICT와 Wyckoff는 구조 자체를 bearish로 판정하지만, Candlestick/Fibonacci/Derivatives/Harmonic은 구조는 neutral로 두고 실행 셋업만 bearish로 본다. 따라서 전체 구조 신호는 약세이나, 모든 엔진이 동일한 수준의 구조 확정을 제공하는 것은 아니다.",
      "Harmonic은 하단 bullish Gartley PRZ $76,250.54-$76,564.60에서 확인 반응이 발생했고 TP1 $76,780.80이 달성되었다고 보지만, 동시에 현재가 바로 위에 bearish PRZ $76,787.92-$77,243.99가 중첩되어 있어 방향성보다는 반응 구간 해석에 가깝다.",
      "ICT는 현재가가 단기 range EQ $76,574.70 위 premium이라고 판단하는 반면, Candlestick/Derivatives는 7일 EQ $77,289.25 아래 discount로 본다. 이는 기준 range가 다르기 때문에 발생한 충돌이며, 단기 실행 관점은 매도 우위지만 더 큰 박스 기준으로는 하단부 중립성이 남아 있다.",
      "Derivatives는 롱 혼잡과 CVD 약화를 약세 셋업으로 보지만, OI가 24시간 -0.5960% 감소해 신규 추세 확장보다는 포지션 언와인딩 성격도 포함되어 있다."
    ],
    "executive_summary": "현재 BTC 15m 구조는 prior distribution이 확인된 뒤, $76,610.40 SOW 이후 $76,948.10-$77,000.00 저항 아래에서 재분배 후보가 형성되는 약세 구조로 진단된다. Wyckoff의 UTAD $77,291.30과 ICT의 bearish OB $76,983.60-$77,291.30이 중첩되어 상단 공급대의 구조적 신뢰도가 높고, Fibonacci/EMA/Harmonic도 $76,806-$77,243 구간에 저항 클러스터를 형성한다. 현재 위치는 분배 구조의 하단 SOW 이후 반등이 저항권을 시험하는 구간이며, $76,610.40-$76,666.00은 구조 하단, $77,291.30-$77,384.60은 약세 구조 무효화 판단 구간이다. 주요 리스크는 하단 bullish harmonic 반응이 이미 일부 작동했다는 점과, 큰 박스 기준으로는 아직 $76,014.20 저점 이탈이 없다는 점이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.74,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.78,\n    \"active_setups\": [\n      \"ICT: 현재가 $76,783.50가 단기 range EQ $76,574.70 위 premium 구간에 있고, 미완화 bearish OB $76,983.60-$77,291.30 아래에서 반등 매도 조건 형성\",\n      \"Wyckoff: 활성 재분배 후보 구조에서 UT $76,948.10 및 BC/ST $76,992.60-$77,000.00 아래에 위치\",\n      \"Fibonacci: 하락 스윙 $77,003→$76,610의 0.5 되돌림 $76,806.75와 0.618 $76,853.09 아래에 있으며, $76,865.53 고품질 피보나치 클러스터가 즉각 저항\",\n      \"Candlestick: 현재가가 EMA20 $76,814.59, EMA120 $76,867.13, EMA240 $77,092.93 아래에 있고 bearish_engulfing, evening_star, 고거래량 three_black_crows가 동시 약세 압력\",\n      \"Derivatives: 롱 계정 비중 0.593 및 long crowding 0.737, CVD -2873.0040, 선물 베이시스 -0.0605%로 롱 혼잡 대비 실수요 약화\",\n      \"Harmonic: bullish Gartley TP1 $76,780.80 도달 후, 바로 위 bearish Bat PRZ $76,787.92-$77,187.10 및 Shark/Crab PRZ $76,847.28-$77,243.99가 중첩\"\n    ],\n    \"setup_vs_structure\": \"구조적 판정과 실행 셋업이 모두 약세 방향으로 정렬되어 있다. 다만 현재가는 $76,610.40-$76,666.00 지지권에서 반등한 뒤 저항 재시험 구간에 있어, 추격형보다는 $76,850-$77,200 공급대 반응 확인형 셋업이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 0,\n    \"bearish_count\": 5,\n    \"neutral_count\": 1\n  },\n  \"key_levels\": {\n    \"support\": [\n      76760.41,\n      76703.08,\n      76666.0,\n      76627.0,\n      76610.4,\n      76574.7,\n      76451.3,\n      76107.1,\n      76014.2\n    ],\n    \"resistance\": [\n      76806.75,\n      76814.59,\n      76853.09,\n      76865.53,\n      76867.13,\n      76948.1,\n      76983.6,\n      77000.0,\n      77187.1,\n      77291.3,\n      77384.6,\n      77542.9,\n      77757.5\n    ]\n  },\n  \"confluences\": [\n    \"ICT와 Wyckoff가 모두 $76,948.10-$77,000.00 부근을 단기 구조 저항으로 제시한다: ICT는 $76,948.10 및 bearish OB 하단 $76,983.60, Wyckoff는 UT $76,948.10 및 BC/ST $76,992.60-$77,000.00을 제시한다.\",\n    \"Fibonacci, Candlestick, Derivatives가 $76,806-$76,867 구간을 즉각 저항으로 공유한다: Fib 0.5 $76,806.75, 0.618 $76,853.09, 클러스터 $76,865.53, EMA20 $76,814.59, EMA120 $76,867.13.\",\n    \"Harmonic과 ICT가 $76,980-$77,291 구간을 강한 공급/반응 구간으로 중첩한다: harmonic bearish Crab PRZ $76,980.26-$77,198.72, bearish Bat PRZ $76,787.92-$77,187.10, ICT bearish OB $76,983.60-$77,291.30.\",\n    \"Wyckoff의 prior UTAD $77,291.30과 ICT bearish OB 상단 $77,291.30이 동일 가격으로 겹치며, 이 레벨은 구조적 공급대의 핵심 상단으로 작동한다.\",\n    \"Wyckoff SOW $76,610.40, Fibonacci swing low/ext $76,610.40, Harmonic 하단 반응권, ICT 하방 구조 지지들이 $76,610-$76,627 구간에 집중되어 단기 구조 하단으로 식별된다.\",\n    \"이전 저점 $76,014.20은 ICT, Candlestick, Derivatives, Harmonic 모두가 주요 하단 기준으로 제시해 중기 구조 지지 기준으로 중요하다.\"\n  ],\n  \"conflicts\": [\n    \"ICT와 Wyckoff는 구조 자체를 bearish로 판정하지만, Candlestick/Fibonacci/Derivatives/Harmonic은 구조는 neutral로 두고 실행 셋업만 bearish로 본다. 따라서 전체 구조 신호는 약세이나, 모든 엔진이 동일한 수준의 구조 확정을 제공하는 것은 아니다.\",\n    \"Harmonic은 하단 bullish Gartley PRZ $76,250.54-$76,564.60에서 확인 반응이 발생했고 TP1 $76,780.80이 달성되었다고 보지만, 동시에 현재가 바로 위에 bearish PRZ $76,787.92-$77,243.99가 중첩되어 있어 방향성보다는 반응 구간 해석에 가깝다.\",\n    \"ICT는 현재가가 단기 range EQ $76,574.70 위 premium이라고 판단하는 반면, Candlestick/Derivatives는 7일 EQ $77,289.25 아래 discount로 본다. 이는 기준 range가 다르기 때문에 발생한 충돌이며, 단기 실행 관점은 매도 우위지만 더 큰 박스 기준으로는 하단부 중립성이 남아 있다.\",\n    \"Derivatives는 롱 혼잡과 CVD 약화를 약세 셋업으로 보지만, OI가 24시간 -0.5960% 감소해 신규 추세 확장보다는 포지션 언와인딩 성격도 포함되어 있다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — BC $78,453.00 → AR $76,666.00 → UTAD $77,291.30 → LPSY $76,650.00 → SOW $76,610.40의 완성된 분배 시퀀스를 제시했고, 현재도 BC $76,992.60, ST $77,000.00, SOW $76,610.40, UT $76,948.10으로 구성된 재분배 후보를 식별한다. 구조 진단이 가격·단계·레짐 측면에서 가장 구체적이며 ICT의 bearish CHoCH/BOS와도 정렬된다.\",\n  \"invalidation_level\": \"구조적 약세 판정은 우선 $77,291.30 상방 회복 시 약화되며, $77,384.60 위에서 15m/1h 종가 수용이 확인되면 분배/재분배 구조 판정의 핵심 무효화로 본다. 보수적 최종 무효화는 $77,757.50 상방 회복이다.\",\n  \"executive_summary\": \"현재 BTC 15m 구조는 prior distribution이 확인된 뒤, $76,610.40 SOW 이후 $76,948.10-$77,000.00 저항 아래에서 재분배 후보가 형성되는 약세 구조로 진단된다. Wyckoff의 UTAD $77,291.30과 ICT의 bearish OB $76,983.60-$77,291.30이 중첩되어 상단 공급대의 구조적 신뢰도가 높고, Fibonacci/EMA/Harmonic도 $76,806-$77,243 구간에 저항 클러스터를 형성한다. 현재 위치는 분배 구조의 하단 SOW 이후 반등이 저항권을 시험하는 구간이며, $76,610.40-$76,666.00은 구조 하단, $77,291.30-$77,384.60은 약세 구조 무효화 판단 구간이다. 주요 리스크는 하단 bullish harmonic 반응이 이미 일부 작동했다는 점과, 큰 박스 기준으로는 아직 $76,014.20 저점 이탈이 없다는 점이다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.74,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.7,
    "waypoints": [
      {
        "seq": 1,
        "price": 76865.53,
        "type": "resistance_test",
        "source": "fibonacci (strict 1.0 confluence), candlestick (EMA120 $76,867.13), ict (premium 진입)",
        "description": "현재가 $76,783.50에서 즉각 상단 저항인 Fib 0.5 $76,806.75와 0.618 $76,853.09, EMA20 $76,814.59, EMA120 $76,867.13가 중첩된 strict 컨플루언스 클러스터 $76,865.53를 1차 테스트. 추격형이 아닌 반응 확인형 셋업이므로 공급대 진입이 우선",
        "est_hours": 2.0,
        "turning_zone": [
          76853.09,
          76919.06
        ],
        "likely_wick": 76867.13,
        "rejection_confirm": 76814.59,
        "invalid_overshoot": 76948.1,
        "calibration_reasoning": "Fib 0.618 $76,853.09를 하단, Fib 저항 $76,919.06을 상단으로 strict 컨플루언스 ($76,865.53)와 EMA120 ($76,867.13)을 포함하는 약 0.52 × ATR 폭 zone 설정. likely_wick은 EMA120/컨플루언스 중첩지점으로 anchoring."
      },
      {
        "seq": 2,
        "price": 76948.1,
        "type": "resistance_test",
        "source": "wyckoff (UT $76,948.10), ict (bearish OB 하단 $76,983.60 근접), harmonic (bearish Bat/Shark PRZ 진입)",
        "description": "Fib 클러스터 돌파 시 Wyckoff 활성 cycle_2의 UT $76,948.10 및 BC/ST $76,992.60-$77,000.00 구조 저항과 미완화 ICT bearish OB 하단 $76,983.60 시험. $76,850-$77,200 supply reaction zone의 상단부에서 거절 반응 확인이 핵심",
        "est_hours": 5.0,
        "turning_zone": [
          76948.1,
          77000.0
        ],
        "likely_wick": 76983.6,
        "rejection_confirm": 76865.53,
        "invalid_overshoot": 77033.9,
        "calibration_reasoning": "Wyckoff UT $76,948.10에서 BC/ST $77,000 라운드넘버 magnet까지 supply reaction zone 상단 0.41 × ATR 폭. likely_wick은 미완화 ICT bearish OB 하단 $76,983.60에 정렬, invalid_overshoot은 활성 Gartley D/PRZ $77,033.90."
      },
      {
        "seq": 3,
        "price": 76610.4,
        "type": "support_test",
        "source": "wyckoff (SOW $76,610.40), fibonacci (swing low), harmonic (하단 반응 영역), ict (하방 구조 지지)",
        "description": "공급대 거절 후 Wyckoff SOW $76,610.40 및 AR $76,666.00 구조 하단 재시험. 이 구간은 다중 엔진이 단기 구조 하단으로 공유하는 핵심 레벨로, 종가 이탈 시 추가 하방 트리거",
        "est_hours": 12.0,
        "turning_zone": [
          76560.0,
          76610.4
        ],
        "likely_wick": 76574.7,
        "rejection_confirm": 76666.0,
        "invalid_overshoot": 76541.44,
        "calibration_reasoning": "Wyckoff SOW $76,610.40에서 차상위 지지 $76,574.70까지 0.4 × ATR 폭 zone. rejection_confirm은 AR $76,666 재탈환, invalid_overshoot은 strict Fib confluence $76,541.44 종가 이탈로 w4 extension 트리거."
      },
      {
        "seq": 4,
        "price": 76451.3,
        "type": "extension",
        "source": "ict (BOS_bearish $76,451.30), fibonacci (확장 지지 $76,541.44 하회)",
        "description": "SOW 이탈 확정 시 ICT BOS_bearish $76,451.30까지 분배 구조 Phase E 확장. Fib confluence strict $76,541.44를 통과한 후 다음 구조적 지지 레벨로 약세 시나리오의 1차 목표",
        "est_hours": 20.0,
        "turning_zone": [
          76350.0,
          76451.3
        ],
        "likely_wick": 76400.0,
        "rejection_confirm": 76541.44,
        "invalid_overshoot": 76300.0,
        "calibration_reasoning": "터미널 waypoint로 0.8 × ATR 폭 적용. validated Gartley TP3 (A/liquidity) $76,451.30이 ICT BOS_bearish와 정확히 정렬, likely_wick은 그 약간 아래 $76,400 라운드넘버 부근으로 bias. rejection_confirm은 Fib strict confluence $76,541.44 재탈환."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 76948.1,
        "expected_low": 76666.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 76983.6,
        "expected_low": 76610.4,
        "high_first": true
      },
      "24h": {
        "expected_high": 76983.6,
        "expected_low": 76451.3,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 77000.0,
        "description": "Wyckoff BC/ST $76,992.60-$77,000.00 종가 돌파 시 재분배 구조 약화 및 ICT bearish OB 본격 시험 → 약세 셋업 일시 무효화"
      },
      "bearish": {
        "price": 76610.4,
        "description": "Wyckoff SOW $76,610.40 종가 이탈 시 활성 cycle_2 Phase D 확정 및 $76,451.30/$76,107.10 하방 청산 클러스터 가속화"
      }
    },
    "scenario_invalidation": 77291.3,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.7,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 76865.53,\n      \"type\": \"resistance_test\",\n      \"source\": \"fibonacci (strict 1.0 confluence), candlestick (EMA120 $76,867.13), ict (premium 진입)\",\n      \"description\": \"현재가 $76,783.50에서 즉각 상단 저항인 Fib 0.5 $76,806.75와 0.618 $76,853.09, EMA20 $76,814.59, EMA120 $76,867.13가 중첩된 strict 컨플루언스 클러스터 $76,865.53를 1차 테스트. 추격형이 아닌 반응 확인형 셋업이므로 공급대 진입이 우선\",\n      \"est_hours\": 2.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 76948.1,\n      \"type\": \"resistance_test\",\n      \"source\": \"wyckoff (UT $76,948.10), ict (bearish OB 하단 $76,983.60 근접), harmonic (bearish Bat/Shark PRZ 진입)\",\n      \"description\": \"Fib 클러스터 돌파 시 Wyckoff 활성 cycle_2의 UT $76,948.10 및 BC/ST $76,992.60-$77,000.00 구조 저항과 미완화 ICT bearish OB 하단 $76,983.60 시험. $76,850-$77,200 supply reaction zone의 상단부에서 거절 반응 확인이 핵심\",\n      \"est_hours\": 5.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 76610.4,\n      \"type\": \"support_test\",\n      \"source\": \"wyckoff (SOW $76,610.40), fibonacci (swing low), harmonic (하단 반응 영역), ict (하방 구조 지지)\",\n      \"description\": \"공급대 거절 후 Wyckoff SOW $76,610.40 및 AR $76,666.00 구조 하단 재시험. 이 구간은 다중 엔진이 단기 구조 하단으로 공유하는 핵심 레벨로, 종가 이탈 시 추가 하방 트리거\",\n      \"est_hours\": 12.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 76451.3,\n      \"type\": \"extension\",\n      \"source\": \"ict (BOS_bearish $76,451.30), fibonacci (확장 지지 $76,541.44 하회)\",\n      \"description\": \"SOW 이탈 확정 시 ICT BOS_bearish $76,451.30까지 분배 구조 Phase E 확장. Fib confluence strict $76,541.44를 통과한 후 다음 구조적 지지 레벨로 약세 시나리오의 1차 목표\",\n      \"est_hours\": 20.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 76948.1, \"expected_low\": 76666.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 76983.6, \"expected_low\": 76610.4, \"high_first\": true},\n    \"24h\": {\"expected_high\": 76983.6, \"expected_low\": 76451.3, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 77000.0, \"description\": \"Wyckoff BC/ST $76,992.60-$77,000.00 종가 돌파 시 재분배 구조 약화 및 ICT bearish OB 본격 시험 → 약세 셋업 일시 무효화\"},\n    \"bearish\": {\"price\": 76610.4, \"description\": \"Wyckoff SOW $76,610.40 종가 이탈 시 활성 cycle_2 Phase D 확정 및 $76,451.30/$76,107.10 하방 청산 클러스터 가속화\"}\n  },\n  \"scenario_invalidation\": 77291.3\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 76865.53,
        "turning_zone": [
          76853.09,
          76919.06
        ],
        "likely_wick": 76867.13,
        "rejection_confirm": 76814.59,
        "invalid_overshoot": 76948.1,
        "calibration_reasoning": "Fib 0.618 $76,853.09를 하단, Fib 저항 $76,919.06을 상단으로 strict 컨플루언스 ($76,865.53)와 EMA120 ($76,867.13)을 포함하는 약 0.52 × ATR 폭 zone 설정. likely_wick은 EMA120/컨플루언스 중첩지점으로 anchoring."
      },
      {
        "seq": 2,
        "base_target": 76948.1,
        "turning_zone": [
          76948.1,
          77000.0
        ],
        "likely_wick": 76983.6,
        "rejection_confirm": 76865.53,
        "invalid_overshoot": 77033.9,
        "calibration_reasoning": "Wyckoff UT $76,948.10에서 BC/ST $77,000 라운드넘버 magnet까지 supply reaction zone 상단 0.41 × ATR 폭. likely_wick은 미완화 ICT bearish OB 하단 $76,983.60에 정렬, invalid_overshoot은 활성 Gartley D/PRZ $77,033.90."
      },
      {
        "seq": 3,
        "base_target": 76610.4,
        "turning_zone": [
          76560.0,
          76610.4
        ],
        "likely_wick": 76574.7,
        "rejection_confirm": 76666.0,
        "invalid_overshoot": 76541.44,
        "calibration_reasoning": "Wyckoff SOW $76,610.40에서 차상위 지지 $76,574.70까지 0.4 × ATR 폭 zone. rejection_confirm은 AR $76,666 재탈환, invalid_overshoot은 strict Fib confluence $76,541.44 종가 이탈로 w4 extension 트리거."
      },
      {
        "seq": 4,
        "base_target": 76451.3,
        "turning_zone": [
          76350.0,
          76451.3
        ],
        "likely_wick": 76400.0,
        "rejection_confirm": 76541.44,
        "invalid_overshoot": 76300.0,
        "calibration_reasoning": "터미널 waypoint로 0.8 × ATR 폭 적용. validated Gartley TP3 (A/liquidity) $76,451.30이 ICT BOS_bearish와 정확히 정렬, likely_wick은 그 약간 아래 $76,400 라운드넘버 부근으로 bias. rejection_confirm은 Fib strict confluence $76,541.44 재탈환."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 76865.53,\n      \"turning_zone\": [76853.09, 76919.06],\n      \"likely_wick\": 76867.13,\n      \"rejection_confirm\": 76814.59,\n      \"invalid_overshoot\": 76948.10,\n      \"calibration_reasoning\": \"Fib 0.618 $76,853.09를 하단, Fib 저항 $76,919.06을 상단으로 strict 컨플루언스 ($76,865.53)와 EMA120 ($76,867.13)을 포함하는 약 0.52 × ATR 폭 zone 설정. likely_wick은 EMA120/컨플루언스 중첩지점으로 anchoring.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 76948.10,\n      \"turning_zone\": [76948.10, 77000.00],\n      \"likely_wick\": 76983.60,\n      \"rejection_confirm\": 76865.53,\n      \"invalid_overshoot\": 77033.90,\n      \"calibration_reasoning\": \"Wyckoff UT $76,948.10에서 BC/ST $77,000 라운드넘버 magnet까지 supply reaction zone 상단 0.41 × ATR 폭. likely_wick은 미완화 ICT bearish OB 하단 $76,983.60에 정렬, invalid_overshoot은 활성 Gartley D/PRZ $77,033.90.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 76610.40,\n      \"turning_zone\": [76560.00, 76610.40],\n      \"likely_wick\": 76574.70,\n      \"rejection_confirm\": 76666.00,\n      \"invalid_overshoot\": 76541.44,\n      \"calibration_reasoning\": \"Wyckoff SOW $76,610.40에서 차상위 지지 $76,574.70까지 0.4 × ATR 폭 zone. rejection_confirm은 AR $76,666 재탈환, invalid_overshoot은 strict Fib confluence $76,541.44 종가 이탈로 w4 extension 트리거.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 76451.30,\n      \"turning_zone\": [76350.00, 76451.30],\n      \"likely_wick\": 76400.00,\n      \"rejection_confirm\": 76541.44,\n      \"invalid_overshoot\": 76300.00,\n      \"calibration_reasoning\": \"터미널 waypoint로 0.8 × ATR 폭 적용. validated Gartley TP3 (A/liquidity) $76,451.30이 ICT BOS_bearish와 정확히 정렬, likely_wick은 그 약간 아래 $76,400 라운드넘버 부근으로 bias. rejection_confirm은 Fib strict confluence $76,541.44 재탈환.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 28.5,
      "chairman": 46.3,
      "operating_path": 66.6,
      "tp_calibrator": 54.9
    },
    "agents": {},
    "total_s": 196.3
  }
}