{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-07-02 17:00 KST",
  "last_price": 60122.8,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $60,122.80은 7일 레인지 EQ $59,540.30 위에 있어 프리미엄 구간에 위치",
        "현재가가 EMA20 $60,375.87 아래에 머물며 단기 저항을 회복하지 못함",
        "bearish_engulfing@295 후보 발생: bearish 신호, 품질 0.432로 강한 확정은 아니지만 단기 매도 압력 시사",
        "doji@299 후보 발생: 품질 0.355, EMA20 아래에서 방향성 부재와 매수 추격 약화 시사",
        "최근 5개 캔들이 -0.4%, -0.1%, -0.1%, -0.0%, +0.0%로 상승 탄력이 둔화됨",
        "고거래량 패턴이 없어 bullish piercing_pattern@293의 신뢰도가 제한적"
      ],
      "reasoning": "현재 BTC는 $60,122.80으로 EMA120 $59,876.09와 EMA240 $59,643.61 위에 있어 중기 구조가 완전히 붕괴됐다고 보기는 어렵지만, EMA20 $60,375.87 아래에 있어 단기 모멘텀은 약화되어 있습니다. 최근 패턴은 piercing_pattern@293의 bullish 후보 품질 0.574가 가장 높지만, 이후 bearish_engulfing@295와 doji@299가 이어졌고 고거래량 확인이 없어 상승 반전 신뢰도는 제한적입니다. 7일 고점 $61,322.00과 저점 $57,758.60의 EQ는 $59,540.30이며, 현재가는 그 위 프리미엄 구간에 있어 구조 확정 전 단기 매도 셋업이 우세합니다. bear_score 0.750이 bull_score 0.700보다 소폭 높아, 확정적 하락 추세보다는 EMA20 회복 실패를 전제로 한 단기 bearish 시나리오가 더 합리적입니다.",
      "key_levels": {
        "support": [
          59876.09,
          59643.61,
          59540.3,
          57758.6
        ],
        "resistance": [
          60375.87,
          61322
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,375.87",
      "risk_scenario": "반대로 15분 종가가 EMA20 $60,375.87 위에서 안착하면 bearish setup은 무효화되며, 단기 숏 커버링으로 7일 고점 $61,322.00 재시험 가능성이 커집니다. 특히 $60,375.87 위에서 거래량이 동반되면 doji 이후의 방향성 부재가 상방 돌파로 해석될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 138,
        "recent_patterns": 3,
        "pattern_list": [
          "bearish_engulfing@295",
          "doji@299",
          "piercing_pattern@293"
        ],
        "atr_value": 186.96,
        "vol_avg_20": 2331.13,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "piercing_pattern",
            "signal": "bullish",
            "pattern_quality": 0.574,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.432,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.574,
        "bull_score": 0.7,
        "bear_score": 0.75
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $60,122.80은 7일 레인지 EQ $59,540.30 위에 있어 프리미엄 구간에 위치\",\n    \"현재가가 EMA20 $60,375.87 아래에 머물며 단기 저항을 회복하지 못함\",\n    \"bearish_engulfing@295 후보 발생: bearish 신호, 품질 0.432로 강한 확정은 아니지만 단기 매도 압력 시사\",\n    \"doji@299 후보 발생: 품질 0.355, EMA20 아래에서 방향성 부재와 매수 추격 약화 시사\",\n    \"최근 5개 캔들이 -0.4%, -0.1%, -0.1%, -0.0%, +0.0%로 상승 탄력이 둔화됨\",\n    \"고거래량 패턴이 없어 bullish piercing_pattern@293의 신뢰도가 제한적\"\n  ],\n  \"reasoning\": \"현재 BTC는 $60,122.80으로 EMA120 $59,876.09와 EMA240 $59,643.61 위에 있어 중기 구조가 완전히 붕괴됐다고 보기는 어렵지만, EMA20 $60,375.87 아래에 있어 단기 모멘텀은 약화되어 있습니다. 최근 패턴은 piercing_pattern@293의 bullish 후보 품질 0.574가 가장 높지만, 이후 bearish_engulfing@295와 doji@299가 이어졌고 고거래량 확인이 없어 상승 반전 신뢰도는 제한적입니다. 7일 고점 $61,322.00과 저점 $57,758.60의 EQ는 $59,540.30이며, 현재가는 그 위 프리미엄 구간에 있어 구조 확정 전 단기 매도 셋업이 우세합니다. bear_score 0.750이 bull_score 0.700보다 소폭 높아, 확정적 하락 추세보다는 EMA20 회복 실패를 전제로 한 단기 bearish 시나리오가 더 합리적입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59876.09,\n      59643.61,\n      59540.3,\n      57758.6\n    ],\n    \"resistance\": [\n      60375.87,\n      61322\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,375.87\",\n  \"risk_scenario\": \"반대로 15분 종가가 EMA20 $60,375.87 위에서 안착하면 bearish setup은 무효화되며, 단기 숏 커버링으로 7일 고점 $61,322.00 재시험 가능성이 커집니다. 특히 $60,375.87 위에서 거래량이 동반되면 doji 이후의 방향성 부재가 상방 돌파로 해석될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bullish",
      "confidence": 0.61,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.76,
      "setup_signals": [
        "현재가 $60,122.80은 EQ $60,438.50 아래의 discount 영역에 위치",
        "상승 방향 retracement가 65.4%까지 깊게 진행되어 할인 매수 구간 형성",
        "이전일 고가 $60,067.90을 상향 돌파한 뒤 현재가 $60,122.80으로 그 위에서 유지 중",
        "최근 bullish CHoCH 확인 레벨 $58,850.00 및 $59,069.70 위에서 거래 중",
        "최근 bullish BOS 레벨 $60,520.00 재탈환 시 상단 bearish OB $60,512.20~$61,322.00 재공략 가능"
      ],
      "reasoning": "확정 구조 관점에서는 최근 bullish BOS가 $60,520.00에서 발생했지만 이후 $59,844.50에서 bearish CHoCH가 출현했기 때문에 현재 structure_bias는 명확한 추세 지속보다는 중립에 가깝다. 다만 setup 관점에서는 현재가 $60,122.80이 EQ $60,438.50 아래 discount에 있고, 65.4% 깊은 되돌림이 진행된 상태라 단기 bullish continuation 셋업이 우세하다. 이전일 고가 $60,067.90을 이미 돌파했고 현재 그 위에서 버티는 점은 매수 측에게 긍정적이다. 반대로 $60,512.20~$61,322.00의 candidate bearish OB가 바로 위에 있어 $60,520.00 재돌파 후 수용이 나오지 않으면 다시 매도 반응이 나올 수 있다.",
      "key_levels": {
        "support": [
          60080.9,
          59844.5,
          59555.0,
          58557.1,
          57758.6
        ],
        "resistance": [
          60438.5,
          60512.2,
          60520.0,
          60917.1,
          61322.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,844.50",
      "risk_scenario": "$59,844.50 bearish CHoCH 레벨을 하향 이탈하면 현재의 discount bullish setup은 실패로 보고, 가격은 $59,555.00 range low 또는 하단 candidate bullish OB $58,557.10~$57,758.60 유동성까지 재탐색할 가능성이 커진다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 2,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 1,
        "candidate_bearish_ob": 1,
        "active_bullish_ob": 0,
        "active_bearish_ob": 1,
        "nearest_bull_ob_range": {
          "bottom": 57758.6,
          "top": 58557.1,
          "quality": "candidate",
          "score": 0.698
        },
        "nearest_bear_ob_range": {
          "bottom": 60512.2,
          "top": 61322.0,
          "quality": "candidate",
          "score": 0.579
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [
          {
            "type": "bearish_ob",
            "idx": 261,
            "top": 61322.0,
            "bottom": 60512.2,
            "mid": 60917.1,
            "quality": "candidate",
            "score": 0.579,
            "displacement_score": 0.368,
            "has_fvg": true,
            "has_sweep_context": false,
            "fvg_range": {
              "bottom": 60655.9,
              "top": 60766.6
            },
            "swept_level": null,
            "source_move_idx": 261,
            "proximity": "nearby"
          }
        ],
        "ob_mitigated_count": 2,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 73,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bullish",
          "CHoCH_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bearish",
            "level": 58160.0
          },
          {
            "type": "CHoCH_bullish",
            "level": 58850.0
          },
          {
            "type": "BOS_bearish",
            "level": 58450.7
          },
          {
            "type": "CHoCH_bullish",
            "level": 59069.7
          },
          {
            "type": "BOS_bullish",
            "level": 60520.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 59844.5
          }
        ],
        "bos_sequence": [
          "BOS_bearish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bullish",
          "CHoCH_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "discount",
        "eq_level": 60438.5,
        "range_high": 61322.0,
        "range_low": 59555.0,
        "bull_score": 9.2,
        "bear_score": 8.347,
        "setup_bias": "bullish",
        "setup_score": 0.76,
        "setup_signals": [
          "bullish CHoCH above $58,850.00",
          "bullish CHoCH above $59,069.70",
          "bullish BOS above $60,520.00",
          "deep retracement 65.4% in discount zone",
          "broken previous day high $60,067.90"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 65.4,
        "deepest_retracement_pct": 65.4,
        "previous_day_high": 60067.9,
        "previous_day_low": 57758.6,
        "broken_prev_high": true,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": false,
            "high": null,
            "low": null
          },
          "New York": {
            "active": true,
            "high": 61033.0,
            "low": 60080.9
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.61,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.76,\n  \"setup_signals\": [\n    \"현재가 $60,122.80은 EQ $60,438.50 아래의 discount 영역에 위치\",\n    \"상승 방향 retracement가 65.4%까지 깊게 진행되어 할인 매수 구간 형성\",\n    \"이전일 고가 $60,067.90을 상향 돌파한 뒤 현재가 $60,122.80으로 그 위에서 유지 중\",\n    \"최근 bullish CHoCH 확인 레벨 $58,850.00 및 $59,069.70 위에서 거래 중\",\n    \"최근 bullish BOS 레벨 $60,520.00 재탈환 시 상단 bearish OB $60,512.20~$61,322.00 재공략 가능\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 최근 bullish BOS가 $60,520.00에서 발생했지만 이후 $59,844.50에서 bearish CHoCH가 출현했기 때문에 현재 structure_bias는 명확한 추세 지속보다는 중립에 가깝다. 다만 setup 관점에서는 현재가 $60,122.80이 EQ $60,438.50 아래 discount에 있고, 65.4% 깊은 되돌림이 진행된 상태라 단기 bullish continuation 셋업이 우세하다. 이전일 고가 $60,067.90을 이미 돌파했고 현재 그 위에서 버티는 점은 매수 측에게 긍정적이다. 반대로 $60,512.20~$61,322.00의 candidate bearish OB가 바로 위에 있어 $60,520.00 재돌파 후 수용이 나오지 않으면 다시 매도 반응이 나올 수 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      60080.9,\n      59844.5,\n      59555.0,\n      58557.1,\n      57758.6\n    ],\n    \"resistance\": [\n      60438.5,\n      60512.2,\n      60520.0,\n      60917.1,\n      61322.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,844.50\",\n  \"risk_scenario\": \"$59,844.50 bearish CHoCH 레벨을 하향 이탈하면 현재의 discount bullish setup은 실패로 보고, 가격은 $59,555.00 range low 또는 하단 candidate bullish OB $58,557.10~$57,758.60 유동성까지 재탐색할 가능성이 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bullish",
      "confidence": 0.6,
      "structure_bias": "bullish",
      "setup_bias": "bullish",
      "setup_score": 0.68,
      "setup_signals": [
        "가격 $60,122.80이 EQ/0.5 되돌림 $60,328.75 아래의 할인 구간에 위치",
        "핵심 0.618 골든비율 $60,146.14를 0.04% 거리에서 테스트 중",
        "하단 Fibonacci confluence zone $59,997.70에 3개 레벨이 중첩되어 있으며 cluster_score 0.85",
        "0.786 되돌림 지지 $59,886.17이 바로 아래에 위치해 딥 리트레이스먼트 방어 구간 형성",
        "상방 회복 시 $60,328.75, $60,511.36, $60,737.29 순으로 되돌림 저항 재테스트 가능"
      ],
      "reasoning": "현재 BTC는 상승 스윙 $59,555 → $61,102 기준으로 0.618 골든비율 $60,146.14를 거의 정확히 테스트하고 있으며, 현재가 $60,122.80은 해당 레벨과 불과 0.04% 차이입니다. 구조적으로는 최근 기준 스윙 방향이 상승이고, 가격이 아직 0.786 되돌림 지지 $59,886.17 및 스윙 저점 $59,555 위에 있어 structure_bias는 bullish로 유지됩니다. 다만 현재가가 $60,146.14를 소폭 하회하고 EMA20 $60,375.87 아래에 있기 때문에 즉시 강한 추세 재개라기보다는 골든비율 회복 여부를 확인해야 하는 사전 셋업 단계입니다. $60,146.14를 회복하면 $60,328.75와 $60,511.36이 1차 저항이며, 이후 $61,102.50 및 확장 목표 $61,523.42, $61,743.17까지 열릴 수 있습니다.",
      "key_levels": {
        "support": [
          59886.17,
          59997.7,
          59555
        ],
        "resistance": [
          60146.14,
          60328.75,
          60511.36,
          60737.29,
          61102.5,
          61523.42,
          61743.17,
          62058.86
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,886.17",
      "risk_scenario": "$59,886.17의 0.786 되돌림 지지가 이탈되면 골든비율 반등 셋업은 실패로 해석되며, $59,555 스윙 저점 재시험 가능성이 커집니다. 특히 $59,555까지 하향 이탈하면 현재 상승 스윙 구조 자체가 훼손되어 bearish 구조 전환 가능성을 고려해야 합니다.",
      "data_quality": "high",
      "metrics": {
        "swing_pair": "Low→High: $59,555 → $61,102",
        "direction": "up",
        "nearest_fib": "ret_0.618",
        "nearest_fib_price": 60146.14,
        "nearest_fib_distance": 0.04,
        "golden_ratio_level": 60146.14,
        "fib_ret_382": 60511.36,
        "fib_ret_618": 60146.14,
        "confluence_zones": [
          {
            "price": 59997.7,
            "count": 3,
            "levels": [
              "ret_0.786",
              "ret_0.382",
              "ret_0.618"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 60440.38,
            "count": 3,
            "levels": [
              "ret_0.5",
              "ret_0.236",
              "ret_0.382"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 61212.25,
            "count": 2,
            "levels": [
              "ext_1.0",
              "ext_1.0"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 61633.29,
            "count": 2,
            "levels": [
              "ext_1.272",
              "ext_1.414"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 62175.05,
            "count": 2,
            "levels": [
              "ext_1.618",
              "ext_1.272"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          59886.165
        ],
        "resistance_levels": [
          60146.145,
          60328.75,
          60511.355
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 60737.29,
            "distance_pct": 1.02,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.382",
            "price": 60511.36,
            "distance_pct": 0.65,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.5",
            "price": 60328.75,
            "distance_pct": 0.34,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.618",
            "price": 60146.14,
            "distance_pct": 0.04,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.786",
            "price": 59886.17,
            "distance_pct": 0.39,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.0",
            "price": 61102.5,
            "distance_pct": 1.63,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.272",
            "price": 61523.42,
            "distance_pct": 2.33,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 61743.17,
            "distance_pct": 2.7,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 62058.86,
            "distance_pct": 3.22,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_2.0",
            "price": 62650.0,
            "distance_pct": 4.2,
            "is_support": false,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.85,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.6,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"가격 $60,122.80이 EQ/0.5 되돌림 $60,328.75 아래의 할인 구간에 위치\",\n    \"핵심 0.618 골든비율 $60,146.14를 0.04% 거리에서 테스트 중\",\n    \"하단 Fibonacci confluence zone $59,997.70에 3개 레벨이 중첩되어 있으며 cluster_score 0.85\",\n    \"0.786 되돌림 지지 $59,886.17이 바로 아래에 위치해 딥 리트레이스먼트 방어 구간 형성\",\n    \"상방 회복 시 $60,328.75, $60,511.36, $60,737.29 순으로 되돌림 저항 재테스트 가능\"\n  ],\n  \"reasoning\": \"현재 BTC는 상승 스윙 $59,555 → $61,102 기준으로 0.618 골든비율 $60,146.14를 거의 정확히 테스트하고 있으며, 현재가 $60,122.80은 해당 레벨과 불과 0.04% 차이입니다. 구조적으로는 최근 기준 스윙 방향이 상승이고, 가격이 아직 0.786 되돌림 지지 $59,886.17 및 스윙 저점 $59,555 위에 있어 structure_bias는 bullish로 유지됩니다. 다만 현재가가 $60,146.14를 소폭 하회하고 EMA20 $60,375.87 아래에 있기 때문에 즉시 강한 추세 재개라기보다는 골든비율 회복 여부를 확인해야 하는 사전 셋업 단계입니다. $60,146.14를 회복하면 $60,328.75와 $60,511.36이 1차 저항이며, 이후 $61,102.50 및 확장 목표 $61,523.42, $61,743.17까지 열릴 수 있습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59886.17,\n      59997.7,\n      59555\n    ],\n    \"resistance\": [\n      60146.14,\n      60328.75,\n      60511.36,\n      60737.29,\n      61102.5,\n      61523.42,\n      61743.17,\n      62058.86\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,886.17\",\n  \"risk_scenario\": \"$59,886.17의 0.786 되돌림 지지가 이탈되면 골든비율 반등 셋업은 실패로 해석되며, $59,555 스윙 저점 재시험 가능성이 커집니다. 특히 $59,555까지 하향 이탈하면 현재 상승 스윙 구조 자체가 훼손되어 bearish 구조 전환 가능성을 고려해야 합니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.64,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.74,
      "setup_signals": [
        "현재가 $60,122.80은 7일 범위 EQ 약 $59,540.30 위의 프리미엄 구간에 위치",
        "EMA20 $60,375.87 아래에서 거래되며 단기 상승 모멘텀 둔화",
        "CVD divergence 0.850으로 가격 상승 대비 매수 체결 강도의 질이 약한 분배성 신호",
        "24시간 OI -0.8360% 감소로 신규 롱 추격보다 포지션 언와인딩 성격이 강함",
        "롱 계정 비율 0.650, account_long_crowding 1.000으로 롱 포지셔닝이 혼잡한 contrarian 조건",
        "롱 계정은 24시간 -0.0571 감소, 숏 계정은 +0.057 증가하여 단기 계정 플로우가 방어적으로 전환",
        "상단 $61,100 / $61,400 / $61,700 청산 유동성이 열려 있으나, 돌파 수용 전에는 업스러스트 후보 구간"
      ],
      "reasoning": "확정 구조 관점에서는 현재가 $60,122.80이 EMA120 $59,876.09와 EMA240 $59,643.61 위에 있지만, EMA20 $60,375.87 아래로 밀려 있어 명확한 BOS나 구조적 수용이 확인되지 않은 중립 레인지로 판단한다. 반면 셋업 관점에서는 7일 고점 $61,322와 저점 $57,758.60의 EQ 약 $59,540 위 프리미엄에서 CVD divergence 0.850, OI 24시간 -0.8360%, 롱 계정 비율 0.650이 겹쳐 단기 하방 압력이 우세하다. 상단 $61,100-$61,700 청산 클러스터는 흡인력으로 작동할 수 있지만, 그 구간을 수용하지 못하면 롱 혼잡 청산이 $59,300 및 $58,100 유동성으로 이어질 가능성이 높다. 파생 데이터의 4-8시간 선행성을 감안하면 현재 신호는 구조 전환 확정이 아니라 프리컨펌 bearish execution setup에 가깝다.",
      "key_levels": {
        "support": [
          59876.09,
          59643.61,
          59300,
          58100,
          57758.6
        ],
        "resistance": [
          60375.87,
          61100,
          61322,
          61400,
          61700
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "61700",
      "risk_scenario": "$61,100-$61,700 상단 청산 클러스터를 강하게 흡수하며 $61,700 위에서 수용되면 bearish 셋업은 무효화되고, 숏 커버링과 돌파 추격으로 $61,322 7일 고점 재돌파 이후 추가 상승이 나올 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.85,
        "cvd_change": 7528.322,
        "oi_trend": 0.416,
        "oi_change_pct_24h": -0.836,
        "oi_latest": 104909.139,
        "funding_pressure": 0.444,
        "funding_avg": 5.642e-05,
        "funding_change_24h": 6.148e-05,
        "long_account_ratio": 0.667,
        "short_account_ratio": 0.333,
        "long_account_latest": 0.65,
        "short_account_latest": 0.35,
        "long_account_change_24h": -0.0571,
        "short_account_change_24h": 0.0571,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.489,
        "spot_futures_basis_pct": -0.0452,
        "basis_change_lookback": 0.0018,
        "aggregate_score": 0.44,
        "bull_signals": 1,
        "bear_signals": 3,
        "liq_below": [
          [
            59300,
            2920.3126977
          ],
          [
            58100,
            3412.3802020000007
          ],
          [
            54700,
            2748.126615
          ]
        ],
        "liq_above": [
          [
            61100,
            2854.4905837499996
          ],
          [
            61400,
            2562.19727445
          ],
          [
            61700,
            3004.00768875
          ]
        ],
        "strongest_liq_level": 54500,
        "fragility_score": 0.849,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.64,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.74,\n  \"setup_signals\": [\n    \"현재가 $60,122.80은 7일 범위 EQ 약 $59,540.30 위의 프리미엄 구간에 위치\",\n    \"EMA20 $60,375.87 아래에서 거래되며 단기 상승 모멘텀 둔화\",\n    \"CVD divergence 0.850으로 가격 상승 대비 매수 체결 강도의 질이 약한 분배성 신호\",\n    \"24시간 OI -0.8360% 감소로 신규 롱 추격보다 포지션 언와인딩 성격이 강함\",\n    \"롱 계정 비율 0.650, account_long_crowding 1.000으로 롱 포지셔닝이 혼잡한 contrarian 조건\",\n    \"롱 계정은 24시간 -0.0571 감소, 숏 계정은 +0.057 증가하여 단기 계정 플로우가 방어적으로 전환\",\n    \"상단 $61,100 / $61,400 / $61,700 청산 유동성이 열려 있으나, 돌파 수용 전에는 업스러스트 후보 구간\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 현재가 $60,122.80이 EMA120 $59,876.09와 EMA240 $59,643.61 위에 있지만, EMA20 $60,375.87 아래로 밀려 있어 명확한 BOS나 구조적 수용이 확인되지 않은 중립 레인지로 판단한다. 반면 셋업 관점에서는 7일 고점 $61,322와 저점 $57,758.60의 EQ 약 $59,540 위 프리미엄에서 CVD divergence 0.850, OI 24시간 -0.8360%, 롱 계정 비율 0.650이 겹쳐 단기 하방 압력이 우세하다. 상단 $61,100-$61,700 청산 클러스터는 흡인력으로 작동할 수 있지만, 그 구간을 수용하지 못하면 롱 혼잡 청산이 $59,300 및 $58,100 유동성으로 이어질 가능성이 높다. 파생 데이터의 4-8시간 선행성을 감안하면 현재 신호는 구조 전환 확정이 아니라 프리컨펌 bearish execution setup에 가깝다.\",\n  \"key_levels\": {\n    \"support\": [\n      59876.09,\n      59643.61,\n      59300,\n      58100,\n      57758.6\n    ],\n    \"resistance\": [\n      60375.87,\n      61100,\n      61322,\n      61400,\n      61700\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"61700\",\n  \"risk_scenario\": \"$61,100-$61,700 상단 청산 클러스터를 강하게 흡수하며 $61,700 위에서 수용되면 bearish 셋업은 무효화되고, 숏 커버링과 돌파 추격으로 $61,322 7일 고점 재돌파 이후 추가 상승이 나올 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "neutral",
      "confidence": 0.58,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "가격이 BU $60,827.80 및 AR 상단 $60,666.60 위에서 수용되지 못하고 현재 $60,122.80까지 되밀림",
        "현재가 $60,122.80은 SOS $60,520.00 아래에 위치하여 상단 돌파 후 수요 지속성이 약함",
        "LPS $59,844.50 및 메인 range EQ 부근 $59,827.30 재테스트 위험",
        "상단 유동성 $61,322.00 터치 후 즉시 하락하여 단기 공급 반응이 우세",
        "EMA20 $60,375.87 아래에서 거래 중으로 단기 모멘텀은 구조적 강세와 달리 약화"
      ],
      "reasoning": "메인 Wyckoff 구조는 ACC로 분류되며, SC $58,988.00 → AR $60,666.60 → ST $59,667.50 → Spring $58,823.90 → Terminal Spring $58,294.10 → SOS $60,520.00 → LPS $59,844.50 → BU $60,827.80의 누적 시퀀스가 확인되어 구조적 편향은 bullish이다. 다만 현재 가격 $60,122.80은 BU $60,827.80, AR 상단 $60,666.60, SOS $60,520.00 아래로 되밀려 있어 Phase E라고 해도 즉시 상승 지속이 확정된 상태는 아니다. 단기적으로는 $59,844.50 LPS와 메인 range EQ 약 $59,827.30을 다시 테스트할 가능성이 더 높으며, 이 구간을 방어해야 ACC 구조의 질이 유지된다. 따라서 구조는 강세지만 실행 관점의 setup_bias는 상단 실패 이후 단기 bearish로 평가하며, 확실한 재강세는 $60,520.00 및 $60,666.60 회복 후 수용이 필요하다.",
      "key_levels": {
        "support": [
          59844.5,
          59827.3,
          59667.5,
          58988.0,
          58294.1
        ],
        "resistance": [
          60520.0,
          60666.6,
          60827.8,
          61322.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "58294.10",
      "risk_scenario": "$60,520.00 SOS와 $60,666.60 AR 상단을 빠르게 회복하고 그 위에서 15분봉 기준 수용되면 단기 bearish setup은 무효화되며, $60,827.80 BU와 $61,322.00 상단 재시험으로 경로가 바뀐다. 반대로 $59,844.50 LPS와 $59,827.30 EQ를 잃으면 $59,667.50 ST, 이후 $58,988.00 SC 방향으로 누적 구조의 재검증이 필요해진다.",
      "data_quality": "medium",
      "metrics": {
        "acc_score": 100.0,
        "dis_score": 96.2,
        "regime": "ACC",
        "regime_state": "acc_candidate",
        "structure_bias": "bullish",
        "phase_context": "acc_candidate / accumulation / Phase E",
        "phases_detected": [
          "SC",
          "AR",
          "ST",
          "Spring",
          "TERMINAL_SPRING",
          "SOS",
          "LPS",
          "BU"
        ],
        "last_phase": "BU",
        "phase_candidates": [
          {
            "label": "SC",
            "side": "low",
            "idx": 37,
            "price": 58988.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 50,
            "price": 60666.6,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 78,
            "price": 59667.5,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 186,
            "price": 58823.9,
            "color": "#f9844a"
          },
          {
            "label": "TERMINAL_SPRING",
            "side": "low",
            "idx": 223,
            "price": 58294.1,
            "color": "#f3722c"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 233,
            "price": 60520.0,
            "color": "#06d6a0"
          },
          {
            "label": "LPS",
            "side": "low",
            "idx": 253,
            "price": 59844.5,
            "color": "#8338ec"
          },
          {
            "label": "BU",
            "side": "high",
            "idx": 258,
            "price": 60827.8,
            "color": "#7209b7"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "accumulation",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 37,
            "end_idx": 258,
            "phase_count": 8,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 37,
                "price": 58988.0,
                "color": "#ffd166",
                "dt": "2026-06-29 23:15:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 50,
                "price": 60666.6,
                "color": "#06d6a0",
                "dt": "2026-06-30 02:30:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 78,
                "price": 59667.5,
                "color": "#118ab2",
                "dt": "2026-06-30 09:30:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 186,
                "price": 58823.9,
                "color": "#f9844a",
                "dt": "2026-07-01 12:30:00+09:00"
              },
              {
                "label": "TERMINAL_SPRING",
                "side": "low",
                "idx": 223,
                "price": 58294.1,
                "color": "#f3722c",
                "dt": "2026-07-01 21:45:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 233,
                "price": 60520.0,
                "color": "#06d6a0",
                "dt": "2026-07-02 00:15:00+09:00"
              },
              {
                "label": "LPS",
                "side": "low",
                "idx": 253,
                "price": 59844.5,
                "color": "#8338ec",
                "dt": "2026-07-02 05:15:00+09:00"
              },
              {
                "label": "BU",
                "side": "high",
                "idx": 258,
                "price": 60827.8,
                "color": "#7209b7",
                "dt": "2026-07-02 06:30: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": 261,
            "end_idx": 299,
            "phase_count": 6,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 261,
                "price": 61322.0,
                "color": "#ffd166",
                "dt": "2026-07-02 07:15:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 263,
                "price": 60319.3,
                "color": "#06d6a0",
                "dt": "2026-07-02 07:45:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 283,
                "price": 61102.5,
                "color": "#118ab2",
                "dt": "2026-07-02 12:45:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 294,
                "price": 60623.5,
                "color": "#f9844a",
                "dt": "2026-07-02 15:30:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 295,
                "price": 60232.6,
                "color": "#ef476f",
                "dt": "2026-07-02 15:45:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 299,
                "price": 60080.9,
                "color": "#7209b7",
                "dt": "2026-07-02 16:45:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_2",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 2,
        "regime_fitness": 1.0,
        "current_event": "BU",
        "major_phase": "E",
        "pos_in_range": 0.5,
        "main_range_low": 58988.0,
        "main_range_high": 60666.6
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"가격이 BU $60,827.80 및 AR 상단 $60,666.60 위에서 수용되지 못하고 현재 $60,122.80까지 되밀림\",\n    \"현재가 $60,122.80은 SOS $60,520.00 아래에 위치하여 상단 돌파 후 수요 지속성이 약함\",\n    \"LPS $59,844.50 및 메인 range EQ 부근 $59,827.30 재테스트 위험\",\n    \"상단 유동성 $61,322.00 터치 후 즉시 하락하여 단기 공급 반응이 우세\",\n    \"EMA20 $60,375.87 아래에서 거래 중으로 단기 모멘텀은 구조적 강세와 달리 약화\"\n  ],\n  \"reasoning\": \"메인 Wyckoff 구조는 ACC로 분류되며, SC $58,988.00 → AR $60,666.60 → ST $59,667.50 → Spring $58,823.90 → Terminal Spring $58,294.10 → SOS $60,520.00 → LPS $59,844.50 → BU $60,827.80의 누적 시퀀스가 확인되어 구조적 편향은 bullish이다. 다만 현재 가격 $60,122.80은 BU $60,827.80, AR 상단 $60,666.60, SOS $60,520.00 아래로 되밀려 있어 Phase E라고 해도 즉시 상승 지속이 확정된 상태는 아니다. 단기적으로는 $59,844.50 LPS와 메인 range EQ 약 $59,827.30을 다시 테스트할 가능성이 더 높으며, 이 구간을 방어해야 ACC 구조의 질이 유지된다. 따라서 구조는 강세지만 실행 관점의 setup_bias는 상단 실패 이후 단기 bearish로 평가하며, 확실한 재강세는 $60,520.00 및 $60,666.60 회복 후 수용이 필요하다.\",\n  \"key_levels\": {\n    \"support\": [\n      59844.5,\n      59827.3,\n      59667.5,\n      58988.0,\n      58294.1\n    ],\n    \"resistance\": [\n      60520.0,\n      60666.6,\n      60827.8,\n      61322.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"58294.10\",\n  \"risk_scenario\": \"$60,520.00 SOS와 $60,666.60 AR 상단을 빠르게 회복하고 그 위에서 15분봉 기준 수용되면 단기 bearish setup은 무효화되며, $60,827.80 BU와 $61,322.00 상단 재시험으로 경로가 바뀐다. 반대로 $59,844.50 LPS와 $59,827.30 EQ를 잃으면 $59,667.50 ST, 이후 $58,988.00 SC 방향으로 누적 구조의 재검증이 필요해진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bearish",
      "confidence": 0.38,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.46,
      "setup_signals": [
        "현재가 $60,122.80는 고품질 strict bearish Gartley 형성 PRZ $60,242.64-$60,473.29 바로 아래에 있으며, PRZ까지 약 +0.39% 거리",
        "bearish Gartley PRZ는 ABCD, BC_EXT, XAD 3개 Fib family가 겹친 고합류 구간이며 PRZ 폭은 0.382%로 양호",
        "형성 중인 Gartley의 추정 D값은 $60,357.96, X=$60,520.00, A=$59,762.60, B=$60,218.20, C=$59,844.50로 상단 반응 구간이 명확함",
        "동일 PRZ 대역에 completed candidate Gartley가 존재하며 D=$60,298.00 이후 AD 0.382 반응 도달 및 PRZ 중심 방어/거부가 확인되어 보조적인 bearish 반응 근거 제공",
        "가장 가까운 Crab PRZ는 $59,811.00-$60,195.18로 현재가가 내부/상단에 있으나 confluence 2개 및 폭 0.64%로 council 주도 신호는 아님"
      ],
      "reasoning": "확정 구조 관점에서는 BOS/CHoCH/MSS 같은 구조 전환 데이터가 없으므로 structure_bias는 neutral로 둔다. 다만 실행 셋업 관점에서는 현재가 $60,122.80가 고품질 strict bearish Gartley PRZ $60,242.64-$60,473.29 바로 아래에 위치하고, 해당 PRZ가 ABCD·BC_EXT·XAD 3중 합류와 pattern_score 0.918을 갖기 때문에 단기 상방 진입 시 매도 반응 후보가 우세하다. 이 Gartley는 아직 forming 상태이고 confirmed_reaction=false라서 독립적으로 메인 경로를 뒤집을 수는 없으며, directional_vote_weight도 0.35의 pre-confirmation 수준에 불과하다. bearish 반응이 확인될 경우 TP ladder는 $60,130.53, $59,990.03, $59,762.60 순으로 유효하며, $60,520.00 X 고점 위 수용은 패턴 실패 위험을 크게 높인다.",
      "key_levels": {
        "support": [
          60130.53,
          59990.03,
          59811.0,
          59762.6,
          59555.0
        ],
        "resistance": [
          60242.64,
          60357.96,
          60473.29,
          60520.0,
          60847.07
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,520.00",
      "risk_scenario": "가격이 $60,242.64-$60,473.29 bearish Gartley PRZ에 진입한 뒤 거부되지 않고 $60,520.00 위에서 수용되면 bearish harmonic 셋업은 실패로 간주한다. 그 경우 상단의 저품질 bearish Bat 확장 PRZ 중심 $60,561.47 및 상단 $60,847.07까지 숏 스퀴즈성 연장이 나올 수 있으며, 더 크게는 7일 고점 $61,322.00 재시험 리스크가 열린다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 71,
        "completed_patterns_found": 29,
        "forming_d_prz_found": 42,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 55,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 26,
        "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": 15,
          "medium": 21,
          "low": 35
        },
        "prz_status_counts": {
          "active": 15,
          "nearby": 6,
          "watch": 12,
          "far": 38,
          "forming": 22
        },
        "high_confluence_prz_count": 32,
        "strict_patterns_found": 38,
        "candidate_patterns_found": 33,
        "active_patterns_at_prz": 15,
        "nearby_patterns": 6,
        "all_patterns": [
          "gartley",
          "bat",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "gartley",
          "gartley",
          "gartley",
          "bat",
          "crab",
          "butterfly",
          "bat",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "shark",
          "crab",
          "butterfly",
          "shark",
          "crab",
          "gartley",
          "crab",
          "butterfly",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "crab",
          "crab",
          "gartley",
          "butterfly",
          "butterfly",
          "butterfly",
          "gartley",
          "gartley",
          "crab",
          "shark",
          "crab",
          "gartley",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "shark",
          "shark",
          "crab",
          "crab",
          "gartley",
          "crab",
          "shark",
          "crab",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "bat",
          "bat",
          "bat",
          "shark",
          "shark",
          "crab"
        ],
        "all_signals": [
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish"
        ],
        "best_pattern": "gartley",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.918,
        "best_completion_status": "forming",
        "nearest_pattern": "crab",
        "nearest_prz": 60026.6,
        "price_to_prz": -0.16,
        "prz_range": [
          59811.0,
          60242.21
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.918,
            "ratio_score": 0.902,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60357.96,
            "prz_range": [
              60242.64,
              60473.29
            ],
            "prz_width_pct": 0.382,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.39,
            "price_to_prz_pct_raw": 0.3911,
            "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": 60357.96,
              "a_price": 59762.6,
              "tp1_ad_382": 60130.53,
              "tp2_ad_618": 59990.03,
              "tp3_a_or_structure_liquidity": 59762.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6015,
              "ABC": 0.8202
            },
            "x_price": 60520.0,
            "x_idx": 233,
            "x_order": 8,
            "a_price": 59762.6,
            "a_idx": 240,
            "a_order": 5,
            "b_price": 60218.2,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 59844.5,
            "c_idx": 253,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.878,
            "ratio_score": 0.866,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60298.0,
            "prz_range": [
              60242.64,
              60473.29
            ],
            "prz_width_pct": 0.382,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.39,
            "price_to_prz_pct_raw": 0.3911,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.597,
                "adverse_move_ratio_ad": 1.503,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60357.96,
              "a_price": 59762.6,
              "tp1_ad_382": 60130.53,
              "tp2_ad_618": 59990.03,
              "tp3_a_or_structure_liquidity": 59762.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6575,
              "ABC": 0.8202,
              "BCD": 1.2135,
              "XAD": 0.7727
            },
            "x_price": 59069.7,
            "x_idx": 208,
            "x_order": 8,
            "a_price": 59762.6,
            "a_idx": 240,
            "a_order": 5,
            "b_price": 60218.2,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 59844.5,
            "c_idx": 253,
            "c_order": 8,
            "d_idx": 274
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.891,
            "ratio_score": 1.0,
            "prz_score": 0.867,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60561.47,
            "prz_range": [
              60275.88,
              60847.07
            ],
            "prz_width_pct": 0.943,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.73,
            "price_to_prz_pct_raw": 0.7296,
            "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": 60561.47,
              "a_price": 59762.6,
              "tp1_ad_382": 60256.3,
              "tp2_ad_618": 60067.77,
              "tp3_a_or_structure_liquidity": 59762.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4427,
              "ABC": 0.8202
            },
            "x_price": 58733.5,
            "x_idx": 217,
            "x_order": 3,
            "a_price": 59762.6,
            "a_idx": 240,
            "a_order": 5,
            "b_price": 60218.2,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 59844.5,
            "c_idx": 253,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.853,
            "ratio_score": 1.0,
            "prz_score": 0.898,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59249.15,
            "prz_range": [
              58993.56,
              59504.74
            ],
            "prz_width_pct": 0.863,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.45,
            "price_to_prz_pct_raw": -1.4531,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59249.15,
              "a_price": 60520.0,
              "tp1_ad_382": 59734.61,
              "tp2_ad_618": 60034.53,
              "tp3_a_or_structure_liquidity": 60520.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4466,
              "ABC": 0.6015
            },
            "x_price": 58823.9,
            "x_idx": 186,
            "x_order": 3,
            "a_price": 60520.0,
            "a_idx": 233,
            "a_order": 8,
            "b_price": 59762.6,
            "b_idx": 240,
            "b_order": 5,
            "c_price": 60218.2,
            "c_idx": 242,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.838,
            "ratio_score": 0.866,
            "prz_score": 0.876,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59472.16,
            "prz_range": [
              59199.01,
              59745.31
            ],
            "prz_width_pct": 0.919,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.08,
            "price_to_prz_pct_raw": -1.0822,
            "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": "butterfly",
              "d_price": 59472.16,
              "a_price": 58223.3,
              "tp1_ad_382": 58995.1,
              "tp2_ad_618": 58700.36,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7872,
              "ABC": 0.9238
            },
            "x_price": 59403.0,
            "x_idx": 116,
            "x_order": 5,
            "a_price": 58223.3,
            "a_idx": 141,
            "a_order": 3,
            "b_price": 59152.0,
            "b_idx": 183,
            "b_order": 3,
            "c_price": 58294.1,
            "c_idx": 223,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.81,
            "ratio_score": 0.859,
            "prz_score": 0.876,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60218.2,
            "prz_range": [
              59199.01,
              59745.31
            ],
            "prz_width_pct": 0.919,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.08,
            "price_to_prz_pct_raw": -1.0822,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "initial_PRZ_reaction",
                "post_D_close_progress"
              ],
              "reaction_score": 0.35,
              "reaction_detail": {
                "reaction_score": 0.35,
                "reaction_move_ratio_ad": 0.187,
                "adverse_move_ratio_ad": 0.057,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 59472.16,
              "a_price": 58223.3,
              "tp1_ad_382": 58995.1,
              "tp2_ad_618": 58700.36,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7872,
              "ABC": 0.9238,
              "BCD": 2.2428,
              "XAD": 1.691
            },
            "x_price": 59403.0,
            "x_idx": 116,
            "x_order": 5,
            "a_price": 58223.3,
            "a_idx": 141,
            "a_order": 3,
            "b_price": 59152.0,
            "b_idx": 183,
            "b_order": 3,
            "c_price": 58294.1,
            "c_idx": 223,
            "c_order": 8,
            "d_idx": 242
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.777,
            "ratio_score": 0.709,
            "prz_score": 0.964,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59277.12,
            "prz_range": [
              59072.12,
              59482.12
            ],
            "prz_width_pct": 0.692,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.41,
            "price_to_prz_pct_raw": -1.4066,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 59277.12,
              "a_price": 60520.0,
              "tp1_ad_382": 59751.9,
              "tp2_ad_618": 60045.22,
              "tp3_a_or_structure_liquidity": 60520.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.569,
              "ABC": 0.7699
            },
            "x_price": 58823.9,
            "x_idx": 186,
            "x_order": 3,
            "a_price": 60520.0,
            "a_idx": 233,
            "a_order": 8,
            "b_price": 59555.0,
            "b_idx": 270,
            "b_order": 8,
            "c_price": 60298.0,
            "c_idx": 274,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.884,
            "ratio_score": 1.0,
            "prz_score": 0.81,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 60314.53,
            "prz_range": [
              59986.47,
              60642.59
            ],
            "prz_width_pct": 1.088,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.32,
            "price_to_prz_pct_raw": 0.3189,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60314.53,
              "a_price": 59762.6,
              "tp1_ad_382": 60103.69,
              "tp2_ad_618": 59973.44,
              "tp3_a_or_structure_liquidity": 59762.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6015,
              "ABC": 1.4557
            },
            "x_price": 60520.0,
            "x_idx": 233,
            "x_order": 8,
            "a_price": 59762.6,
            "a_idx": 240,
            "a_order": 5,
            "b_price": 60218.2,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 59555.0,
            "c_idx": 270,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.918,
            "ratio_score": 0.902,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60357.96,
            "prz_range": [
              60242.64,
              60473.29
            ],
            "prz_width_pct": 0.382,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.39,
            "price_to_prz_pct_raw": 0.3911,
            "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": 60357.96,
              "a_price": 59762.6,
              "tp1_ad_382": 60130.53,
              "tp2_ad_618": 59990.03,
              "tp3_a_or_structure_liquidity": 59762.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6015,
              "ABC": 0.8202
            },
            "x_price": 60520.0,
            "x_idx": 233,
            "x_order": 8,
            "a_price": 59762.6,
            "a_idx": 240,
            "a_order": 5,
            "b_price": 60218.2,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 59844.5,
            "c_idx": 253,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.918,
            "ratio_score": 0.902,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60357.96,
            "prz_range": [
              60242.64,
              60473.29
            ],
            "prz_width_pct": 0.382,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.39,
            "price_to_prz_pct_raw": 0.3911,
            "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": 60357.96,
              "a_price": 59762.6,
              "tp1_ad_382": 60130.53,
              "tp2_ad_618": 59990.03,
              "tp3_a_or_structure_liquidity": 59762.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6015,
              "ABC": 0.8202
            },
            "x_price": 60520.0,
            "x_idx": 233,
            "x_order": 8,
            "a_price": 59762.6,
            "a_idx": 240,
            "a_order": 5,
            "b_price": 60218.2,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 59844.5,
            "c_idx": 253,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.878,
            "ratio_score": 0.866,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60298.0,
            "prz_range": [
              60242.64,
              60473.29
            ],
            "prz_width_pct": 0.382,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.39,
            "price_to_prz_pct_raw": 0.3911,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.597,
                "adverse_move_ratio_ad": 1.503,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60357.96,
              "a_price": 59762.6,
              "tp1_ad_382": 60130.53,
              "tp2_ad_618": 59990.03,
              "tp3_a_or_structure_liquidity": 59762.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6575,
              "ABC": 0.8202,
              "BCD": 1.2135,
              "XAD": 0.7727
            },
            "x_price": 59069.7,
            "x_idx": 208,
            "x_order": 8,
            "a_price": 59762.6,
            "a_idx": 240,
            "a_order": 5,
            "b_price": 60218.2,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 59844.5,
            "c_idx": 253,
            "c_order": 8,
            "d_idx": 274
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.891,
            "ratio_score": 1.0,
            "prz_score": 0.867,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60561.47,
            "prz_range": [
              60275.88,
              60847.07
            ],
            "prz_width_pct": 0.943,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.73,
            "price_to_prz_pct_raw": 0.7296,
            "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": 60561.47,
              "a_price": 59762.6,
              "tp1_ad_382": 60256.3,
              "tp2_ad_618": 60067.77,
              "tp3_a_or_structure_liquidity": 59762.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4427,
              "ABC": 0.8202
            },
            "x_price": 58733.5,
            "x_idx": 217,
            "x_order": 3,
            "a_price": 59762.6,
            "a_idx": 240,
            "a_order": 5,
            "b_price": 60218.2,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 59844.5,
            "c_idx": 253,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.853,
            "ratio_score": 1.0,
            "prz_score": 0.898,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59249.15,
            "prz_range": [
              58993.56,
              59504.74
            ],
            "prz_width_pct": 0.863,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.45,
            "price_to_prz_pct_raw": -1.4531,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59249.15,
              "a_price": 60520.0,
              "tp1_ad_382": 59734.61,
              "tp2_ad_618": 60034.53,
              "tp3_a_or_structure_liquidity": 60520.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4466,
              "ABC": 0.6015
            },
            "x_price": 58823.9,
            "x_idx": 186,
            "x_order": 3,
            "a_price": 60520.0,
            "a_idx": 233,
            "a_order": 8,
            "b_price": 59762.6,
            "b_idx": 240,
            "b_order": 5,
            "c_price": 60218.2,
            "c_idx": 242,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.838,
            "ratio_score": 0.866,
            "prz_score": 0.876,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59472.16,
            "prz_range": [
              59199.01,
              59745.31
            ],
            "prz_width_pct": 0.919,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.08,
            "price_to_prz_pct_raw": -1.0822,
            "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": "butterfly",
              "d_price": 59472.16,
              "a_price": 58223.3,
              "tp1_ad_382": 58995.1,
              "tp2_ad_618": 58700.36,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7872,
              "ABC": 0.9238
            },
            "x_price": 59403.0,
            "x_idx": 116,
            "x_order": 5,
            "a_price": 58223.3,
            "a_idx": 141,
            "a_order": 3,
            "b_price": 59152.0,
            "b_idx": 183,
            "b_order": 3,
            "c_price": 58294.1,
            "c_idx": 223,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.81,
            "ratio_score": 0.859,
            "prz_score": 0.876,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60218.2,
            "prz_range": [
              59199.01,
              59745.31
            ],
            "prz_width_pct": 0.919,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.08,
            "price_to_prz_pct_raw": -1.0822,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "initial_PRZ_reaction",
                "post_D_close_progress"
              ],
              "reaction_score": 0.35,
              "reaction_detail": {
                "reaction_score": 0.35,
                "reaction_move_ratio_ad": 0.187,
                "adverse_move_ratio_ad": 0.057,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 59472.16,
              "a_price": 58223.3,
              "tp1_ad_382": 58995.1,
              "tp2_ad_618": 58700.36,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7872,
              "ABC": 0.9238,
              "BCD": 2.2428,
              "XAD": 1.691
            },
            "x_price": 59403.0,
            "x_idx": 116,
            "x_order": 5,
            "a_price": 58223.3,
            "a_idx": 141,
            "a_order": 3,
            "b_price": 59152.0,
            "b_idx": 183,
            "b_order": 3,
            "c_price": 58294.1,
            "c_idx": 223,
            "c_order": 8,
            "d_idx": 242
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.777,
            "ratio_score": 0.709,
            "prz_score": 0.964,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59277.12,
            "prz_range": [
              59072.12,
              59482.12
            ],
            "prz_width_pct": 0.692,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.41,
            "price_to_prz_pct_raw": -1.4066,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 59277.12,
              "a_price": 60520.0,
              "tp1_ad_382": 59751.9,
              "tp2_ad_618": 60045.22,
              "tp3_a_or_structure_liquidity": 60520.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.569,
              "ABC": 0.7699
            },
            "x_price": 58823.9,
            "x_idx": 186,
            "x_order": 3,
            "a_price": 60520.0,
            "a_idx": 233,
            "a_order": 8,
            "b_price": 59555.0,
            "b_idx": 270,
            "b_order": 8,
            "c_price": 60298.0,
            "c_idx": 274,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.884,
            "ratio_score": 1.0,
            "prz_score": 0.81,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 60314.53,
            "prz_range": [
              59986.47,
              60642.59
            ],
            "prz_width_pct": 1.088,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.32,
            "price_to_prz_pct_raw": 0.3189,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 60314.53,
              "a_price": 59762.6,
              "tp1_ad_382": 60103.69,
              "tp2_ad_618": 59973.44,
              "tp3_a_or_structure_liquidity": 59762.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6015,
              "ABC": 1.4557
            },
            "x_price": 60520.0,
            "x_idx": 233,
            "x_order": 8,
            "a_price": 59762.6,
            "a_idx": 240,
            "a_order": 5,
            "b_price": 60218.2,
            "b_idx": 242,
            "b_order": 3,
            "c_price": 59555.0,
            "c_idx": 270,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.864,
            "ratio_score": 1.0,
            "prz_score": 0.768,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 60003.09,
            "prz_range": [
              59811.0,
              60195.18
            ],
            "prz_width_pct": 0.64,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.2,
            "price_to_prz_pct_raw": -0.1991,
            "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": 60003.09,
              "a_price": 58160.0,
              "tp1_ad_382": 59299.03,
              "tp2_ad_618": 58864.06,
              "tp3_a_or_structure_liquidity": 58160.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4505,
              "ABC": 0.7605
            },
            "x_price": 59403.0,
            "x_idx": 116,
            "x_order": 5,
            "a_price": 58160.0,
            "a_idx": 137,
            "a_order": 8,
            "b_price": 58720.0,
            "b_idx": 172,
            "b_order": 5,
            "c_price": 58294.1,
            "c_idx": 223,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.86,
            "ratio_score": 0.998,
            "prz_score": 0.712,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 60067.9,
            "prz_range": [
              59355.5,
              60155.96
            ],
            "prz_width_pct": 1.34,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.61,
            "price_to_prz_pct_raw": -0.6105,
            "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.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.366,
                "adverse_move_ratio_ad": 0.245,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 59755.73,
              "a_price": 58223.3,
              "tp1_ad_382": 59170.34,
              "tp2_ad_618": 58808.69,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7872,
              "ABC": 0.7551,
              "BCD": 2.306,
              "XAD": 1.5636
            },
            "x_price": 59403.0,
            "x_idx": 116,
            "x_order": 5,
            "a_price": 58223.3,
            "a_idx": 141,
            "a_order": 3,
            "b_price": 59152.0,
            "b_idx": 183,
            "b_order": 3,
            "c_price": 58450.7,
            "c_idx": 206,
            "c_order": 8,
            "d_idx": 229
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.852,
            "ratio_score": 0.994,
            "prz_score": 0.712,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 59755.73,
            "prz_range": [
              59355.5,
              60155.96
            ],
            "prz_width_pct": 1.34,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.61,
            "price_to_prz_pct_raw": -0.6105,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 59755.73,
              "a_price": 58223.3,
              "tp1_ad_382": 59170.34,
              "tp2_ad_618": 58808.69,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7872,
              "ABC": 0.7551
            },
            "x_price": 59403.0,
            "x_idx": 116,
            "x_order": 5,
            "a_price": 58223.3,
            "a_idx": 141,
            "a_order": 3,
            "b_price": 59152.0,
            "b_idx": 183,
            "b_order": 3,
            "c_price": 58450.7,
            "c_idx": 206,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.845,
            "ratio_score": 1.0,
            "prz_score": 0.76,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 59607.81,
            "prz_range": [
              59244.86,
              59970.76
            ],
            "prz_width_pct": 1.218,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.86,
            "price_to_prz_pct_raw": -0.8566,
            "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": 59607.81,
              "a_price": 58160.0,
              "tp1_ad_382": 59054.75,
              "tp2_ad_618": 58713.06,
              "tp3_a_or_structure_liquidity": 58160.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4028,
              "ABC": 0.4926
            },
            "x_price": 59264.4,
            "x_idx": 132,
            "x_order": 8,
            "a_price": 58160.0,
            "a_idx": 137,
            "a_order": 8,
            "b_price": 58604.8,
            "b_idx": 144,
            "b_order": 3,
            "c_price": 58823.9,
            "c_idx": 186,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.918,
            "prz_proximity": "active",
            "prz_range": [
              60242.64,
              60473.29
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.39,
            "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": "gartley",
              "d_price": 60357.96,
              "a_price": 59762.6,
              "tp1_ad_382": 60130.53,
              "tp2_ad_618": 59990.03,
              "tp3_a_or_structure_liquidity": 59762.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $60,242.64-$60,473.29: expected reversal DOWN if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bearish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.918,
          "ratio_score": 0.902,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 60357.96,
          "prz_range": [
            60242.64,
            60473.29
          ],
          "prz_width_pct": 0.382,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 0.39,
          "price_to_prz_pct_raw": 0.3911,
          "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": 60357.96,
            "a_price": 59762.6,
            "tp1_ad_382": 60130.53,
            "tp2_ad_618": 59990.03,
            "tp3_a_or_structure_liquidity": 59762.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.6015,
            "ABC": 0.8202
          },
          "x_price": 60520.0,
          "x_idx": 233,
          "x_order": 8,
          "a_price": 59762.6,
          "a_idx": 240,
          "a_order": 5,
          "b_price": 60218.2,
          "b_idx": 242,
          "b_order": 3,
          "c_price": 59844.5,
          "c_idx": 253,
          "c_order": 8,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bearish",
          "source": "gartley",
          "d_price": 60357.96,
          "a_price": 59762.6,
          "tp1_ad_382": 60130.53,
          "tp2_ad_618": 59990.03,
          "tp3_a_or_structure_liquidity": 59762.6,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bearish",
            "source": "gartley",
            "d_price": 60357.96,
            "a_price": 59762.6,
            "tp1_ad_382": 60130.53,
            "tp2_ad_618": 59990.03,
            "tp3_a_or_structure_liquidity": 59762.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 0,
          "bearish": 0.194
        },
        "directional_score_total": 0.194,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.38,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.46,\n  \"setup_signals\": [\n    \"현재가 $60,122.80는 고품질 strict bearish Gartley 형성 PRZ $60,242.64-$60,473.29 바로 아래에 있으며, PRZ까지 약 +0.39% 거리\",\n    \"bearish Gartley PRZ는 ABCD, BC_EXT, XAD 3개 Fib family가 겹친 고합류 구간이며 PRZ 폭은 0.382%로 양호\",\n    \"형성 중인 Gartley의 추정 D값은 $60,357.96, X=$60,520.00, A=$59,762.60, B=$60,218.20, C=$59,844.50로 상단 반응 구간이 명확함\",\n    \"동일 PRZ 대역에 completed candidate Gartley가 존재하며 D=$60,298.00 이후 AD 0.382 반응 도달 및 PRZ 중심 방어/거부가 확인되어 보조적인 bearish 반응 근거 제공\",\n    \"가장 가까운 Crab PRZ는 $59,811.00-$60,195.18로 현재가가 내부/상단에 있으나 confluence 2개 및 폭 0.64%로 council 주도 신호는 아님\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 BOS/CHoCH/MSS 같은 구조 전환 데이터가 없으므로 structure_bias는 neutral로 둔다. 다만 실행 셋업 관점에서는 현재가 $60,122.80가 고품질 strict bearish Gartley PRZ $60,242.64-$60,473.29 바로 아래에 위치하고, 해당 PRZ가 ABCD·BC_EXT·XAD 3중 합류와 pattern_score 0.918을 갖기 때문에 단기 상방 진입 시 매도 반응 후보가 우세하다. 이 Gartley는 아직 forming 상태이고 confirmed_reaction=false라서 독립적으로 메인 경로를 뒤집을 수는 없으며, directional_vote_weight도 0.35의 pre-confirmation 수준에 불과하다. bearish 반응이 확인될 경우 TP ladder는 $60,130.53, $59,990.03, $59,762.60 순으로 유효하며, $60,520.00 X 고점 위 수용은 패턴 실패 위험을 크게 높인다.\",\n  \"key_levels\": {\n    \"support\": [\n      60130.53,\n      59990.03,\n      59811.0,\n      59762.6,\n      59555.0\n    ],\n    \"resistance\": [\n      60242.64,\n      60357.96,\n      60473.29,\n      60520.0,\n      60847.07\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,520.00\",\n  \"risk_scenario\": \"가격이 $60,242.64-$60,473.29 bearish Gartley PRZ에 진입한 뒤 거부되지 않고 $60,520.00 위에서 수용되면 bearish harmonic 셋업은 실패로 간주한다. 그 경우 상단의 저품질 bearish Bat 확장 PRZ 중심 $60,561.47 및 상단 $60,847.07까지 숏 스퀴즈성 연장이 나올 수 있으며, 더 크게는 7일 고점 $61,322.00 재시험 리스크가 열린다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bullish",
    "overall_confidence": 0.56,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.66,
      "active_setups": [
        "가격 $60,122.80이 EMA20 $60,375.87 아래에 머물며 단기 회복 실패 상태",
        "Wyckoff상 BU $60,827.80, AR 상단 $60,666.60, SOS $60,520.00 위 수용 실패 후 LPS $59,844.50 재검증 위험",
        "파생시장 CVD divergence 0.850과 롱 계정 비율 0.650이 결합된 분배성 단기 약세 조건",
        "7일 레인지 EQ $59,540.30 위 프리미엄 구간에서 단기 매도 셋업 우세",
        "bearish Gartley PRZ $60,242.64-$60,473.29가 상단 반응 구간으로 대기 중",
        "반대로 ICT/Fibonacci는 $60,146.14 0.618 되돌림과 $59,997.70 하단 합류 지지에서 할인 매수 조건을 제시"
      ],
      "setup_vs_structure": "구조는 아직 누적 이후의 강세 편향이 완전히 훼손되지 않았지만, 실행 셋업은 단기 약세로 기울어져 있다. 즉, 큰 구조는 강세 잔존이나 현재 15분봉 운용 구간은 상단 돌파 실패와 파생 약세 신호를 먼저 관리해야 하는 상태다."
    },
    "signal_breakdown": {
      "bullish_count": 2,
      "bearish_count": 3,
      "neutral_count": 1
    },
    "key_levels": {
      "support": [
        60080.9,
        59997.7,
        59886.17,
        59876.09,
        59844.5,
        59827.3,
        59643.61,
        59555.0,
        59300.0,
        57758.6
      ],
      "resistance": [
        60146.14,
        60242.64,
        60375.87,
        60438.5,
        60473.29,
        60511.36,
        60520.0,
        60666.6,
        60827.8,
        61102.5,
        61322.0
      ]
    },
    "confluences": [
      "EMA20 $60,375.87 부근은 Candlestick과 Derivatives가 공통으로 단기 저항 및 모멘텀 약화 기준으로 제시했다.",
      "ICT의 bearish OB 하단 $60,512.20, Fibonacci 0.382 $60,511.36, Wyckoff SOS $60,520.00, Harmonic X 고점 $60,520.00이 $60,511-$60,520 구간에 강하게 중첩된다.",
      "Wyckoff LPS $59,844.50, ICT bearish CHoCH $59,844.50, Fibonacci 0.786 $59,886.17, EMA120 $59,876.09가 $59,844-$59,886 지지 클러스터를 형성한다.",
      "Fibonacci 하단 합류 $59,997.70과 Harmonic bearish TP2 $59,990.03이 $59,990-$59,998 구간에서 단기 반응 레벨로 일치한다.",
      "Wyckoff BU $60,827.80, ICT bearish OB 중간 $60,917.10, 그리고 최근 상단 유동성 $61,100-$61,322가 상위 공급·저항 구조로 연결된다.",
      "이전일 고가 $60,067.90 및 뉴욕 세션 저점 $60,080.90 부근은 현재가 바로 아래의 미세 구조 기준점으로 작동한다."
    ],
    "conflicts": [
      "구조 해석에서 Fibonacci와 Wyckoff는 상승 스윙 및 누적 구조를 근거로 bullish를 유지하지만, Candlestick·Derivatives·Harmonic은 EMA20 하회, CVD divergence, 상단 PRZ를 근거로 단기 bearish 셋업을 제시한다.",
      "ICT는 현재가가 EQ $60,438.50 아래 discount에 있어 bullish continuation 셋업이라고 보지만, Derivatives와 Candlestick은 7일 레인지 EQ $59,540.30 위 프리미엄이라고 판단해 같은 가격대를 서로 다른 기준의 할인·프리미엄으로 해석한다.",
      "Wyckoff 내부에서도 이전 누적 구조는 강세이나, 현재 활성 구간에는 BC $61,322.00 이후 ST $61,102.50, UT $60,623.50, SOW $60,232.60, Phase E 저점 $60,080.90로 이어지는 분배 후보가 나타나 구조 전환 리스크가 존재한다.",
      "Harmonic의 bearish Gartley는 PRZ 품질이 높지만 아직 형성 중이며 단독 구조 전환 권한은 낮다. 따라서 핵심 구조를 뒤집기보다는 $60,242.64-$60,473.29 상단 반응 위험으로만 취급해야 한다."
    ],
    "executive_summary": "현재 BTC 15분 구조는 이전 누적 구조가 확인된 이후의 강세 편향이 아직 남아 있는 상태로 평가한다. 다만 가격은 BU $60,827.80, AR 상단 $60,666.60, SOS $60,520.00 위에서 수용되지 못했고, 현재 활성 구간에는 BC $61,322.00 이후 ST·UT·SOW 성격의 분배 후보가 나타나 구조 전환 위험이 커졌다. 핵심 구조 방어 구간은 $59,844.50-$59,886.17이며, 이 구간은 Wyckoff LPS, ICT CHoCH, Fibonacci 0.786, EMA120이 겹치는 주요 지지 클러스터다. 상단에서는 $60,511-$60,520과 $60,242.64-$60,473.29가 각각 구조 저항과 Harmonic PRZ로 중첩되어 재수용 여부가 중요하다. 전체 구조 판단은 bullish이나 신뢰도는 중간 수준이며, $59,555.00 하향 수용 시 해당 구조 해석은 무효화된다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bullish\",\n  \"overall_confidence\": 0.56,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.66,\n    \"active_setups\": [\n      \"가격 $60,122.80이 EMA20 $60,375.87 아래에 머물며 단기 회복 실패 상태\",\n      \"Wyckoff상 BU $60,827.80, AR 상단 $60,666.60, SOS $60,520.00 위 수용 실패 후 LPS $59,844.50 재검증 위험\",\n      \"파생시장 CVD divergence 0.850과 롱 계정 비율 0.650이 결합된 분배성 단기 약세 조건\",\n      \"7일 레인지 EQ $59,540.30 위 프리미엄 구간에서 단기 매도 셋업 우세\",\n      \"bearish Gartley PRZ $60,242.64-$60,473.29가 상단 반응 구간으로 대기 중\",\n      \"반대로 ICT/Fibonacci는 $60,146.14 0.618 되돌림과 $59,997.70 하단 합류 지지에서 할인 매수 조건을 제시\"\n    ],\n    \"setup_vs_structure\": \"구조는 아직 누적 이후의 강세 편향이 완전히 훼손되지 않았지만, 실행 셋업은 단기 약세로 기울어져 있다. 즉, 큰 구조는 강세 잔존이나 현재 15분봉 운용 구간은 상단 돌파 실패와 파생 약세 신호를 먼저 관리해야 하는 상태다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 2,\n    \"bearish_count\": 3,\n    \"neutral_count\": 1\n  },\n  \"key_levels\": {\n    \"support\": [\n      60080.9,\n      59997.7,\n      59886.17,\n      59876.09,\n      59844.5,\n      59827.3,\n      59643.61,\n      59555.0,\n      59300.0,\n      57758.6\n    ],\n    \"resistance\": [\n      60146.14,\n      60242.64,\n      60375.87,\n      60438.5,\n      60473.29,\n      60511.36,\n      60520.0,\n      60666.6,\n      60827.8,\n      61102.5,\n      61322.0\n    ]\n  },\n  \"confluences\": [\n    \"EMA20 $60,375.87 부근은 Candlestick과 Derivatives가 공통으로 단기 저항 및 모멘텀 약화 기준으로 제시했다.\",\n    \"ICT의 bearish OB 하단 $60,512.20, Fibonacci 0.382 $60,511.36, Wyckoff SOS $60,520.00, Harmonic X 고점 $60,520.00이 $60,511-$60,520 구간에 강하게 중첩된다.\",\n    \"Wyckoff LPS $59,844.50, ICT bearish CHoCH $59,844.50, Fibonacci 0.786 $59,886.17, EMA120 $59,876.09가 $59,844-$59,886 지지 클러스터를 형성한다.\",\n    \"Fibonacci 하단 합류 $59,997.70과 Harmonic bearish TP2 $59,990.03이 $59,990-$59,998 구간에서 단기 반응 레벨로 일치한다.\",\n    \"Wyckoff BU $60,827.80, ICT bearish OB 중간 $60,917.10, 그리고 최근 상단 유동성 $61,100-$61,322가 상위 공급·저항 구조로 연결된다.\",\n    \"이전일 고가 $60,067.90 및 뉴욕 세션 저점 $60,080.90 부근은 현재가 바로 아래의 미세 구조 기준점으로 작동한다.\"\n  ],\n  \"conflicts\": [\n    \"구조 해석에서 Fibonacci와 Wyckoff는 상승 스윙 및 누적 구조를 근거로 bullish를 유지하지만, Candlestick·Derivatives·Harmonic은 EMA20 하회, CVD divergence, 상단 PRZ를 근거로 단기 bearish 셋업을 제시한다.\",\n    \"ICT는 현재가가 EQ $60,438.50 아래 discount에 있어 bullish continuation 셋업이라고 보지만, Derivatives와 Candlestick은 7일 레인지 EQ $59,540.30 위 프리미엄이라고 판단해 같은 가격대를 서로 다른 기준의 할인·프리미엄으로 해석한다.\",\n    \"Wyckoff 내부에서도 이전 누적 구조는 강세이나, 현재 활성 구간에는 BC $61,322.00 이후 ST $61,102.50, UT $60,623.50, SOW $60,232.60, Phase E 저점 $60,080.90로 이어지는 분배 후보가 나타나 구조 전환 리스크가 존재한다.\",\n    \"Harmonic의 bearish Gartley는 PRZ 품질이 높지만 아직 형성 중이며 단독 구조 전환 권한은 낮다. 따라서 핵심 구조를 뒤집기보다는 $60,242.64-$60,473.29 상단 반응 위험으로만 취급해야 한다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — SC $58,988.00, AR $60,666.60, ST $59,667.50, Spring $58,823.90, Terminal Spring $58,294.10, SOS $60,520.00, LPS $59,844.50, BU $60,827.80까지의 누적 시퀀스를 가장 구체적으로 제시했으며, 동시에 현재 활성 분배 후보 구조의 위험도 명확히 분리해 설명했기 때문이다.\",\n  \"invalidation_level\": \"$59,555.00 하향 수용. 이 레벨은 ICT range low이자 Fibonacci 상승 스윙 저점으로, 그 아래에서 수용되면 현재 bullish 구조 해석은 훼손된다. 선행 경고선은 Wyckoff LPS/ICT CHoCH $59,844.50 및 Fibonacci 0.786 $59,886.17이다.\",\n  \"executive_summary\": \"현재 BTC 15분 구조는 이전 누적 구조가 확인된 이후의 강세 편향이 아직 남아 있는 상태로 평가한다. 다만 가격은 BU $60,827.80, AR 상단 $60,666.60, SOS $60,520.00 위에서 수용되지 못했고, 현재 활성 구간에는 BC $61,322.00 이후 ST·UT·SOW 성격의 분배 후보가 나타나 구조 전환 위험이 커졌다. 핵심 구조 방어 구간은 $59,844.50-$59,886.17이며, 이 구간은 Wyckoff LPS, ICT CHoCH, Fibonacci 0.786, EMA120이 겹치는 주요 지지 클러스터다. 상단에서는 $60,511-$60,520과 $60,242.64-$60,473.29가 각각 구조 저항과 Harmonic PRZ로 중첩되어 재수용 여부가 중요하다. 전체 구조 판단은 bullish이나 신뢰도는 중간 수준이며, $59,555.00 하향 수용 시 해당 구조 해석은 무효화된다.\"\n}"
  },
  "overall_signal": "bullish",
  "overall_confidence": 0.56,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.57,
    "waypoints": [
      {
        "seq": 1,
        "price": 59997.7,
        "type": "support_test",
        "source": "Fibonacci (fib_confluence strict, cluster_score 0.85), Harmonic (bearish TP2 $59,990.03), Derivatives/Candlestick (EMA20 회복 실패·프리미엄)",
        "description": "셋업 약세 편향(setup 66%: EMA20 $60,375.87 회복 실패, CVD divergence 0.850, 7일 EQ $59,540.30 위 프리미엄)에 따른 첫 하방 반응. $59,997.70은 Fibonacci 하단 합류(3개 레벨 중첩, 0.85)와 Harmonic bearish TP2 $59,990.03이 겹치는 strict 등급 1차 지지로, WP1 후보표 최상위(0.21% 거리)다.",
        "est_hours": 3.0,
        "turning_zone": [
          59935.0,
          59997.7
        ],
        "likely_wick": 59988.0,
        "rejection_confirm": 60080.9,
        "invalid_overshoot": 59882.0,
        "calibration_reasoning": "Fib strict 3중 합류 $59,997.70과 $60,000 라운드넘버 하단 스탑 청산을 앵커로 ATR 0.34배 폭 존을 구성. likely_wick은 $60k 직하 유동성 스윕대로 Harmonic bearish TP2 $59,990.03과 부합하나, 해당 하모닉은 pre-confirmation이라 보조 근거로만 사용했고 존 자체는 Fib 합류가 결정. $59,886.17 지지 이탈 시 WP1 반등 무효."
      },
      {
        "seq": 2,
        "price": 59844.5,
        "type": "swing_low",
        "source": "Wyckoff (LPS $59,844.50, range EQ $59,827.30), ICT (bearish CHoCH $59,844.50), Fibonacci (0.786 $59,886.17), Candlestick/Derivatives (EMA120 $59,876.09)",
        "description": "핵심 구조 방어 클러스터 $59,844.50-$59,886.17 재검증이자 예상 24h 저점. Wyckoff LPS·ICT CHoCH·Fib 0.786·EMA120이 중첩된 최강 지지대이며, LPS 하단 유동성 스윕 성격. 이 구간에서 수요가 재확인되어야 ACC 구조와 강세 편향이 유지된다.",
        "est_hours": 8.0,
        "turning_zone": [
          59772.0,
          59844.5
        ],
        "likely_wick": 59818.0,
        "rejection_confirm": 59886.17,
        "invalid_overshoot": 59745.0,
        "calibration_reasoning": "최강 지지 클러스터 $59,844.50 하단의 LPS 유동성 스윕 성격을 반영해 다음 Chairman 지지 $59,827.30 직하를 likely_wick으로 두고 ATR 0.39배로 존을 아래로 확장. 클러스터 상단 $59,886.17 회복이 수요 재확인(반전 confirm) 신호이며, $59,745 이탈 시 24h 저점·강세 구조가 붕괴."
      },
      {
        "seq": 3,
        "price": 60146.14,
        "type": "resistance_test",
        "source": "Fibonacci (0.618 골든비율 $60,146.14), ICT (discount→EQ $60,438.50 회복 경로)",
        "description": "클러스터 방어 성공 시 구조적 강세 편향(structure 56%)에 따른 되돌림 회복. 0.618 골든비율 $60,146.14 재탈환이 강세 재개의 1차 확인선이며, 이를 회복해야 상단 저항군으로 확장 가능하다.",
        "est_hours": 15.0,
        "turning_zone": [
          60146.14,
          60221.0
        ],
        "likely_wick": 60190.0,
        "rejection_confirm": 60080.9,
        "invalid_overshoot": 60245.0,
        "calibration_reasoning": "0.618 골든비율 $60,146.14 저항 재탈환대를 base로, 상단 Chairman 저항 $60,242.64 직전까지 ATR 0.4배 존을 위로 구성. $60,080.90 상실 시 되돌림 회복 실패로 반전이 확인되고, $60,242.64를 돌파·수용하면 WP4로 연장되어 이 지점의 반전은 무효."
      },
      {
        "seq": 4,
        "price": 60440.38,
        "type": "resistance_test",
        "source": "Fibonacci (fib_confluence strict $60,440.38, 0.85), ICT (EQ $60,438.50), Harmonic (bearish Gartley PRZ $60,242.64-$60,473.29)",
        "description": "회복 연장 시 예상 24h 고점이자 매도 반응 후보 구간. EMA20 $60,375.87 상회 후 ICT EQ $60,438.50 + Fib strict 합류 $60,440.38 + Harmonic PRZ가 겹쳐 공급이 재출현하기 쉬운 상단 반전 구간이다. 여기서 수용 실패 시 다시 하방 압력이 유효.",
        "est_hours": 22.0,
        "turning_zone": [
          60440.38,
          60565.0
        ],
        "likely_wick": 60515.0,
        "rejection_confirm": 60375.87,
        "invalid_overshoot": 60610.0,
        "calibration_reasoning": "터미널 24h 고점으로 EMA20 $60,375.87·ICT EQ $60,438.50·Fib strict $60,440.38 확정 합류를 base로, Fib 0.382 $60,511.36 + Chairman $60,520($60,500 라운드넘버) 저항군을 스윕하는 ATR 0.65배 광폭 존을 설정. likely_wick은 그 저항 클러스터 상단이며 EMA20 상실로 매도 반전 확인. gartley PRZ $60,357.96은 pre-confirmation이라 앵커로 쓰지 않았고, $60,610 수용 시 $60,666.6로 연장돼 고점 반전 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 60146.14,
        "expected_low": 59950.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 60146.14,
        "expected_low": 59844.5,
        "high_first": true
      },
      "24h": {
        "expected_high": 60440.38,
        "expected_low": 59844.5,
        "high_first": false
      }
    },
    "triggers": {
      "bullish": {
        "price": 60520.0,
        "description": "SOS $60,520.00 / bear OB 하단 $60,512.20 / Fib 0.382 $60,511.36 / Harmonic X $60,520.00이 겹친 상단 클러스터를 상향 돌파 후 수용하면 셋업 약세가 무효화되고 $60,666.60·$60,827.80·$61,102 향한 강세 가속."
      },
      "bearish": {
        "price": 59827.3,
        "description": "방어 클러스터 $59,844.50 및 메인 range EQ $59,827.30을 하향 상실하고 재진입 실패 시 EMA240 $59,643.61 이탈과 롱 혼잡 청산이 $59,300·$58,100 유동성으로 가속."
      }
    },
    "scenario_invalidation": 59555.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.57,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 59997.70,\n      \"type\": \"support_test\",\n      \"source\": \"Fibonacci (fib_confluence strict, cluster_score 0.85), Harmonic (bearish TP2 $59,990.03), Derivatives/Candlestick (EMA20 회복 실패·프리미엄)\",\n      \"description\": \"셋업 약세 편향(setup 66%: EMA20 $60,375.87 회복 실패, CVD divergence 0.850, 7일 EQ $59,540.30 위 프리미엄)에 따른 첫 하방 반응. $59,997.70은 Fibonacci 하단 합류(3개 레벨 중첩, 0.85)와 Harmonic bearish TP2 $59,990.03이 겹치는 strict 등급 1차 지지로, WP1 후보표 최상위(0.21% 거리)다.\",\n      \"est_hours\": 3.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 59844.50,\n      \"type\": \"swing_low\",\n      \"source\": \"Wyckoff (LPS $59,844.50, range EQ $59,827.30), ICT (bearish CHoCH $59,844.50), Fibonacci (0.786 $59,886.17), Candlestick/Derivatives (EMA120 $59,876.09)\",\n      \"description\": \"핵심 구조 방어 클러스터 $59,844.50-$59,886.17 재검증이자 예상 24h 저점. Wyckoff LPS·ICT CHoCH·Fib 0.786·EMA120이 중첩된 최강 지지대이며, LPS 하단 유동성 스윕 성격. 이 구간에서 수요가 재확인되어야 ACC 구조와 강세 편향이 유지된다.\",\n      \"est_hours\": 8.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 60146.14,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci (0.618 골든비율 $60,146.14), ICT (discount→EQ $60,438.50 회복 경로)\",\n      \"description\": \"클러스터 방어 성공 시 구조적 강세 편향(structure 56%)에 따른 되돌림 회복. 0.618 골든비율 $60,146.14 재탈환이 강세 재개의 1차 확인선이며, 이를 회복해야 상단 저항군으로 확장 가능하다.\",\n      \"est_hours\": 15.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 60440.38,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci (fib_confluence strict $60,440.38, 0.85), ICT (EQ $60,438.50), Harmonic (bearish Gartley PRZ $60,242.64-$60,473.29)\",\n      \"description\": \"회복 연장 시 예상 24h 고점이자 매도 반응 후보 구간. EMA20 $60,375.87 상회 후 ICT EQ $60,438.50 + Fib strict 합류 $60,440.38 + Harmonic PRZ가 겹쳐 공급이 재출현하기 쉬운 상단 반전 구간이다. 여기서 수용 실패 시 다시 하방 압력이 유효.\",\n      \"est_hours\": 22.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 60146.14, \"expected_low\": 59950.00, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 60146.14, \"expected_low\": 59844.50, \"high_first\": true},\n    \"24h\": {\"expected_high\": 60440.38, \"expected_low\": 59844.50, \"high_first\": false}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 60520.00, \"description\": \"SOS $60,520.00 / bear OB 하단 $60,512.20 / Fib 0.382 $60,511.36 / Harmonic X $60,520.00이 겹친 상단 클러스터를 상향 돌파 후 수용하면 셋업 약세가 무효화되고 $60,666.60·$60,827.80·$61,102 향한 강세 가속.\"},\n    \"bearish\": {\"price\": 59827.30, \"description\": \"방어 클러스터 $59,844.50 및 메인 range EQ $59,827.30을 하향 상실하고 재진입 실패 시 EMA240 $59,643.61 이탈과 롱 혼잡 청산이 $59,300·$58,100 유동성으로 가속.\"}\n  },\n  \"scenario_invalidation\": 59555.00\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 59997.7,
        "turning_zone": [
          59935.0,
          59997.7
        ],
        "likely_wick": 59988.0,
        "rejection_confirm": 60080.9,
        "invalid_overshoot": 59882.0,
        "calibration_reasoning": "Fib strict 3중 합류 $59,997.70과 $60,000 라운드넘버 하단 스탑 청산을 앵커로 ATR 0.34배 폭 존을 구성. likely_wick은 $60k 직하 유동성 스윕대로 Harmonic bearish TP2 $59,990.03과 부합하나, 해당 하모닉은 pre-confirmation이라 보조 근거로만 사용했고 존 자체는 Fib 합류가 결정. $59,886.17 지지 이탈 시 WP1 반등 무효."
      },
      {
        "seq": 2,
        "base_target": 59844.5,
        "turning_zone": [
          59772.0,
          59844.5
        ],
        "likely_wick": 59818.0,
        "rejection_confirm": 59886.17,
        "invalid_overshoot": 59745.0,
        "calibration_reasoning": "최강 지지 클러스터 $59,844.50 하단의 LPS 유동성 스윕 성격을 반영해 다음 Chairman 지지 $59,827.30 직하를 likely_wick으로 두고 ATR 0.39배로 존을 아래로 확장. 클러스터 상단 $59,886.17 회복이 수요 재확인(반전 confirm) 신호이며, $59,745 이탈 시 24h 저점·강세 구조가 붕괴."
      },
      {
        "seq": 3,
        "base_target": 60146.14,
        "turning_zone": [
          60146.14,
          60221.0
        ],
        "likely_wick": 60190.0,
        "rejection_confirm": 60080.9,
        "invalid_overshoot": 60245.0,
        "calibration_reasoning": "0.618 골든비율 $60,146.14 저항 재탈환대를 base로, 상단 Chairman 저항 $60,242.64 직전까지 ATR 0.4배 존을 위로 구성. $60,080.90 상실 시 되돌림 회복 실패로 반전이 확인되고, $60,242.64를 돌파·수용하면 WP4로 연장되어 이 지점의 반전은 무효."
      },
      {
        "seq": 4,
        "base_target": 60440.38,
        "turning_zone": [
          60440.38,
          60565.0
        ],
        "likely_wick": 60515.0,
        "rejection_confirm": 60375.87,
        "invalid_overshoot": 60610.0,
        "calibration_reasoning": "터미널 24h 고점으로 EMA20 $60,375.87·ICT EQ $60,438.50·Fib strict $60,440.38 확정 합류를 base로, Fib 0.382 $60,511.36 + Chairman $60,520($60,500 라운드넘버) 저항군을 스윕하는 ATR 0.65배 광폭 존을 설정. likely_wick은 그 저항 클러스터 상단이며 EMA20 상실로 매도 반전 확인. gartley PRZ $60,357.96은 pre-confirmation이라 앵커로 쓰지 않았고, $60,610 수용 시 $60,666.6로 연장돼 고점 반전 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 59997.70,\n      \"turning_zone\": [59935.00, 59997.70],\n      \"likely_wick\": 59988.00,\n      \"rejection_confirm\": 60080.90,\n      \"invalid_overshoot\": 59882.00,\n      \"calibration_reasoning\": \"Fib strict 3중 합류 $59,997.70과 $60,000 라운드넘버 하단 스탑 청산을 앵커로 ATR 0.34배 폭 존을 구성. likely_wick은 $60k 직하 유동성 스윕대로 Harmonic bearish TP2 $59,990.03과 부합하나, 해당 하모닉은 pre-confirmation이라 보조 근거로만 사용했고 존 자체는 Fib 합류가 결정. $59,886.17 지지 이탈 시 WP1 반등 무효.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 59844.50,\n      \"turning_zone\": [59772.00, 59844.50],\n      \"likely_wick\": 59818.00,\n      \"rejection_confirm\": 59886.17,\n      \"invalid_overshoot\": 59745.00,\n      \"calibration_reasoning\": \"최강 지지 클러스터 $59,844.50 하단의 LPS 유동성 스윕 성격을 반영해 다음 Chairman 지지 $59,827.30 직하를 likely_wick으로 두고 ATR 0.39배로 존을 아래로 확장. 클러스터 상단 $59,886.17 회복이 수요 재확인(반전 confirm) 신호이며, $59,745 이탈 시 24h 저점·강세 구조가 붕괴.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 60146.14,\n      \"turning_zone\": [60146.14, 60221.00],\n      \"likely_wick\": 60190.00,\n      \"rejection_confirm\": 60080.90,\n      \"invalid_overshoot\": 60245.00,\n      \"calibration_reasoning\": \"0.618 골든비율 $60,146.14 저항 재탈환대를 base로, 상단 Chairman 저항 $60,242.64 직전까지 ATR 0.4배 존을 위로 구성. $60,080.90 상실 시 되돌림 회복 실패로 반전이 확인되고, $60,242.64를 돌파·수용하면 WP4로 연장되어 이 지점의 반전은 무효.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 60440.38,\n      \"turning_zone\": [60440.38, 60565.00],\n      \"likely_wick\": 60515.00,\n      \"rejection_confirm\": 60375.87,\n      \"invalid_overshoot\": 60610.00,\n      \"calibration_reasoning\": \"터미널 24h 고점으로 EMA20 $60,375.87·ICT EQ $60,438.50·Fib strict $60,440.38 확정 합류를 base로, Fib 0.382 $60,511.36 + Chairman $60,520($60,500 라운드넘버) 저항군을 스윕하는 ATR 0.65배 광폭 존을 설정. likely_wick은 그 저항 클러스터 상단이며 EMA20 상실로 매도 반전 확인. gartley PRZ $60,357.96은 pre-confirmation이라 앵커로 쓰지 않았고, $60,610 수용 시 $60,666.6로 연장돼 고점 반전 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 50.9,
      "chairman": 79.6,
      "operating_path": 159.1,
      "tp_calibrator": 328.6
    },
    "agents": {},
    "total_s": 618.7
  }
}