{
  "symbol": "BTC/USDT",
  "timeframe": "1d",
  "timestamp": "2026-06-03 17:00 KST",
  "last_price": 67186.8,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.48,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $67,186.80은 EMA20 $74,090.57 대비 -9.3%, EMA120 $76,916.67 대비 -12.6%, EMA240 $83,749.78 대비 -19.8%로 강한 디스카운트/과매도권 반등 셋업",
        "7일 저점 $65,359.10 근처에서 반응 중이며 현재가는 저점 대비 약 $1,827.70 위에 위치",
        "최근 5개 캔들 중 -6.5% 급락 이후 +0.7% 반등 캔들과 bullish_harami@299 감지, 패턴 품질 0.611",
        "bull_score 1.35가 bear_score 0.75보다 우위이나, high_volume_patterns가 없어 거래량 확증은 부재",
        "doji@294 및 bullish_engulfing@295 이후에도 가격이 EMA20 $74,090.57 아래에 머물러 아직 구조 전환은 미확정"
      ],
      "reasoning": "일봉 구조는 현재가 $67,186.80이 EMA20 $74,090.57, EMA120 $76,916.67, EMA240 $83,749.78을 모두 하회하고 있어 확인된 흐름 기준으로는 여전히 bearish입니다. 다만 단기 셋업은 7일 저점 $65,359.10 부근에서 -6.5% 급락 후 bullish_harami@299가 발생했고, bull_score 1.35가 bear_score 0.75를 상회해 반등 시도가 나타납니다. 문제는 best_pattern_quality가 0.611로 후보 수준이며 high_volume_patterns가 없기 때문에, 이 반등은 아직 구조적 추세 전환보다는 프리-컨펌 반등 셋업에 가깝습니다. $74,090.57 EMA20 및 7일 고점 $74,565.30 회복 전까지는 상승 신호를 확정하기 어렵습니다.",
      "key_levels": {
        "support": [
          65359.1,
          67186.8
        ],
        "resistance": [
          74090.57,
          74565.3,
          76916.67,
          83749.78
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$65,359.10",
      "risk_scenario": "$65,359.10을 일봉 종가로 이탈하면 bullish harami 반등 셋업은 실패로 간주되며, 다음 하락 확장 구간으로 전환될 가능성이 큽니다. 반대로 $74,090.57 EMA20을 회복하고 $74,565.30 7일 고점을 돌파하면 단기 중립에서 bullish 구조 전환 시도가 확인될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 133,
        "recent_patterns": 4,
        "pattern_list": [
          "bearish_engulfing@291",
          "bullish_engulfing@295",
          "doji@294",
          "bullish_harami@299"
        ],
        "atr_value": 2199.3,
        "vol_avg_20": 134277.15,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.611,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.602,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.542,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.611,
        "bull_score": 1.35,
        "bear_score": 0.75
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.48,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $67,186.80은 EMA20 $74,090.57 대비 -9.3%, EMA120 $76,916.67 대비 -12.6%, EMA240 $83,749.78 대비 -19.8%로 강한 디스카운트/과매도권 반등 셋업\",\n    \"7일 저점 $65,359.10 근처에서 반응 중이며 현재가는 저점 대비 약 $1,827.70 위에 위치\",\n    \"최근 5개 캔들 중 -6.5% 급락 이후 +0.7% 반등 캔들과 bullish_harami@299 감지, 패턴 품질 0.611\",\n    \"bull_score 1.35가 bear_score 0.75보다 우위이나, high_volume_patterns가 없어 거래량 확증은 부재\",\n    \"doji@294 및 bullish_engulfing@295 이후에도 가격이 EMA20 $74,090.57 아래에 머물러 아직 구조 전환은 미확정\"\n  ],\n  \"reasoning\": \"일봉 구조는 현재가 $67,186.80이 EMA20 $74,090.57, EMA120 $76,916.67, EMA240 $83,749.78을 모두 하회하고 있어 확인된 흐름 기준으로는 여전히 bearish입니다. 다만 단기 셋업은 7일 저점 $65,359.10 부근에서 -6.5% 급락 후 bullish_harami@299가 발생했고, bull_score 1.35가 bear_score 0.75를 상회해 반등 시도가 나타납니다. 문제는 best_pattern_quality가 0.611로 후보 수준이며 high_volume_patterns가 없기 때문에, 이 반등은 아직 구조적 추세 전환보다는 프리-컨펌 반등 셋업에 가깝습니다. $74,090.57 EMA20 및 7일 고점 $74,565.30 회복 전까지는 상승 신호를 확정하기 어렵습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      65359.1,\n      67186.8\n    ],\n    \"resistance\": [\n      74090.57,\n      74565.3,\n      76916.67,\n      83749.78\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$65,359.10\",\n  \"risk_scenario\": \"$65,359.10을 일봉 종가로 이탈하면 bullish harami 반등 셋업은 실패로 간주되며, 다음 하락 확장 구간으로 전환될 가능성이 큽니다. 반대로 $74,090.57 EMA20을 회복하고 $74,565.30 7일 고점을 돌파하면 단기 중립에서 bullish 구조 전환 시도가 확인될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.66,
      "structure_bias": "bearish",
      "setup_bias": "neutral",
      "setup_score": 0.25,
      "setup_signals": [
        "현재가 $67,186.80은 스윙 저점 $74,868 및 0.786 되돌림 $76,571.59 아래에 있어 기존 Low→High 피보나치 구조가 훼손됨",
        "가격이 EQ/0.5 되돌림 $78,848.35 아래의 깊은 디스카운트 구간에 있으나, 계산된 support_levels가 비어 있어 확인된 피보나치 지지 반응은 없음",
        "가장 가까운 피보나치 레벨은 ret_0.786 $76,571.59로 현재가 대비 +13.97% 위에 있어 fib_reaction_state가 distant",
        "골든레시오 0.618 되돌림 $77,908.99가 현재가보다 +15.96% 위에 위치해 단기 반등 시 핵심 저항으로 작용할 가능성"
      ],
      "reasoning": "확인된 구조 관점에서는 BTC가 Low→High 스윙 $74,868→$82,829의 0.786 되돌림 $76,571.59뿐 아니라 스윙 저점 $74,868도 하회했기 때문에 피보나치 기반 상승 구조는 이미 훼손된 상태입니다. 현재가 $67,186.80은 0.618 골든레시오 $77,908.99 및 EQ/0.5 $78,848.35보다 크게 낮아, 반등하더라도 $76,571.59-$78,848.35 구간이 1차 강한 저항대로 작용할 가능성이 높습니다. confluence_quality는 0.600으로 중간 수준이나, 실제 confluence zone은 $85,081.03 부근으로 현재가와 매우 멀어 단기 의사결정에는 직접성이 낮습니다. setup 관점에서는 깊은 디스카운트 위치가 반등 후보를 만들 수는 있지만, 확인된 지지 레벨이 없고 fib_reaction_state가 distant이므로 강한 선행 매수 setup으로 보기는 어렵습니다.",
      "key_levels": {
        "support": [],
        "resistance": [
          76571.59,
          77908.99,
          78848.35,
          79787.71,
          85081.03
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$76,571.59 일봉 종가 회복",
      "risk_scenario": "반대 시나리오로 가격이 $76,571.59 ret_0.786을 회복하고 $77,908.99의 0.618 골든레시오까지 돌파하면, 현재의 하락 구조 훼손 판단은 약화되며 $78,848.35-$79,787.71까지 되돌림 반등이 확대될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $74,868 → $82,829",
        "direction": "up",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 76571.59,
        "nearest_fib_distance": 13.97,
        "golden_ratio_level": 77908.99,
        "fib_ret_382": 79787.71,
        "fib_ret_618": 77908.99,
        "confluence_zones": [
          {
            "price": 85081.03,
            "count": 2,
            "levels": [
              "ext_1.272",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [],
        "resistance_levels": [
          76571.5898,
          77908.9874,
          78848.35
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 80949.97,
            "distance_pct": 20.48,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 79787.71,
            "distance_pct": 18.76,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.5",
            "price": 78848.35,
            "distance_pct": 17.36,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 77908.99,
            "distance_pct": 15.96,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 76571.59,
            "distance_pct": 13.97,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 82828.7,
            "distance_pct": 23.28,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 84994.01,
            "distance_pct": 26.5,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 86124.43,
            "distance_pct": 28.19,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.618",
            "price": 87748.41,
            "distance_pct": 30.6,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 90789.4,
            "distance_pct": 35.13,
            "is_support": false,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "distant",
        "reaction_probability": 0.25
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.66,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.25,\n  \"setup_signals\": [\n    \"현재가 $67,186.80은 스윙 저점 $74,868 및 0.786 되돌림 $76,571.59 아래에 있어 기존 Low→High 피보나치 구조가 훼손됨\",\n    \"가격이 EQ/0.5 되돌림 $78,848.35 아래의 깊은 디스카운트 구간에 있으나, 계산된 support_levels가 비어 있어 확인된 피보나치 지지 반응은 없음\",\n    \"가장 가까운 피보나치 레벨은 ret_0.786 $76,571.59로 현재가 대비 +13.97% 위에 있어 fib_reaction_state가 distant\",\n    \"골든레시오 0.618 되돌림 $77,908.99가 현재가보다 +15.96% 위에 위치해 단기 반등 시 핵심 저항으로 작용할 가능성\"\n  ],\n  \"reasoning\": \"확인된 구조 관점에서는 BTC가 Low→High 스윙 $74,868→$82,829의 0.786 되돌림 $76,571.59뿐 아니라 스윙 저점 $74,868도 하회했기 때문에 피보나치 기반 상승 구조는 이미 훼손된 상태입니다. 현재가 $67,186.80은 0.618 골든레시오 $77,908.99 및 EQ/0.5 $78,848.35보다 크게 낮아, 반등하더라도 $76,571.59-$78,848.35 구간이 1차 강한 저항대로 작용할 가능성이 높습니다. confluence_quality는 0.600으로 중간 수준이나, 실제 confluence zone은 $85,081.03 부근으로 현재가와 매우 멀어 단기 의사결정에는 직접성이 낮습니다. setup 관점에서는 깊은 디스카운트 위치가 반등 후보를 만들 수는 있지만, 확인된 지지 레벨이 없고 fib_reaction_state가 distant이므로 강한 선행 매수 setup으로 보기는 어렵습니다.\",\n  \"key_levels\": {\n    \"support\": [],\n    \"resistance\": [\n      76571.59,\n      77908.99,\n      78848.35,\n      79787.71,\n      85081.03\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$76,571.59 일봉 종가 회복\",\n  \"risk_scenario\": \"반대 시나리오로 가격이 $76,571.59 ret_0.786을 회복하고 $77,908.99의 0.618 골든레시오까지 돌파하면, 현재의 하락 구조 훼손 판단은 약화되며 $78,848.35-$79,787.71까지 되돌림 반등이 확대될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bullish",
      "confidence": 0.58,
      "structure_bias": "bullish",
      "setup_bias": "bullish",
      "setup_score": 0.758,
      "setup_signals": [
        "현재가 $67,186.80는 EQ $74,093.90 아래의 discount 구간에 위치",
        "현재 되돌림이 93.1%로 range low $65,359.10 근처까지 깊게 진행되어 bullish mean reversion 후보",
        "이전일 저점 $66,150.70을 하향 이탈한 뒤 현재 $67,186.80로 회복하여 단기 sell-side liquidity raid 가능성",
        "하단에 resting SSL $65,138.65가 남아 있어 최종 유동성 청산 후 반등 시나리오 유효",
        "최근 확정 구조 이벤트가 BOS_bullish @ $75,998.90로 기록되어 있으나, 현재 가격은 그 아래에서 재확인 대기"
      ],
      "reasoning": "확정 구조 기준으로는 최근 BOS/CHoCH 시퀀스의 마지막 이벤트가 BOS_bullish @ $75,998.90이므로 structure_bias는 아직 bullish로 해석한다. 다만 현재가 $67,186.80는 EQ $74,093.90, EMA20 $74,090.57, EMA120 $76,916.67 아래에 있어 구조적 강세가 즉시 재개되었다기보다는 깊은 discount 되돌림 국면이다. setup 관점에서는 이전일 저점 $66,150.70이 깨졌고 현재가가 그 위로 회복한 상태라 sell-side liquidity를 유도한 뒤 반등을 시도하는 bullish pre-confirmation setup으로 본다. 단, 활성 OB와 미체결 FVG가 모두 0개이고 recent_liq_sweeps도 비어 있어 기관 주문흐름 근거는 중간 수준이며, $65,138.65 SSL이 하향 제거되면 bullish setup은 무효화된다.",
      "key_levels": {
        "support": [
          66150.7,
          65359.1,
          65138.65
        ],
        "resistance": [
          71397.0,
          74090.57,
          74093.9,
          75998.9,
          76916.67,
          82828.7
        ]
      },
      "time_horizon": "단기~중기",
      "invalidation_level": "$65,138.65",
      "risk_scenario": "$65,138.65의 sell-side liquidity가 하향 돌파된 뒤 빠르게 회복하지 못하면 현재 discount 반등 셋업은 실패로 간주된다. 이 경우 range low $65,359.10 아래에서 bearish acceptance가 발생하며, $66,150.70 이전일 저점은 저항으로 전환될 수 있고 추가 하락 확률이 높아진다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 0,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 1,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 68,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 117875.2
          },
          {
            "type": "CHoCH_bearish",
            "level": 108566.0
          },
          {
            "type": "BOS_bearish",
            "level": 101516.5
          },
          {
            "type": "BOS_bullish",
            "level": 94555.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 84408.6
          },
          {
            "type": "BOS_bullish",
            "level": 75998.9
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish"
        ],
        "consecutive_bull_bos": 1,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "SSL",
            "level": 65138.65
          }
        ],
        "current_zone": "discount",
        "eq_level": 74093.9,
        "range_high": 82828.7,
        "range_low": 65359.1,
        "bull_score": 9.0,
        "bear_score": 8.2,
        "setup_bias": "bullish",
        "setup_score": 0.758,
        "setup_signals": [
          "bullish BOS above $117,875.20",
          "bullish BOS above $94,555.00",
          "bullish BOS above $75,998.90",
          "deep retracement 93.1% in discount zone"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 93.1,
        "deepest_retracement_pct": 93.1,
        "previous_day_high": 71397.0,
        "previous_day_low": 66150.7,
        "broken_prev_high": false,
        "broken_prev_low": true,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.758,\n  \"setup_signals\": [\n    \"현재가 $67,186.80는 EQ $74,093.90 아래의 discount 구간에 위치\",\n    \"현재 되돌림이 93.1%로 range low $65,359.10 근처까지 깊게 진행되어 bullish mean reversion 후보\",\n    \"이전일 저점 $66,150.70을 하향 이탈한 뒤 현재 $67,186.80로 회복하여 단기 sell-side liquidity raid 가능성\",\n    \"하단에 resting SSL $65,138.65가 남아 있어 최종 유동성 청산 후 반등 시나리오 유효\",\n    \"최근 확정 구조 이벤트가 BOS_bullish @ $75,998.90로 기록되어 있으나, 현재 가격은 그 아래에서 재확인 대기\"\n  ],\n  \"reasoning\": \"확정 구조 기준으로는 최근 BOS/CHoCH 시퀀스의 마지막 이벤트가 BOS_bullish @ $75,998.90이므로 structure_bias는 아직 bullish로 해석한다. 다만 현재가 $67,186.80는 EQ $74,093.90, EMA20 $74,090.57, EMA120 $76,916.67 아래에 있어 구조적 강세가 즉시 재개되었다기보다는 깊은 discount 되돌림 국면이다. setup 관점에서는 이전일 저점 $66,150.70이 깨졌고 현재가가 그 위로 회복한 상태라 sell-side liquidity를 유도한 뒤 반등을 시도하는 bullish pre-confirmation setup으로 본다. 단, 활성 OB와 미체결 FVG가 모두 0개이고 recent_liq_sweeps도 비어 있어 기관 주문흐름 근거는 중간 수준이며, $65,138.65 SSL이 하향 제거되면 bullish setup은 무효화된다.\",\n  \"key_levels\": {\n    \"support\": [\n      66150.7,\n      65359.1,\n      65138.65\n    ],\n    \"resistance\": [\n      71397.0,\n      74090.57,\n      74093.9,\n      75998.9,\n      76916.67,\n      82828.7\n    ]\n  },\n  \"time_horizon\": \"단기~중기\",\n  \"invalidation_level\": \"$65,138.65\",\n  \"risk_scenario\": \"$65,138.65의 sell-side liquidity가 하향 돌파된 뒤 빠르게 회복하지 못하면 현재 discount 반등 셋업은 실패로 간주된다. 이 경우 range low $65,359.10 아래에서 bearish acceptance가 발생하며, $66,150.70 이전일 저점은 저항으로 전환될 수 있고 추가 하락 확률이 높아진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.42,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.46,
      "setup_signals": [
        "활성 고컨플루언스 bullish Gartley PRZ 진입/접촉 구간: $65,999.53-$67,113.44, 현재가 $67,186.80은 PRZ 상단 바로 위",
        "최우수 패턴은 strict/high Gartley, score 0.940, ratio_score 0.970, PRZ_score 1.000",
        "PRZ 컨플루언스 3개 Fib family 동시 충족: ABCD + BC_EXT + XAD",
        "예상 D 가격 $66,556.49 부근에서 bullish 반응 후보이나, 아직 PRZ 반응 confirmation은 없음",
        "단기 반등 TP 후보: $67,871.53, $68,683.96, $69,999.00"
      ],
      "reasoning": "일봉 구조 측면에서는 현재가 $67,186.80이 EMA20 $74,090.57, EMA120 $76,916.67, EMA240 $83,749.78 아래에 있으며 최근 -6.5% 급락 캔들이 포함되어 있어 확인된 구조_bias는 bearish로 본다. 다만 실행 setup은 bullish 쪽으로 기울어 있는데, strict/high bullish Gartley가 $65,999.53-$67,113.44의 활성 PRZ를 형성했고 D 예상가 $66,556.49가 현재가와 매우 근접해 있다. 이 PRZ는 ABCD, BC extension, XAD가 모두 겹친 3중 Fib 컨플루언스이며 패턴 점수 0.940으로 품질은 높다. 그러나 confirmed_reaction_prz_count가 0이고 해당 Gartley의 harmonic_vote_state도 pre_confirmation_reversal_candidate이므로, 아직 메인 경로를 bullish로 뒤집을 수 없으며 중립 신호와 반등 관찰 구간으로 제한한다.",
      "key_levels": {
        "support": [
          67113.44,
          66556.49,
          65999.53,
          65595.7,
          65359.1
        ],
        "resistance": [
          67871.53,
          68683.96,
          69999.0,
          74090.57,
          74565.3
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$65,595.70",
      "risk_scenario": "반대로 bullish PRZ가 방어되지 못하고 $65,595.70의 X 가격 아래로 일봉 수용이 발생하면 Gartley 반전 논리는 실패하며, $65,359.10의 7일 저점 재시험 및 그 아래 유동성 확장 하락이 열릴 수 있다. 반면 $67,113.44 위를 회복한 뒤 $67,871.53과 $68,683.96을 순차 돌파하면 PRZ 반응이 확인되며 $69,999.00까지의 harmonic TP ladder가 활성화될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 261,
        "completed_patterns_found": 97,
        "forming_d_prz_found": 164,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 59,
        "swing_highs_scanned": 30,
        "swing_lows_scanned": 29,
        "timeframe": "1d",
        "prz_active_threshold_pct": 1.0,
        "prz_nearby_threshold_pct": 2.0,
        "prz_watch_threshold_pct": 4.0,
        "prz_max_width_pct": 1.8,
        "quality_counts": {
          "high": 3,
          "medium": 71,
          "low": 187
        },
        "prz_status_counts": {
          "active": 23,
          "nearby": 8,
          "watch": 27,
          "far": 203,
          "forming": 130
        },
        "high_confluence_prz_count": 21,
        "strict_patterns_found": 69,
        "candidate_patterns_found": 192,
        "active_patterns_at_prz": 23,
        "nearby_patterns": 8,
        "all_patterns": [
          "gartley",
          "bat",
          "shark",
          "bat",
          "butterfly",
          "bat",
          "crab",
          "butterfly",
          "gartley",
          "butterfly",
          "gartley",
          "gartley",
          "butterfly",
          "butterfly",
          "shark",
          "bat",
          "butterfly",
          "gartley",
          "shark",
          "crab",
          "gartley",
          "shark",
          "bat",
          "bat",
          "crab",
          "bat",
          "bat",
          "bat",
          "bat",
          "bat",
          "crab",
          "crab",
          "crab",
          "crab",
          "shark",
          "bat",
          "bat",
          "crab",
          "shark",
          "gartley",
          "crab",
          "shark",
          "shark",
          "shark",
          "butterfly",
          "shark",
          "gartley",
          "shark",
          "bat",
          "gartley",
          "bat",
          "crab",
          "butterfly",
          "butterfly",
          "bat",
          "butterfly",
          "bat",
          "shark",
          "bat",
          "butterfly",
          "bat",
          "bat",
          "crab",
          "shark",
          "bat",
          "crab",
          "gartley",
          "crab",
          "shark",
          "crab",
          "shark",
          "butterfly",
          "bat",
          "crab",
          "shark",
          "crab",
          "gartley",
          "bat",
          "butterfly",
          "butterfly",
          "gartley",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "butterfly",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "bat",
          "bat",
          "gartley",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "bat",
          "crab",
          "gartley",
          "shark",
          "shark",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "butterfly",
          "crab",
          "gartley",
          "shark",
          "crab",
          "shark",
          "shark",
          "gartley",
          "shark",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "bat",
          "bat",
          "bat",
          "bat",
          "shark",
          "bat",
          "bat",
          "crab",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "bat",
          "crab",
          "butterfly",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "crab",
          "crab",
          "shark",
          "bat",
          "bat",
          "butterfly",
          "gartley",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "bat",
          "shark",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "shark",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "gartley",
          "bat",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "bat",
          "bat",
          "bat",
          "crab",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "bat",
          "butterfly",
          "bat",
          "bat",
          "butterfly",
          "shark",
          "crab",
          "butterfly",
          "shark",
          "bat",
          "bat",
          "butterfly",
          "bat",
          "shark",
          "butterfly",
          "butterfly",
          "gartley",
          "gartley",
          "bat",
          "shark",
          "shark",
          "bat",
          "bat",
          "crab",
          "crab",
          "bat",
          "gartley",
          "shark",
          "crab",
          "butterfly",
          "butterfly",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "crab",
          "shark",
          "bat",
          "gartley",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "crab",
          "bat",
          "bat",
          "butterfly",
          "gartley",
          "butterfly",
          "gartley",
          "shark",
          "shark",
          "crab",
          "bat",
          "shark",
          "shark",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "shark",
          "bat",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "gartley",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.94,
        "best_completion_status": "forming",
        "nearest_pattern": "shark",
        "nearest_prz": 67139.89,
        "price_to_prz": -0.07,
        "prz_range": [
          66685.67,
          67594.11
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.94,
            "ratio_score": 0.97,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 66556.49,
            "prz_range": [
              65999.53,
              67113.44
            ],
            "prz_width_pct": 1.674,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.94,
            "price_to_prz_pct_raw": -0.9381,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 66556.49,
              "a_price": 69999.0,
              "tp1_ad_382": 67871.53,
              "tp2_ad_618": 68683.96,
              "tp3_a_or_structure_liquidity": 69999.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6129,
              "ABC": 0.7366
            },
            "x_price": 65595.7,
            "x_idx": 195,
            "x_order": 3,
            "a_price": 69999.0,
            "a_idx": 201,
            "a_order": 3,
            "b_price": 67300.0,
            "b_idx": 226,
            "b_order": 3,
            "c_price": 69288.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.886,
            "ratio_score": 0.979,
            "prz_score": 0.861,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 68541.75,
            "prz_range": [
              67557.47,
              69526.03
            ],
            "prz_width_pct": 2.872,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.02,
            "price_to_prz_pct_raw": 2.0167,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 68541.75,
              "a_price": 82828.7,
              "tp1_ad_382": 73999.36,
              "tp2_ad_618": 77371.08,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5028,
              "ABC": 0.4491
            },
            "x_price": 65676.1,
            "x_idx": 237,
            "x_order": 3,
            "a_price": 82828.7,
            "a_idx": 271,
            "a_order": 8,
            "b_price": 74203.6,
            "b_idx": 288,
            "b_order": 3,
            "c_price": 78077.1,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.838,
            "ratio_score": 0.994,
            "prz_score": 0.882,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 70638.85,
            "prz_range": [
              69681.26,
              71596.44
            ],
            "prz_width_pct": 2.711,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 5.14,
            "price_to_prz_pct_raw": 5.138,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 70638.85,
              "a_price": 64918.2,
              "tp1_ad_382": 68453.56,
              "tp2_ad_618": 67103.49,
              "tp3_a_or_structure_liquidity": 64918.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6171,
              "ABC": 0.8266
            },
            "x_price": 71999.9,
            "x_idx": 229,
            "x_order": 5,
            "a_price": 64918.2,
            "a_idx": 233,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 236,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 237,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.794,
            "ratio_score": 0.766,
            "prz_score": 0.922,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 69629.3,
            "prz_range": [
              68792.11,
              70466.5
            ],
            "prz_width_pct": 2.405,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.64,
            "price_to_prz_pct_raw": 3.6354,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 69629.3,
              "a_price": 65595.7,
              "tp1_ad_382": 68088.47,
              "tp2_ad_618": 67136.54,
              "tp3_a_or_structure_liquidity": 65595.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5786,
              "ABC": 0.4487
            },
            "x_price": 70938.5,
            "x_idx": 191,
            "x_order": 5,
            "a_price": 65595.7,
            "a_idx": 195,
            "a_order": 3,
            "b_price": 68687.0,
            "b_idx": 197,
            "b_order": 3,
            "c_price": 67300.0,
            "c_idx": 226,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.716,
            "ratio_score": 0.663,
            "prz_score": 0.922,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 69288.0,
            "prz_range": [
              68792.11,
              70466.5
            ],
            "prz_width_pct": 2.405,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.64,
            "price_to_prz_pct_raw": 3.6354,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.978,
                "adverse_move_ratio_ad": 1.512,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 69629.3,
              "a_price": 65595.7,
              "tp1_ad_382": 68088.47,
              "tp2_ad_618": 67136.54,
              "tp3_a_or_structure_liquidity": 65595.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5786,
              "ABC": 0.4487,
              "BCD": 1.4333,
              "XAD": 0.6911
            },
            "x_price": 70938.5,
            "x_idx": 191,
            "x_order": 5,
            "a_price": 65595.7,
            "a_idx": 195,
            "a_order": 3,
            "b_price": 68687.0,
            "b_idx": 197,
            "b_order": 3,
            "c_price": 67300.0,
            "c_idx": 226,
            "c_order": 3,
            "d_idx": 236
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.671,
            "ratio_score": 0.452,
            "prz_score": 0.939,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 65676.1,
            "prz_range": [
              65604.43,
              67113.23
            ],
            "prz_width_pct": 2.274,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.23,
            "price_to_prz_pct_raw": -1.2323,
            "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",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 2.39,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 66358.83,
              "a_price": 69999.0,
              "tp1_ad_382": 67749.37,
              "tp2_ad_618": 68608.46,
              "tp3_a_or_structure_liquidity": 69999.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6129,
              "ABC": 0.7366,
              "BCD": 1.8169,
              "XAD": 0.9817
            },
            "x_price": 65595.7,
            "x_idx": 195,
            "x_order": 3,
            "a_price": 69999.0,
            "a_idx": 201,
            "a_order": 3,
            "b_price": 67300.0,
            "b_idx": 226,
            "b_order": 3,
            "c_price": 69288.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": 237
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.865,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 67139.89,
            "prz_range": [
              66685.67,
              67594.11
            ],
            "prz_width_pct": 1.353,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": -0.07,
            "price_to_prz_pct_raw": -0.0698,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 67139.89,
              "a_price": 74046.5,
              "tp1_ad_382": 69778.22,
              "tp2_ad_618": 71408.18,
              "tp3_a_or_structure_liquidity": 74046.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.595,
              "ABC": 1.2303
            },
            "x_price": 59800.0,
            "x_idx": 182,
            "x_order": 8,
            "a_price": 74046.5,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 65569.2,
            "b_idx": 212,
            "b_order": 5,
            "c_price": 75998.9,
            "c_idx": 221,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.854,
            "ratio_score": 0.992,
            "prz_score": 0.783,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 67591.59,
            "prz_range": [
              67173.9,
              68009.28
            ],
            "prz_width_pct": 1.236,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.6,
            "price_to_prz_pct_raw": 0.6025,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 67591.59,
              "a_price": 79455.0,
              "tp1_ad_382": 72123.41,
              "tp2_ad_618": 74923.18,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3811,
              "ABC": 0.7376
            },
            "x_price": 65676.1,
            "x_idx": 237,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 262,
            "a_order": 5,
            "b_price": 74203.6,
            "b_idx": 288,
            "b_order": 3,
            "c_price": 78077.1,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.94,
            "ratio_score": 0.97,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 66556.49,
            "prz_range": [
              65999.53,
              67113.44
            ],
            "prz_width_pct": 1.674,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.94,
            "price_to_prz_pct_raw": -0.9381,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 66556.49,
              "a_price": 69999.0,
              "tp1_ad_382": 67871.53,
              "tp2_ad_618": 68683.96,
              "tp3_a_or_structure_liquidity": 69999.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6129,
              "ABC": 0.7366
            },
            "x_price": 65595.7,
            "x_idx": 195,
            "x_order": 3,
            "a_price": 69999.0,
            "a_idx": 201,
            "a_order": 3,
            "b_price": 67300.0,
            "b_idx": 226,
            "b_order": 3,
            "c_price": 69288.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.94,
            "ratio_score": 0.97,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 66556.49,
            "prz_range": [
              65999.53,
              67113.44
            ],
            "prz_width_pct": 1.674,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.94,
            "price_to_prz_pct_raw": -0.9381,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 66556.49,
              "a_price": 69999.0,
              "tp1_ad_382": 67871.53,
              "tp2_ad_618": 68683.96,
              "tp3_a_or_structure_liquidity": 69999.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6129,
              "ABC": 0.7366
            },
            "x_price": 65595.7,
            "x_idx": 195,
            "x_order": 3,
            "a_price": 69999.0,
            "a_idx": 201,
            "a_order": 3,
            "b_price": 67300.0,
            "b_idx": 226,
            "b_order": 3,
            "c_price": 69288.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.886,
            "ratio_score": 0.979,
            "prz_score": 0.861,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 68541.75,
            "prz_range": [
              67557.47,
              69526.03
            ],
            "prz_width_pct": 2.872,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.02,
            "price_to_prz_pct_raw": 2.0167,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 68541.75,
              "a_price": 82828.7,
              "tp1_ad_382": 73999.36,
              "tp2_ad_618": 77371.08,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5028,
              "ABC": 0.4491
            },
            "x_price": 65676.1,
            "x_idx": 237,
            "x_order": 3,
            "a_price": 82828.7,
            "a_idx": 271,
            "a_order": 8,
            "b_price": 74203.6,
            "b_idx": 288,
            "b_order": 3,
            "c_price": 78077.1,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.838,
            "ratio_score": 0.994,
            "prz_score": 0.882,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 70638.85,
            "prz_range": [
              69681.26,
              71596.44
            ],
            "prz_width_pct": 2.711,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 5.14,
            "price_to_prz_pct_raw": 5.138,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 70638.85,
              "a_price": 64918.2,
              "tp1_ad_382": 68453.56,
              "tp2_ad_618": 67103.49,
              "tp3_a_or_structure_liquidity": 64918.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6171,
              "ABC": 0.8266
            },
            "x_price": 71999.9,
            "x_idx": 229,
            "x_order": 5,
            "a_price": 64918.2,
            "a_idx": 233,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 236,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 237,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.794,
            "ratio_score": 0.766,
            "prz_score": 0.922,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 69629.3,
            "prz_range": [
              68792.11,
              70466.5
            ],
            "prz_width_pct": 2.405,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.64,
            "price_to_prz_pct_raw": 3.6354,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 69629.3,
              "a_price": 65595.7,
              "tp1_ad_382": 68088.47,
              "tp2_ad_618": 67136.54,
              "tp3_a_or_structure_liquidity": 65595.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5786,
              "ABC": 0.4487
            },
            "x_price": 70938.5,
            "x_idx": 191,
            "x_order": 5,
            "a_price": 65595.7,
            "a_idx": 195,
            "a_order": 3,
            "b_price": 68687.0,
            "b_idx": 197,
            "b_order": 3,
            "c_price": 67300.0,
            "c_idx": 226,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.716,
            "ratio_score": 0.663,
            "prz_score": 0.922,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 69288.0,
            "prz_range": [
              68792.11,
              70466.5
            ],
            "prz_width_pct": 2.405,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 3.64,
            "price_to_prz_pct_raw": 3.6354,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.978,
                "adverse_move_ratio_ad": 1.512,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 69629.3,
              "a_price": 65595.7,
              "tp1_ad_382": 68088.47,
              "tp2_ad_618": 67136.54,
              "tp3_a_or_structure_liquidity": 65595.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5786,
              "ABC": 0.4487,
              "BCD": 1.4333,
              "XAD": 0.6911
            },
            "x_price": 70938.5,
            "x_idx": 191,
            "x_order": 5,
            "a_price": 65595.7,
            "a_idx": 195,
            "a_order": 3,
            "b_price": 68687.0,
            "b_idx": 197,
            "b_order": 3,
            "c_price": 67300.0,
            "c_idx": 226,
            "c_order": 3,
            "d_idx": 236
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.671,
            "ratio_score": 0.452,
            "prz_score": 0.939,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 65676.1,
            "prz_range": [
              65604.43,
              67113.23
            ],
            "prz_width_pct": 2.274,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.23,
            "price_to_prz_pct_raw": -1.2323,
            "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",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 2.39,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 66358.83,
              "a_price": 69999.0,
              "tp1_ad_382": 67749.37,
              "tp2_ad_618": 68608.46,
              "tp3_a_or_structure_liquidity": 69999.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6129,
              "ABC": 0.7366,
              "BCD": 1.8169,
              "XAD": 0.9817
            },
            "x_price": 65595.7,
            "x_idx": 195,
            "x_order": 3,
            "a_price": 69999.0,
            "a_idx": 201,
            "a_order": 3,
            "b_price": 67300.0,
            "b_idx": 226,
            "b_order": 3,
            "c_price": 69288.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": 237
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.865,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 67139.89,
            "prz_range": [
              66685.67,
              67594.11
            ],
            "prz_width_pct": 1.353,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": -0.07,
            "price_to_prz_pct_raw": -0.0698,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 67139.89,
              "a_price": 74046.5,
              "tp1_ad_382": 69778.22,
              "tp2_ad_618": 71408.18,
              "tp3_a_or_structure_liquidity": 74046.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.595,
              "ABC": 1.2303
            },
            "x_price": 59800.0,
            "x_idx": 182,
            "x_order": 8,
            "a_price": 74046.5,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 65569.2,
            "b_idx": 212,
            "b_order": 5,
            "c_price": 75998.9,
            "c_idx": 221,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.854,
            "ratio_score": 0.992,
            "prz_score": 0.783,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 67591.59,
            "prz_range": [
              67173.9,
              68009.28
            ],
            "prz_width_pct": 1.236,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.6,
            "price_to_prz_pct_raw": 0.6025,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 67591.59,
              "a_price": 79455.0,
              "tp1_ad_382": 72123.41,
              "tp2_ad_618": 74923.18,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3811,
              "ABC": 0.7376
            },
            "x_price": 65676.1,
            "x_idx": 237,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 262,
            "a_order": 5,
            "b_price": 74203.6,
            "b_idx": 288,
            "b_order": 3,
            "c_price": 78077.1,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.85,
            "ratio_score": 1.0,
            "prz_score": 0.732,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 68206.0,
            "prz_range": [
              66886.33,
              69525.66
            ],
            "prz_width_pct": 3.87,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.52,
            "price_to_prz_pct_raw": 1.517,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 68206.0,
              "a_price": 82828.7,
              "tp1_ad_382": 73791.87,
              "tp2_ad_618": 77242.83,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4816,
              "ABC": 0.4491
            },
            "x_price": 64918.2,
            "x_idx": 233,
            "x_order": 8,
            "a_price": 82828.7,
            "a_idx": 271,
            "a_order": 8,
            "b_price": 74203.6,
            "b_idx": 288,
            "b_order": 3,
            "c_price": 78077.1,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.828,
            "ratio_score": 0.95,
            "prz_score": 0.752,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 65542.24,
            "prz_range": [
              64324.68,
              66759.8
            ],
            "prz_width_pct": 3.715,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.45,
            "price_to_prz_pct_raw": -2.4477,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 65542.24,
              "a_price": 74046.5,
              "tp1_ad_382": 68790.87,
              "tp2_ad_618": 70797.87,
              "tp3_a_or_structure_liquidity": 74046.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6096,
              "ABC": 0.6966
            },
            "x_price": 62979.5,
            "x_idx": 204,
            "x_order": 3,
            "a_price": 74046.5,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 67300.0,
            "b_idx": 226,
            "b_order": 3,
            "c_price": 71999.9,
            "c_idx": 229,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.815,
            "ratio_score": 1.0,
            "prz_score": 0.678,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 66547.42,
            "prz_range": [
              65121.96,
              67972.87
            ],
            "prz_width_pct": 4.284,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.95,
            "price_to_prz_pct_raw": -0.9517,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 66547.42,
              "a_price": 68687.0,
              "tp1_ad_382": 67364.74,
              "tp2_ad_618": 67869.68,
              "tp3_a_or_structure_liquidity": 68687.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4487,
              "ABC": 1.4333
            },
            "x_price": 65595.7,
            "x_idx": 195,
            "x_order": 3,
            "a_price": 68687.0,
            "a_idx": 197,
            "a_order": 3,
            "b_price": 67300.0,
            "b_idx": 226,
            "b_order": 3,
            "c_price": 69288.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.81,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 64824.43,
            "prz_range": [
              64325.45,
              65323.41
            ],
            "prz_width_pct": 1.539,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": -3.52,
            "price_to_prz_pct_raw": -3.5161,
            "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": 64824.43,
              "a_price": 74046.5,
              "tp1_ad_382": 68347.26,
              "tp2_ad_618": 70523.67,
              "tp3_a_or_structure_liquidity": 74046.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4736,
              "ABC": 0.6966
            },
            "x_price": 59800.0,
            "x_idx": 182,
            "x_order": 8,
            "a_price": 74046.5,
            "a_idx": 208,
            "a_order": 8,
            "b_price": 67300.0,
            "b_idx": 226,
            "b_order": 3,
            "c_price": 71999.9,
            "c_idx": 229,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.94,
            "prz_proximity": "active",
            "prz_range": [
              65999.53,
              67113.44
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.94,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 66556.49,
              "a_price": 69999.0,
              "tp1_ad_382": 67871.53,
              "tp2_ad_618": 68683.96,
              "tp3_a_or_structure_liquidity": 69999.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $65,999.53-$67,113.44: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.94,
          "ratio_score": 0.97,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 66556.49,
          "prz_range": [
            65999.53,
            67113.44
          ],
          "prz_width_pct": 1.674,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.94,
          "price_to_prz_pct_raw": -0.9381,
          "harmonic_vote_state": {
            "authority": "pre_confirmation_reversal_candidate",
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "confirmation_reasons": [],
            "reaction_score": 0.0,
            "reaction_detail": {
              "reaction_score": 0.0,
              "reasons": []
            },
            "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
            "standalone_path_override_allowed": false
          },
          "directional_vote_weight": 0.35,
          "confirmed_reaction": false,
          "standalone_path_override_allowed": false,
          "tp_ladder": {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 66556.49,
            "a_price": 69999.0,
            "tp1_ad_382": 67871.53,
            "tp2_ad_618": 68683.96,
            "tp3_a_or_structure_liquidity": 69999.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.6129,
            "ABC": 0.7366
          },
          "x_price": 65595.7,
          "x_idx": 195,
          "x_order": 3,
          "a_price": 69999.0,
          "a_idx": 201,
          "a_order": 3,
          "b_price": 67300.0,
          "b_idx": 226,
          "b_order": 3,
          "c_price": 69288.0,
          "c_idx": 236,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 66556.49,
          "a_price": 69999.0,
          "tp1_ad_382": 67871.53,
          "tp2_ad_618": 68683.96,
          "tp3_a_or_structure_liquidity": 69999.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 66556.49,
            "a_price": 69999.0,
            "tp1_ad_382": 67871.53,
            "tp2_ad_618": 68683.96,
            "tp3_a_or_structure_liquidity": 69999.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 0.199,
          "bearish": 0
        },
        "directional_score_total": 0.199,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.42,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.46,\n  \"setup_signals\": [\n    \"활성 고컨플루언스 bullish Gartley PRZ 진입/접촉 구간: $65,999.53-$67,113.44, 현재가 $67,186.80은 PRZ 상단 바로 위\",\n    \"최우수 패턴은 strict/high Gartley, score 0.940, ratio_score 0.970, PRZ_score 1.000\",\n    \"PRZ 컨플루언스 3개 Fib family 동시 충족: ABCD + BC_EXT + XAD\",\n    \"예상 D 가격 $66,556.49 부근에서 bullish 반응 후보이나, 아직 PRZ 반응 confirmation은 없음\",\n    \"단기 반등 TP 후보: $67,871.53, $68,683.96, $69,999.00\"\n  ],\n  \"reasoning\": \"일봉 구조 측면에서는 현재가 $67,186.80이 EMA20 $74,090.57, EMA120 $76,916.67, EMA240 $83,749.78 아래에 있으며 최근 -6.5% 급락 캔들이 포함되어 있어 확인된 구조_bias는 bearish로 본다. 다만 실행 setup은 bullish 쪽으로 기울어 있는데, strict/high bullish Gartley가 $65,999.53-$67,113.44의 활성 PRZ를 형성했고 D 예상가 $66,556.49가 현재가와 매우 근접해 있다. 이 PRZ는 ABCD, BC extension, XAD가 모두 겹친 3중 Fib 컨플루언스이며 패턴 점수 0.940으로 품질은 높다. 그러나 confirmed_reaction_prz_count가 0이고 해당 Gartley의 harmonic_vote_state도 pre_confirmation_reversal_candidate이므로, 아직 메인 경로를 bullish로 뒤집을 수 없으며 중립 신호와 반등 관찰 구간으로 제한한다.\",\n  \"key_levels\": {\n    \"support\": [\n      67113.44,\n      66556.49,\n      65999.53,\n      65595.7,\n      65359.1\n    ],\n    \"resistance\": [\n      67871.53,\n      68683.96,\n      69999.0,\n      74090.57,\n      74565.3\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$65,595.70\",\n  \"risk_scenario\": \"반대로 bullish PRZ가 방어되지 못하고 $65,595.70의 X 가격 아래로 일봉 수용이 발생하면 Gartley 반전 논리는 실패하며, $65,359.10의 7일 저점 재시험 및 그 아래 유동성 확장 하락이 열릴 수 있다. 반면 $67,113.44 위를 회복한 뒤 $67,871.53과 $68,683.96을 순차 돌파하면 PRZ 반응이 확인되며 $69,999.00까지의 harmonic TP ladder가 활성화될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.67,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.74,
      "setup_signals": [
        "현재가 $67,186.80는 7일 범위 EQ 약 $69,962.20 아래의 discount 구간에 있지만, 반등 참여가 약함",
        "가격은 24시간 +0.68% 반등했으나 CVD 변화가 -465.9780으로 매수 체결 누적이 따라오지 않는 약세 다이버전스",
        "OI가 24시간 +2.0830% 증가하여 신규 포지션 유입이 확인되지만, 롱 계정 비율이 0.694까지 상승해 롱 쏠림이 심화됨",
        "long_account_crowding이 1.000으로 극단적 롱 혼잡 상태이며, long_account_change_24h +0.017 / short_account_change_24h -0.0169로 롱 증가·숏 감소 흐름",
        "현물-선물 basis가 -0.0613%로 음수이며, basis_change_lookback -0.0044로 선물 수요가 강하지 않음",
        "상단 $72,900에 가장 강한 청산 유동성이 있으나, $72,900~$74,090 EMA20 회복 전까지는 숏 스퀴즈보다 반등 매도 구간으로 해석"
      ],
      "reasoning": "확인된 구조는 약세다. 현재가 $67,186.80는 EMA20 $74,090.57보다 9.3%, EMA120 $76,916.67보다 12.6%, EMA240 $83,749.78보다 19.8% 낮아 중기 구조적 하락 압력이 유지되고 있다. 파생 포지셔닝은 OI가 24시간 +2.0830% 증가하는 가운데 CVD가 -465.9780으로 악화되어, 신규 포지션 유입이 가격 상승을 지지하지 못하는 형태다. 특히 롱 계정 비율이 0.694까지 상승했고 account_long_crowding이 1.000이므로, 현재 반등은 과밀 롱의 취약한 반등일 가능성이 높다. 단기적으로 $65,359.10 7일 저점 이탈 시 $60,100 하단 청산 유동성까지 확장될 수 있으며, 반대로 $72,900 강한 상단 청산 레벨을 회복하면 약세 시나리오는 약화된다.",
      "key_levels": {
        "support": [
          65359.1,
          60100
        ],
        "resistance": [
          69962.2,
          72900,
          73400,
          73900,
          74090.57,
          74565.3
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$72,900",
      "risk_scenario": "$72,900 상단 청산 클러스터가 강하게 돌파되고 가격이 EMA20 $74,090.57 부근까지 수용되면, 현재의 롱 과밀은 오히려 숏 커버링과 추격 매수로 전환될 수 있다. 이 경우 $73,400~$73,900 추가 청산 레벨을 연속적으로 흡수하며 $74,565.30 7일 고점 재시험이 가능하다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -465.978,
        "oi_trend": 0.708,
        "oi_change_pct_24h": 2.083,
        "oi_latest": 107552.946,
        "funding_pressure": 0.421,
        "funding_avg": 7.875e-05,
        "funding_change_24h": -2.835e-05,
        "long_account_ratio": 0.685,
        "short_account_ratio": 0.315,
        "long_account_latest": 0.694,
        "short_account_latest": 0.306,
        "long_account_change_24h": 0.0169,
        "short_account_change_24h": -0.0169,
        "account_flow_label": "long_accounts_rising_short_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.485,
        "spot_futures_basis_pct": -0.0613,
        "basis_change_lookback": -0.0044,
        "aggregate_score": 0.383,
        "bull_signals": 1,
        "bear_signals": 3,
        "liq_below": [
          [
            60100,
            85375.40493
          ]
        ],
        "liq_above": [
          [
            72900,
            105503.55857605
          ],
          [
            73400,
            85375.40493
          ],
          [
            73900,
            85019.744923
          ]
        ],
        "strongest_liq_level": 72900,
        "fragility_score": 0.707,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.67,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.74,\n  \"setup_signals\": [\n    \"현재가 $67,186.80는 7일 범위 EQ 약 $69,962.20 아래의 discount 구간에 있지만, 반등 참여가 약함\",\n    \"가격은 24시간 +0.68% 반등했으나 CVD 변화가 -465.9780으로 매수 체결 누적이 따라오지 않는 약세 다이버전스\",\n    \"OI가 24시간 +2.0830% 증가하여 신규 포지션 유입이 확인되지만, 롱 계정 비율이 0.694까지 상승해 롱 쏠림이 심화됨\",\n    \"long_account_crowding이 1.000으로 극단적 롱 혼잡 상태이며, long_account_change_24h +0.017 / short_account_change_24h -0.0169로 롱 증가·숏 감소 흐름\",\n    \"현물-선물 basis가 -0.0613%로 음수이며, basis_change_lookback -0.0044로 선물 수요가 강하지 않음\",\n    \"상단 $72,900에 가장 강한 청산 유동성이 있으나, $72,900~$74,090 EMA20 회복 전까지는 숏 스퀴즈보다 반등 매도 구간으로 해석\"\n  ],\n  \"reasoning\": \"확인된 구조는 약세다. 현재가 $67,186.80는 EMA20 $74,090.57보다 9.3%, EMA120 $76,916.67보다 12.6%, EMA240 $83,749.78보다 19.8% 낮아 중기 구조적 하락 압력이 유지되고 있다. 파생 포지셔닝은 OI가 24시간 +2.0830% 증가하는 가운데 CVD가 -465.9780으로 악화되어, 신규 포지션 유입이 가격 상승을 지지하지 못하는 형태다. 특히 롱 계정 비율이 0.694까지 상승했고 account_long_crowding이 1.000이므로, 현재 반등은 과밀 롱의 취약한 반등일 가능성이 높다. 단기적으로 $65,359.10 7일 저점 이탈 시 $60,100 하단 청산 유동성까지 확장될 수 있으며, 반대로 $72,900 강한 상단 청산 레벨을 회복하면 약세 시나리오는 약화된다.\",\n  \"key_levels\": {\n    \"support\": [\n      65359.1,\n      60100\n    ],\n    \"resistance\": [\n      69962.2,\n      72900,\n      73400,\n      73900,\n      74090.57,\n      74565.3\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$72,900\",\n  \"risk_scenario\": \"$72,900 상단 청산 클러스터가 강하게 돌파되고 가격이 EMA20 $74,090.57 부근까지 수용되면, 현재의 롱 과밀은 오히려 숏 커버링과 추격 매수로 전환될 수 있다. 이 경우 $73,400~$73,900 추가 청산 레벨을 연속적으로 흡수하며 $74,565.30 7일 고점 재시험이 가능하다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "neutral",
      "confidence": 0.64,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "SOS $82,828.70 이후 후속 LPS 확인 없이 현재가 $67,186.80까지 되돌림",
        "TERMINAL_SPRING 기준 $74,868.00 하방 이탈로 단기 수요 테스트 실패",
        "주요 ACC 기준 저점/SC $80,600.00 아래에 위치하여 기존 박스 하단 회복 전까지 즉시 강세 확인 불가",
        "현재가가 Spring $65,595.70 근처까지 재접근하여 재테스트/셰이크아웃 위험 구간",
        "EMA20 $74,090.57 및 EMA120 $76,916.67 아래에서 거래되어 단기 반등 수용보다 공급 우위가 먼저 관찰됨"
      ],
      "reasoning": "1일 구조는 regime=ACC, regime_state=confirmed_acc, acc_score 92.5 및 Phase D로 분류되어 구조적 해석은 여전히 축적 우위의 bullish이다. 다만 이벤트 체인은 SC $80,600 → AR $93,080 → ST $84,408.60 → Spring $65,595.70 → TERMINAL_SPRING $74,868 → SOS $82,828.70까지 확인됐지만, 현재가 $67,186.80은 SOS 이후 LPS로 안정화되기보다 Spring 저점 부근을 다시 테스트하고 있다. 특히 $74,868 및 $80,600 회복 전에는 Phase D의 강세 지속보다 Spring $65,595.70 재검증이 우선인 즉시 경로로 보인다. 따라서 structure_bias는 bullish로 유지하되, setup_bias는 단기적으로 bearish이며 전체 신호는 확인 대기 성격의 neutral로 판단한다.",
      "key_levels": {
        "support": [
          65595.7,
          65359.1
        ],
        "resistance": [
          74868.0,
          80600.0,
          82828.7,
          84408.6,
          93080.0
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$65,595.70 일봉 종가 이탈",
      "risk_scenario": "$65,595.70 Spring 저점이 일봉 기준으로 이탈되면 confirmed_acc Phase D 해석은 크게 훼손되며, $65,359.10 7일 저점 아래 유동성 흡수 실패와 함께 축적 구조가 재평가될 수 있다. 반대로 가격이 $74,868.00을 회복하고 $80,600.00 위에서 수용되면 현재 약세 setup은 무효화되고 SOS 이후 LPS 형성 가능성이 다시 높아진다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 92.5,
        "dis_score": 80.6,
        "regime": "ACC",
        "regime_state": "confirmed_acc",
        "structure_bias": "bullish",
        "phase_context": "confirmed_acc / accumulation / Phase D",
        "phases_detected": [
          "SC",
          "AR",
          "ST",
          "Spring",
          "TERMINAL_SPRING",
          "SOS"
        ],
        "last_phase": "SOS",
        "phase_candidates": [
          {
            "label": "SC",
            "side": "low",
            "idx": 105,
            "price": 80600.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 112,
            "price": 93080.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 132,
            "price": 84408.6,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 195,
            "price": 65595.7,
            "color": "#f9844a"
          },
          {
            "label": "TERMINAL_SPRING",
            "side": "low",
            "idx": 264,
            "price": 74868.0,
            "color": "#f3722c"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 271,
            "price": 82828.7,
            "color": "#06d6a0"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "1d_cycle_1",
            "sequence": 1,
            "timeframe": "1d",
            "regime": "accumulation",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 105,
            "end_idx": 271,
            "phase_count": 6,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 105,
                "price": 80600.0,
                "color": "#ffd166",
                "dt": "2025-11-21 09:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 112,
                "price": 93080.0,
                "color": "#06d6a0",
                "dt": "2025-11-28 09:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 132,
                "price": 84408.6,
                "color": "#118ab2",
                "dt": "2025-12-18 09:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 195,
                "price": 65595.7,
                "color": "#f9844a",
                "dt": "2026-02-19 09:00:00+09:00"
              },
              {
                "label": "TERMINAL_SPRING",
                "side": "low",
                "idx": 264,
                "price": 74868.0,
                "color": "#f3722c",
                "dt": "2026-04-29 09:00:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 271,
                "price": 82828.7,
                "color": "#06d6a0",
                "dt": "2026-05-06 09:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "1d_cycle_1",
        "primary_structure_id": "1d_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.9249999999999999,
        "current_event": "SOS",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 80600.0,
        "main_range_high": 93080.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.64,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"SOS $82,828.70 이후 후속 LPS 확인 없이 현재가 $67,186.80까지 되돌림\",\n    \"TERMINAL_SPRING 기준 $74,868.00 하방 이탈로 단기 수요 테스트 실패\",\n    \"주요 ACC 기준 저점/SC $80,600.00 아래에 위치하여 기존 박스 하단 회복 전까지 즉시 강세 확인 불가\",\n    \"현재가가 Spring $65,595.70 근처까지 재접근하여 재테스트/셰이크아웃 위험 구간\",\n    \"EMA20 $74,090.57 및 EMA120 $76,916.67 아래에서 거래되어 단기 반등 수용보다 공급 우위가 먼저 관찰됨\"\n  ],\n  \"reasoning\": \"1일 구조는 regime=ACC, regime_state=confirmed_acc, acc_score 92.5 및 Phase D로 분류되어 구조적 해석은 여전히 축적 우위의 bullish이다. 다만 이벤트 체인은 SC $80,600 → AR $93,080 → ST $84,408.60 → Spring $65,595.70 → TERMINAL_SPRING $74,868 → SOS $82,828.70까지 확인됐지만, 현재가 $67,186.80은 SOS 이후 LPS로 안정화되기보다 Spring 저점 부근을 다시 테스트하고 있다. 특히 $74,868 및 $80,600 회복 전에는 Phase D의 강세 지속보다 Spring $65,595.70 재검증이 우선인 즉시 경로로 보인다. 따라서 structure_bias는 bullish로 유지하되, setup_bias는 단기적으로 bearish이며 전체 신호는 확인 대기 성격의 neutral로 판단한다.\",\n  \"key_levels\": {\n    \"support\": [\n      65595.7,\n      65359.1\n    ],\n    \"resistance\": [\n      74868.0,\n      80600.0,\n      82828.7,\n      84408.6,\n      93080.0\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$65,595.70 일봉 종가 이탈\",\n  \"risk_scenario\": \"$65,595.70 Spring 저점이 일봉 기준으로 이탈되면 confirmed_acc Phase D 해석은 크게 훼손되며, $65,359.10 7일 저점 아래 유동성 흡수 실패와 함께 축적 구조가 재평가될 수 있다. 반대로 가격이 $74,868.00을 회복하고 $80,600.00 위에서 수용되면 현재 약세 setup은 무효화되고 SOS 이후 LPS 형성 가능성이 다시 높아진다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "neutral",
    "overall_confidence": 0.52,
    "execution_setup": {
      "setup_bias": "neutral",
      "setup_strength": 0.56,
      "active_setups": [
        "가격은 $65,999.53-$67,113.44의 고컨플루언스 bullish Gartley PRZ 바로 위에 위치하며, 현재가 $67,186.80은 PRZ 상단 $67,113.44를 소폭 회복한 상태",
        "ICT 기준 현재가는 EQ $74,093.90 아래의 discount 구간이며, 이전일 저점 $66,150.70 하향 이탈 후 회복해 단기 sell-side liquidity raid 가능성 존재",
        "캔들 기준 $65,359.10 7일 저점 부근에서 -6.5% 급락 후 bullish harami 후보가 발생했으나, 패턴 품질은 0.611이고 고거래량 확인은 없음",
        "파생 기준 가격은 24시간 +0.68% 반등했지만 CVD는 -465.9780으로 악화되어 반등 체결 강도가 부족하고, OI +2.0830%와 롱 계정 비율 0.694가 롱 과밀 리스크를 형성",
        "Wyckoff 기준 SOS $82,828.70 이후 LPS가 확인되지 못했고, TERMINAL_SPRING $74,868.00 아래에서 Spring $65,595.70 재검증 구간에 진입"
      ],
      "setup_vs_structure": "구조는 Wyckoff 축적 해석과 EMA·피보나치 훼손이 충돌해 중립으로 보지만, 실행 셋업도 bullish PRZ·discount 반등 조건과 파생 롱 과밀·CVD 약세가 동시에 존재한다. 즉, 현재는 구조적 방향 확정 구간이 아니라 $65,138-$67,113 하단 방어와 $74,090-$74,868 회복 여부를 통해 다음 구조 판정이 갈리는 압축 구간이다."
    },
    "signal_breakdown": {
      "bullish_count": 2,
      "bearish_count": 4,
      "neutral_count": 0
    },
    "key_levels": {
      "support": [
        67113.44,
        66150.7,
        65999.53,
        65595.7,
        65359.1,
        65138.65,
        60100
      ],
      "resistance": [
        67871.53,
        68683.96,
        69999,
        71397,
        72900,
        74090.57,
        74093.9,
        74868,
        76571.59,
        76916.67,
        78848.35,
        80600,
        82828.7
      ]
    },
    "confluences": [
      "핵심 하단 구조대는 $65,359.10-$65,595.70 부근으로 수렴한다. Candlestick은 7일 저점 $65,359.10, ICT는 range low $65,359.10 및 SSL $65,138.65, Wyckoff는 Spring $65,595.70, Harmonic은 Gartley PRZ 하단 $65,999.53과 D 예상가 $66,556.49를 제시한다.",
      "$66,150.70-$67,113.44 구간은 단기 반응 확인대다. ICT의 이전일 저점 $66,150.70 회복 조건과 Harmonic의 bullish Gartley PRZ $65,999.53-$67,113.44가 겹치며, 현재가 $67,186.80은 이 구간 바로 위에 있다.",
      "$74,090-$74,094는 강한 구조 저항 컨플루언스다. Candlestick과 Derivatives는 EMA20 $74,090.57을 핵심 저항으로, ICT는 EQ $74,093.90을 중립선으로 제시한다.",
      "$74,868-$76,916 구간은 훼손된 상승 구조의 재판정대다. Fibonacci의 스윙 저점 $74,868 및 0.786 되돌림 $76,571.59, ICT의 BOS 기준 $75,998.90, EMA120 $76,916.67이 인접해 있다.",
      "$82,828.70은 상위 구조 기준점으로 반복 확인된다. Wyckoff는 SOS 고점, ICT는 range high, Fibonacci는 확장 기준 가격대로 이 레벨을 제시한다.",
      "파생 유동성은 상단 $72,900-$73,900에 집중되어 있으며, 이는 EMA20·EQ 저항대 $74,090 부근과 가까워 단기 구조 회복 전의 마찰 구간으로 작용한다."
    ],
    "conflicts": [
      "Wyckoff는 confirmed accumulation 및 Phase D 구조를 근거로 상위 구조를 bullish로 유지하지만, Candlestick·Fibonacci·Harmonic·Derivatives는 현재가가 EMA20 $74,090.57, EMA120 $76,916.67, EMA240 $83,749.78 아래에 있어 확인된 추세 구조를 bearish로 본다.",
      "ICT는 마지막 구조 이벤트를 BOS_bullish $75,998.90로 해석해 구조를 bullish로 유지하지만, Fibonacci는 Low→High 스윙 $74,868→$82,829의 저점 $74,868과 0.786 $76,571.59가 모두 훼손되어 상승 피보나치 구조가 깨졌다고 판단한다.",
      "Harmonic은 $65,999.53-$67,113.44의 strict/high bullish Gartley PRZ를 강한 반등 후보로 제시하지만, 해당 패턴은 아직 pre-confirmation 상태이며 confirmed reaction이 없어 구조 전환 근거로는 제한적이다.",
      "Candlestick의 bullish harami 후보와 ICT의 sell-side raid 가능성은 단기 반등 셋업을 지지하지만, Derivatives는 CVD -465.9780, OI +2.0830%, 롱 계정 비율 0.694를 근거로 반등의 질이 약하다고 본다.",
      "Wyckoff의 ACC Phase D 해석은 구조적으로 의미가 크지만, SOS $82,828.70 이후 LPS 확인 없이 가격이 Spring $65,595.70 부근으로 되돌아왔기 때문에 축적 지속보다는 축적 구조 재검증 조건이 우선한다."
    ],
    "executive_summary": "BTC 일봉 구조는 단순 추세 기준으로는 EMA20 $74,090.57, EMA120 $76,916.67, EMA240 $83,749.78 아래에 있어 bearish 압력이 우세하지만, Wyckoff 상위 프레임은 아직 confirmed accumulation Phase D로 분류되어 구조 판정이 양분되어 있다. 현재 위치는 SOS $82,828.70 이후 LPS가 확인되지 못한 채 TERMINAL_SPRING $74,868 아래로 밀려 Spring $65,595.70 및 7일 저점 $65,359.10을 재검증하는 구간이다. 하단에서는 $65,138.65-$67,113.44에 ICT 유동성 회수, Wyckoff Spring, Harmonic bullish Gartley PRZ가 겹치지만, 파생에서는 CVD 악화와 롱 계정 과밀이 확인되어 반응의 질은 아직 취약하다. 따라서 전체 구조 신호는 bullish 또는 bearish로 확정하기보다 '축적 구조가 하단 재검증을 받는 중립 상태'로 보는 것이 적절하며, $65,138.65 하회와 $74,868 회복이 각각 하단 훼손과 상단 회복의 핵심 구조 조건이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"neutral\",\n  \"overall_confidence\": 0.52,\n  \"execution_setup\": {\n    \"setup_bias\": \"neutral\",\n    \"setup_strength\": 0.56,\n    \"active_setups\": [\n      \"가격은 $65,999.53-$67,113.44의 고컨플루언스 bullish Gartley PRZ 바로 위에 위치하며, 현재가 $67,186.80은 PRZ 상단 $67,113.44를 소폭 회복한 상태\",\n      \"ICT 기준 현재가는 EQ $74,093.90 아래의 discount 구간이며, 이전일 저점 $66,150.70 하향 이탈 후 회복해 단기 sell-side liquidity raid 가능성 존재\",\n      \"캔들 기준 $65,359.10 7일 저점 부근에서 -6.5% 급락 후 bullish harami 후보가 발생했으나, 패턴 품질은 0.611이고 고거래량 확인은 없음\",\n      \"파생 기준 가격은 24시간 +0.68% 반등했지만 CVD는 -465.9780으로 악화되어 반등 체결 강도가 부족하고, OI +2.0830%와 롱 계정 비율 0.694가 롱 과밀 리스크를 형성\",\n      \"Wyckoff 기준 SOS $82,828.70 이후 LPS가 확인되지 못했고, TERMINAL_SPRING $74,868.00 아래에서 Spring $65,595.70 재검증 구간에 진입\"\n    ],\n    \"setup_vs_structure\": \"구조는 Wyckoff 축적 해석과 EMA·피보나치 훼손이 충돌해 중립으로 보지만, 실행 셋업도 bullish PRZ·discount 반등 조건과 파생 롱 과밀·CVD 약세가 동시에 존재한다. 즉, 현재는 구조적 방향 확정 구간이 아니라 $65,138-$67,113 하단 방어와 $74,090-$74,868 회복 여부를 통해 다음 구조 판정이 갈리는 압축 구간이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 2,\n    \"bearish_count\": 4,\n    \"neutral_count\": 0\n  },\n  \"key_levels\": {\n    \"support\": [\n      67113.44,\n      66150.7,\n      65999.53,\n      65595.7,\n      65359.1,\n      65138.65,\n      60100\n    ],\n    \"resistance\": [\n      67871.53,\n      68683.96,\n      69999,\n      71397,\n      72900,\n      74090.57,\n      74093.9,\n      74868,\n      76571.59,\n      76916.67,\n      78848.35,\n      80600,\n      82828.7\n    ]\n  },\n  \"confluences\": [\n    \"핵심 하단 구조대는 $65,359.10-$65,595.70 부근으로 수렴한다. Candlestick은 7일 저점 $65,359.10, ICT는 range low $65,359.10 및 SSL $65,138.65, Wyckoff는 Spring $65,595.70, Harmonic은 Gartley PRZ 하단 $65,999.53과 D 예상가 $66,556.49를 제시한다.\",\n    \"$66,150.70-$67,113.44 구간은 단기 반응 확인대다. ICT의 이전일 저점 $66,150.70 회복 조건과 Harmonic의 bullish Gartley PRZ $65,999.53-$67,113.44가 겹치며, 현재가 $67,186.80은 이 구간 바로 위에 있다.\",\n    \"$74,090-$74,094는 강한 구조 저항 컨플루언스다. Candlestick과 Derivatives는 EMA20 $74,090.57을 핵심 저항으로, ICT는 EQ $74,093.90을 중립선으로 제시한다.\",\n    \"$74,868-$76,916 구간은 훼손된 상승 구조의 재판정대다. Fibonacci의 스윙 저점 $74,868 및 0.786 되돌림 $76,571.59, ICT의 BOS 기준 $75,998.90, EMA120 $76,916.67이 인접해 있다.\",\n    \"$82,828.70은 상위 구조 기준점으로 반복 확인된다. Wyckoff는 SOS 고점, ICT는 range high, Fibonacci는 확장 기준 가격대로 이 레벨을 제시한다.\",\n    \"파생 유동성은 상단 $72,900-$73,900에 집중되어 있으며, 이는 EMA20·EQ 저항대 $74,090 부근과 가까워 단기 구조 회복 전의 마찰 구간으로 작용한다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 confirmed accumulation 및 Phase D 구조를 근거로 상위 구조를 bullish로 유지하지만, Candlestick·Fibonacci·Harmonic·Derivatives는 현재가가 EMA20 $74,090.57, EMA120 $76,916.67, EMA240 $83,749.78 아래에 있어 확인된 추세 구조를 bearish로 본다.\",\n    \"ICT는 마지막 구조 이벤트를 BOS_bullish $75,998.90로 해석해 구조를 bullish로 유지하지만, Fibonacci는 Low→High 스윙 $74,868→$82,829의 저점 $74,868과 0.786 $76,571.59가 모두 훼손되어 상승 피보나치 구조가 깨졌다고 판단한다.\",\n    \"Harmonic은 $65,999.53-$67,113.44의 strict/high bullish Gartley PRZ를 강한 반등 후보로 제시하지만, 해당 패턴은 아직 pre-confirmation 상태이며 confirmed reaction이 없어 구조 전환 근거로는 제한적이다.\",\n    \"Candlestick의 bullish harami 후보와 ICT의 sell-side raid 가능성은 단기 반등 셋업을 지지하지만, Derivatives는 CVD -465.9780, OI +2.0830%, 롱 계정 비율 0.694를 근거로 반등의 질이 약하다고 본다.\",\n    \"Wyckoff의 ACC Phase D 해석은 구조적으로 의미가 크지만, SOS $82,828.70 이후 LPS 확인 없이 가격이 Spring $65,595.70 부근으로 되돌아왔기 때문에 축적 지속보다는 축적 구조 재검증 조건이 우선한다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 구조 진단 측면에서 가장 높은 가중치를 부여한다. confirmed accumulation, acc_score 92.5, Phase D, SC $80,600 → AR $93,080 → ST $84,408.60 → Spring $65,595.70 → TERMINAL_SPRING $74,868 → SOS $82,828.70의 구체적 이벤트 체인을 제시해 상위 구조 맥락이 가장 명확하다. 다만 현재가는 SOS 이후 LPS 확인 없이 Spring 구간으로 되돌아와 있어, Wyckoff 결론 자체도 즉시 bullish가 아니라 '축적 구조의 재검증'으로 제한된다.\",\n  \"invalidation_level\": \"하단 구조 유효성은 $65,138.65-$65,359.10 이탈 여부가 핵심이다. 이 구간을 일봉 종가로 하회하면 Wyckoff Spring 방어 및 ICT discount raid 해석이 약화된다. 반대로 $74,868.00 회복은 현재의 구조 스트레스 해석을 완화시키는 상단 재판정 조건이다.\",\n  \"executive_summary\": \"BTC 일봉 구조는 단순 추세 기준으로는 EMA20 $74,090.57, EMA120 $76,916.67, EMA240 $83,749.78 아래에 있어 bearish 압력이 우세하지만, Wyckoff 상위 프레임은 아직 confirmed accumulation Phase D로 분류되어 구조 판정이 양분되어 있다. 현재 위치는 SOS $82,828.70 이후 LPS가 확인되지 못한 채 TERMINAL_SPRING $74,868 아래로 밀려 Spring $65,595.70 및 7일 저점 $65,359.10을 재검증하는 구간이다. 하단에서는 $65,138.65-$67,113.44에 ICT 유동성 회수, Wyckoff Spring, Harmonic bullish Gartley PRZ가 겹치지만, 파생에서는 CVD 악화와 롱 계정 과밀이 확인되어 반응의 질은 아직 취약하다. 따라서 전체 구조 신호는 bullish 또는 bearish로 확정하기보다 '축적 구조가 하단 재검증을 받는 중립 상태'로 보는 것이 적절하며, $65,138.65 하회와 $74,868 회복이 각각 하단 훼손과 상단 회복의 핵심 구조 조건이다.\"\n}"
  },
  "overall_signal": "neutral",
  "overall_confidence": 0.52,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.52,
    "waypoints": [
      {
        "seq": 1,
        "price": 65359.1,
        "type": "liquidity_sweep",
        "source": "Derivatives (CVD -465.98 약세 다이버전스, 롱 과밀 0.694 / crowding 1.000), Wyckoff (Spring $65,595.70 재검증, LPS 미확인), ICT (range low $65,359.10 / SSL $65,138.65), Candlestick (7일 저점 $65,359.10)",
        "description": "현재 +0.68% 반등은 CVD 악화·롱 과밀로 체결 강도가 약해, 과밀 롱을 털어내는 하방 스윕이 선행될 가능성이 높다. Wyckoff Spring $65,595.70~7일 저점 $65,359.10 재검증 구간이며, ICT SSL $65,138.65 직전까지 윅으로 유동성을 회수한 뒤 반응을 시도하는 자리다. 직전일 저점 $66,150.70만 회수된 상태라 더 깊은 유동성 풀이 아래에 남아 있다는 점이 하방 우선 근거.",
        "est_hours": 4,
        "turning_zone": [
          64900.0,
          65359.1
        ],
        "likely_wick": 65138.65,
        "rejection_confirm": 65595.7,
        "invalid_overshoot": 64600.0,
        "calibration_reasoning": "ICT SSL $65,138.65(매도측 유동성)와 7일 저점 $65,359.10을 핵심 하방 스윕 풀로 보고 turning_zone을 설정했으며, 65595/65359/65138 지지가 조밀해 밴드 폭은 ATR의 약 0.21배로 좁다. 스톱런 오버슈트를 감안해 하단을 $64,900까지만 확장하고, Wyckoff Spring $65,595.70 회복을 상방 전환 확인선으로 둔다."
      },
      {
        "seq": 2,
        "price": 69962.2,
        "type": "resistance_test",
        "source": "Derivatives (7일 EQ $69,962.20), ICT (discount 93.1% 되돌림 → EQ 평균회귀), $70,000 심리 레벨, Harmonic (Gartley PRZ 반응 확인 시 추진)",
        "description": "스윕 후 평균회귀 반등이 1차로 향하는 자리. ICT의 deep discount 되돌림 이후 mean reversion 경로이며, Gartley PRZ($65,999~$67,113) 반등이 확인되면 추진력 확보. $69,962~$70,000은 derivatives 7일 EQ로, 약세 시나리오가 약화되기 시작하는 첫 관문.",
        "est_hours": 14,
        "turning_zone": [
          69962.2,
          70700.0
        ],
        "likely_wick": 70000.0,
        "rejection_confirm": 68683.96,
        "invalid_overshoot": 71397.0,
        "calibration_reasoning": "$70,000 라운드넘버이자 파생 7일 EQ($69,962~$70,000)가 강력한 유동성 자석이라 likely_wick을 $70,000에 고정하고, 다음 Chairman 저항 $71,397 직전까지 약 0.34 ATR 폭으로 오버슈트를 허용했다. 풀백 시 Chairman 지지 $68,683.96 이탈로 거부를 확인하며, $71,397 돌파 시 전환 없이 추세가 지속된 것으로 무효 처리한다."
      },
      {
        "seq": 3,
        "price": 72900.0,
        "type": "resistance_test",
        "source": "Derivatives (강한 상단 청산 클러스터 $72,900/$73,400/$73,900, 회복 시 약세 약화)",
        "description": "반등이 이어질 경우 파생 청산 유동성이 집중된 $72,900~$73,900 클러스터가 자석 역할. derivatives는 $72,900 회복 시 약세 시나리오 약화로 본다. 다만 EMA20 $74,090.57·ICT EQ $74,093.90 직전의 마찰대여서 24h 기준 상단 한계로 작용할 공산이 크다.",
        "est_hours": 24,
        "turning_zone": [
          72900.0,
          74150.0
        ],
        "likely_wick": 74000.0,
        "rejection_confirm": 71397.0,
        "invalid_overshoot": 74868.0,
        "calibration_reasoning": "파생 청산 클러스터 $72,900~$73,900가 상방 자석이고 EMA20 $74,090.57·ICT EQ $74,093.90 합류대가 24h 상단 마찰 캡이라, 터미널 구간으로서 0.57 ATR(클러스터~캡 포함)까지 밴드를 넓히고 likely_wick은 캡 직하 라운드넘버 $74,000에 둔다. $71,397 이탈 시 하락 전환 확인, fib 스윙 저점 $74,868 상향 돌파 시 상단 한계가 깨져 무효화된다."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 67871.53,
        "expected_low": 65359.1,
        "high_first": true
      },
      "8h": {
        "expected_high": 68683.96,
        "expected_low": 65359.1,
        "high_first": false
      },
      "24h": {
        "expected_high": 72900.0,
        "expected_low": 65359.1,
        "high_first": false
      }
    },
    "triggers": {
      "bullish": {
        "price": 74093.9,
        "description": "EMA20 $74,090.57·ICT EQ $74,093.90 컨플루언스 회복 시 단순 평균회귀를 넘어 구조적 상승 재개로 전환, $74,868·$76,571.59 상단 구조 재판정대 개방"
      },
      "bearish": {
        "price": 65138.65,
        "description": "ICT SSL $65,138.65를 종가로 하향 이탈 시 bullish setup 무효화 및 Wyckoff Spring 훼손, derivatives 하단 청산 유동성 $60,100까지 확장"
      }
    },
    "scenario_invalidation": 65138.65,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.52,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 65359.10,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Derivatives (CVD -465.98 약세 다이버전스, 롱 과밀 0.694 / crowding 1.000), Wyckoff (Spring $65,595.70 재검증, LPS 미확인), ICT (range low $65,359.10 / SSL $65,138.65), Candlestick (7일 저점 $65,359.10)\",\n      \"description\": \"현재 +0.68% 반등은 CVD 악화·롱 과밀로 체결 강도가 약해, 과밀 롱을 털어내는 하방 스윕이 선행될 가능성이 높다. Wyckoff Spring $65,595.70~7일 저점 $65,359.10 재검증 구간이며, ICT SSL $65,138.65 직전까지 윅으로 유동성을 회수한 뒤 반응을 시도하는 자리다. 직전일 저점 $66,150.70만 회수된 상태라 더 깊은 유동성 풀이 아래에 남아 있다는 점이 하방 우선 근거.\",\n      \"est_hours\": 4\n    },\n    {\n      \"seq\": 2,\n      \"price\": 69962.20,\n      \"type\": \"resistance_test\",\n      \"source\": \"Derivatives (7일 EQ $69,962.20), ICT (discount 93.1% 되돌림 → EQ 평균회귀), $70,000 심리 레벨, Harmonic (Gartley PRZ 반응 확인 시 추진)\",\n      \"description\": \"스윕 후 평균회귀 반등이 1차로 향하는 자리. ICT의 deep discount 되돌림 이후 mean reversion 경로이며, Gartley PRZ($65,999~$67,113) 반등이 확인되면 추진력 확보. $69,962~$70,000은 derivatives 7일 EQ로, 약세 시나리오가 약화되기 시작하는 첫 관문.\",\n      \"est_hours\": 14\n    },\n    {\n      \"seq\": 3,\n      \"price\": 72900.0,\n      \"type\": \"resistance_test\",\n      \"source\": \"Derivatives (강한 상단 청산 클러스터 $72,900/$73,400/$73,900, 회복 시 약세 약화)\",\n      \"description\": \"반등이 이어질 경우 파생 청산 유동성이 집중된 $72,900~$73,900 클러스터가 자석 역할. derivatives는 $72,900 회복 시 약세 시나리오 약화로 본다. 다만 EMA20 $74,090.57·ICT EQ $74,093.90 직전의 마찰대여서 24h 기준 상단 한계로 작용할 공산이 크다.\",\n      \"est_hours\": 24\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 67871.53, \"expected_low\": 65359.10, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 68683.96, \"expected_low\": 65359.10, \"high_first\": false},\n    \"24h\": {\"expected_high\": 72900.0,  \"expected_low\": 65359.10, \"high_first\": false}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 74093.90, \"description\": \"EMA20 $74,090.57·ICT EQ $74,093.90 컨플루언스 회복 시 단순 평균회귀를 넘어 구조적 상승 재개로 전환, $74,868·$76,571.59 상단 구조 재판정대 개방\"},\n    \"bearish\": {\"price\": 65138.65, \"description\": \"ICT SSL $65,138.65를 종가로 하향 이탈 시 bullish setup 무효화 및 Wyckoff Spring 훼손, derivatives 하단 청산 유동성 $60,100까지 확장\"}\n  },\n  \"scenario_invalidation\": 65138.65\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 65359.1,
        "turning_zone": [
          64900.0,
          65359.1
        ],
        "likely_wick": 65138.65,
        "rejection_confirm": 65595.7,
        "invalid_overshoot": 64600.0,
        "calibration_reasoning": "ICT SSL $65,138.65(매도측 유동성)와 7일 저점 $65,359.10을 핵심 하방 스윕 풀로 보고 turning_zone을 설정했으며, 65595/65359/65138 지지가 조밀해 밴드 폭은 ATR의 약 0.21배로 좁다. 스톱런 오버슈트를 감안해 하단을 $64,900까지만 확장하고, Wyckoff Spring $65,595.70 회복을 상방 전환 확인선으로 둔다."
      },
      {
        "seq": 2,
        "base_target": 69962.2,
        "turning_zone": [
          69962.2,
          70700.0
        ],
        "likely_wick": 70000.0,
        "rejection_confirm": 68683.96,
        "invalid_overshoot": 71397.0,
        "calibration_reasoning": "$70,000 라운드넘버이자 파생 7일 EQ($69,962~$70,000)가 강력한 유동성 자석이라 likely_wick을 $70,000에 고정하고, 다음 Chairman 저항 $71,397 직전까지 약 0.34 ATR 폭으로 오버슈트를 허용했다. 풀백 시 Chairman 지지 $68,683.96 이탈로 거부를 확인하며, $71,397 돌파 시 전환 없이 추세가 지속된 것으로 무효 처리한다."
      },
      {
        "seq": 3,
        "base_target": 72900.0,
        "turning_zone": [
          72900.0,
          74150.0
        ],
        "likely_wick": 74000.0,
        "rejection_confirm": 71397.0,
        "invalid_overshoot": 74868.0,
        "calibration_reasoning": "파생 청산 클러스터 $72,900~$73,900가 상방 자석이고 EMA20 $74,090.57·ICT EQ $74,093.90 합류대가 24h 상단 마찰 캡이라, 터미널 구간으로서 0.57 ATR(클러스터~캡 포함)까지 밴드를 넓히고 likely_wick은 캡 직하 라운드넘버 $74,000에 둔다. $71,397 이탈 시 하락 전환 확인, fib 스윙 저점 $74,868 상향 돌파 시 상단 한계가 깨져 무효화된다."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 65359.10,\n      \"turning_zone\": [64900.00, 65359.10],\n      \"likely_wick\": 65138.65,\n      \"rejection_confirm\": 65595.70,\n      \"invalid_overshoot\": 64600.00,\n      \"calibration_reasoning\": \"ICT SSL $65,138.65(매도측 유동성)와 7일 저점 $65,359.10을 핵심 하방 스윕 풀로 보고 turning_zone을 설정했으며, 65595/65359/65138 지지가 조밀해 밴드 폭은 ATR의 약 0.21배로 좁다. 스톱런 오버슈트를 감안해 하단을 $64,900까지만 확장하고, Wyckoff Spring $65,595.70 회복을 상방 전환 확인선으로 둔다.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 69962.20,\n      \"turning_zone\": [69962.20, 70700.00],\n      \"likely_wick\": 70000.00,\n      \"rejection_confirm\": 68683.96,\n      \"invalid_overshoot\": 71397.00,\n      \"calibration_reasoning\": \"$70,000 라운드넘버이자 파생 7일 EQ($69,962~$70,000)가 강력한 유동성 자석이라 likely_wick을 $70,000에 고정하고, 다음 Chairman 저항 $71,397 직전까지 약 0.34 ATR 폭으로 오버슈트를 허용했다. 풀백 시 Chairman 지지 $68,683.96 이탈로 거부를 확인하며, $71,397 돌파 시 전환 없이 추세가 지속된 것으로 무효 처리한다.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 72900.00,\n      \"turning_zone\": [72900.00, 74150.00],\n      \"likely_wick\": 74000.00,\n      \"rejection_confirm\": 71397.00,\n      \"invalid_overshoot\": 74868.00,\n      \"calibration_reasoning\": \"파생 청산 클러스터 $72,900~$73,900가 상방 자석이고 EMA20 $74,090.57·ICT EQ $74,093.90 합류대가 24h 상단 마찰 캡이라, 터미널 구간으로서 0.57 ATR(클러스터~캡 포함)까지 밴드를 넓히고 likely_wick은 캡 직하 라운드넘버 $74,000에 둔다. $71,397 이탈 시 하락 전환 확인, fib 스윙 저점 $74,868 상향 돌파 시 상단 한계가 깨져 무효화된다.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 28.6,
      "chairman": 61.3,
      "operating_path": 265.9,
      "tp_calibrator": 282.8
    },
    "agents": {},
    "total_s": 638.5
  }
}