{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-06-09 21:00 KST",
  "last_price": 62679.9,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.52,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.55,
      "setup_signals": [
        "현재가 $62,679.90은 7일 레인지 EQ $62,198.00 위에 있어 약한 프리미엄 구간에 위치",
        "현재가가 EMA20 $62,779.40 및 EMA120 $62,973.35 아래에 있어 단기 반등이 아직 구조적으로 수용되지 않음",
        "최근 패턴에 bullish_engulfing@295 이후 bearish_engulfing@296이 바로 출현해 매수 지속성이 약함",
        "고거래량 패턴이 없으며 high_volume_patterns가 비어 있어 반전 신뢰도가 제한적",
        "EMA240 $62,671.02 부근에서 현재가 $62,679.90이 거의 맞닿아 있어 단기 균형선 이탈 여부가 중요"
      ],
      "reasoning": "최근 4개 패턴은 bullish_engulfing, bearish_engulfing, bullish_harami 2개로 혼재되어 있으며, best_pattern_quality도 0.619로 강한 확정형 신호라기보다 후보 수준입니다. bull_score 1.95가 bear_score 0.75보다 높아 단기 매수 반응은 존재하지만, 현재가 $62,679.90은 EMA20 $62,779.40과 EMA120 $62,973.35 아래에 있어 상승 구조가 확인되지는 않았습니다. 7일 고점 $64,250.00과 저점 $60,146.00의 EQ는 $62,198.00이며, 가격은 EQ 위 프리미엄 영역에 있어 추격 매수보다는 저항 확인 후 되밀림 리스크가 큽니다. 특히 고거래량 동반 패턴이 없고 ATR $191.11 기준으로 EMA20/EMA120 돌파 확인 전까지는 중립 구조, 약한 bearish setup으로 해석합니다.",
      "key_levels": {
        "support": [
          62671.02,
          62198.0,
          60146.0
        ],
        "resistance": [
          62779.4,
          62973.35,
          64250.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$62,973.35 이상에서 15분봉 종가가 안정적으로 수용되면 현재의 단기 bearish setup은 무효화",
      "risk_scenario": "반대로 가격이 EMA240 $62,671.02 아래로 밀리고 EQ $62,198.00까지 이탈하면, bullish harami와 bullish engulfing 후보는 실패 패턴이 되며 $60,146.00 재시험 가능성이 커집니다. 반면 EMA20 $62,779.40과 EMA120 $62,973.35를 순차적으로 회복하면 숏 커버링성 반등이 $64,250.00 저항까지 확장될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 150,
        "recent_patterns": 4,
        "pattern_list": [
          "bullish_engulfing@295",
          "bearish_engulfing@296",
          "bullish_harami@291",
          "bullish_harami@297"
        ],
        "atr_value": 191.11,
        "vol_avg_20": 1528.78,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.619,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.612,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.569,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.388,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.619,
        "bull_score": 1.95,
        "bear_score": 0.75
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.52,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.55,\n  \"setup_signals\": [\n    \"현재가 $62,679.90은 7일 레인지 EQ $62,198.00 위에 있어 약한 프리미엄 구간에 위치\",\n    \"현재가가 EMA20 $62,779.40 및 EMA120 $62,973.35 아래에 있어 단기 반등이 아직 구조적으로 수용되지 않음\",\n    \"최근 패턴에 bullish_engulfing@295 이후 bearish_engulfing@296이 바로 출현해 매수 지속성이 약함\",\n    \"고거래량 패턴이 없으며 high_volume_patterns가 비어 있어 반전 신뢰도가 제한적\",\n    \"EMA240 $62,671.02 부근에서 현재가 $62,679.90이 거의 맞닿아 있어 단기 균형선 이탈 여부가 중요\"\n  ],\n  \"reasoning\": \"최근 4개 패턴은 bullish_engulfing, bearish_engulfing, bullish_harami 2개로 혼재되어 있으며, best_pattern_quality도 0.619로 강한 확정형 신호라기보다 후보 수준입니다. bull_score 1.95가 bear_score 0.75보다 높아 단기 매수 반응은 존재하지만, 현재가 $62,679.90은 EMA20 $62,779.40과 EMA120 $62,973.35 아래에 있어 상승 구조가 확인되지는 않았습니다. 7일 고점 $64,250.00과 저점 $60,146.00의 EQ는 $62,198.00이며, 가격은 EQ 위 프리미엄 영역에 있어 추격 매수보다는 저항 확인 후 되밀림 리스크가 큽니다. 특히 고거래량 동반 패턴이 없고 ATR $191.11 기준으로 EMA20/EMA120 돌파 확인 전까지는 중립 구조, 약한 bearish setup으로 해석합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      62671.02,\n      62198.0,\n      60146.0\n    ],\n    \"resistance\": [\n      62779.4,\n      62973.35,\n      64250.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$62,973.35 이상에서 15분봉 종가가 안정적으로 수용되면 현재의 단기 bearish setup은 무효화\",\n  \"risk_scenario\": \"반대로 가격이 EMA240 $62,671.02 아래로 밀리고 EQ $62,198.00까지 이탈하면, bullish harami와 bullish engulfing 후보는 실패 패턴이 되며 $60,146.00 재시험 가능성이 커집니다. 반면 EMA20 $62,779.40과 EMA120 $62,973.35를 순차적으로 회복하면 숏 커버링성 반등이 $64,250.00 저항까지 확장될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.55,
      "setup_signals": [
        "현재가 $62,679.90가 하락 스윙 $63,500→$62,556의 0.236 되돌림 저항 $62,778.38 바로 아래에 위치",
        "0.236 되돌림 $62,778.38과 근접한 $62,792.30 피보나치 컨플루언스 존이 단기 공급 구간으로 작용",
        "가격이 EQ인 0.5 되돌림 $63,027.70 아래에 있어 아직 하락 스윙의 할인 영역에 머무름",
        "EMA20 $62,779.40 및 EMA120 $62,973.35가 현재가 위에 있어 되돌림 상승 시 저항 중첩",
        "골든레시오 0.618 되돌림 $63,139.14는 강한 상방 무효화/저항 후보"
      ],
      "reasoning": "확정 구조는 $63,500 고점에서 $62,556 저점으로 형성된 하락 스윙 기준이며, 현재가 $62,679.90는 0.236 되돌림 $62,778.38 아래에 있어 아직 의미 있는 되돌림 회복이 확인되지 않았다. 단기적으로는 $62,778.38~$62,792.30 구간이 0.236 및 컨플루언스 저항으로 작용하고, 그 위에는 0.382 $62,916.26, 0.5 $63,027.70, 0.618 골든레시오 $63,139.14가 순차 저항이다. 반대로 $62,555.50을 이탈하면 하락 확장 흐름이 재개될 수 있으며, 다음 피보나치 확장 지지는 $62,298.62, $62,164.52, $61,971.86이다. 컨플루언스 품질은 1.000으로 높고 반응 확률은 0.65로 제시되어 있어, 현재 구간은 저항 테스트 후 방향성이 결정될 가능성이 높다.",
      "key_levels": {
        "support": [
          62555.5,
          62298.62,
          62164.52,
          61971.86,
          61611.1
        ],
        "resistance": [
          62778.38,
          62916.26,
          63027.7,
          63139.14,
          63297.8
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$63,139.14",
      "risk_scenario": "가격이 $62,778.38을 회복한 뒤 $62,916.26 및 $63,027.70 위로 수용되면 단기 하락 지속 시나리오는 약화된다. 특히 0.618 골든레시오 $63,139.14 위로 안착하면 하락 스윙의 단순 되돌림이 아니라 구조 전환 시도가 될 수 있으며, 다음 저항은 $63,297.80이다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "High→Low: $63,500 → $62,556",
        "direction": "down",
        "nearest_fib": "ret_0.236",
        "nearest_fib_price": 62778.38,
        "nearest_fib_distance": 0.16,
        "golden_ratio_level": 63139.14,
        "fib_ret_382": 62916.26,
        "fib_ret_618": 63139.14,
        "confluence_zones": [
          {
            "price": 63186.52,
            "count": 4,
            "levels": [
              "ret_0.5",
              "ret_0.618",
              "ret_0.236",
              "ret_0.786"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 62111.46,
            "count": 3,
            "levels": [
              "ext_1.618",
              "ext_1.414",
              "ret_0.5"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 62792.3,
            "count": 3,
            "levels": [
              "ret_0.382",
              "ret_0.236",
              "ret_0.382"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 61025.86,
            "count": 2,
            "levels": [
              "ret_0.786",
              "ext_2.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 61662.41,
            "count": 2,
            "levels": [
              "ext_2.0",
              "ret_0.618"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          62555.5,
          62298.6232,
          62164.5184
        ],
        "resistance_levels": [
          62778.3784,
          62916.260800000004,
          63027.7
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 62778.38,
            "distance_pct": 0.16,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.382",
            "price": 62916.26,
            "distance_pct": 0.38,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.5",
            "price": 63027.7,
            "distance_pct": 0.55,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.618",
            "price": 63139.14,
            "distance_pct": 0.73,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.786",
            "price": 63297.8,
            "distance_pct": 0.99,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.0",
            "price": 62555.5,
            "distance_pct": 0.2,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.272",
            "price": 62298.62,
            "distance_pct": 0.61,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.414",
            "price": 62164.52,
            "distance_pct": 0.82,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.618",
            "price": 61971.86,
            "distance_pct": 1.13,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_2.0",
            "price": 61611.1,
            "distance_pct": 1.71,
            "is_support": true,
            "cluster_score": 0.6
          }
        ],
        "confluence_quality": 1.0,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.55,\n  \"setup_signals\": [\n    \"현재가 $62,679.90가 하락 스윙 $63,500→$62,556의 0.236 되돌림 저항 $62,778.38 바로 아래에 위치\",\n    \"0.236 되돌림 $62,778.38과 근접한 $62,792.30 피보나치 컨플루언스 존이 단기 공급 구간으로 작용\",\n    \"가격이 EQ인 0.5 되돌림 $63,027.70 아래에 있어 아직 하락 스윙의 할인 영역에 머무름\",\n    \"EMA20 $62,779.40 및 EMA120 $62,973.35가 현재가 위에 있어 되돌림 상승 시 저항 중첩\",\n    \"골든레시오 0.618 되돌림 $63,139.14는 강한 상방 무효화/저항 후보\"\n  ],\n  \"reasoning\": \"확정 구조는 $63,500 고점에서 $62,556 저점으로 형성된 하락 스윙 기준이며, 현재가 $62,679.90는 0.236 되돌림 $62,778.38 아래에 있어 아직 의미 있는 되돌림 회복이 확인되지 않았다. 단기적으로는 $62,778.38~$62,792.30 구간이 0.236 및 컨플루언스 저항으로 작용하고, 그 위에는 0.382 $62,916.26, 0.5 $63,027.70, 0.618 골든레시오 $63,139.14가 순차 저항이다. 반대로 $62,555.50을 이탈하면 하락 확장 흐름이 재개될 수 있으며, 다음 피보나치 확장 지지는 $62,298.62, $62,164.52, $61,971.86이다. 컨플루언스 품질은 1.000으로 높고 반응 확률은 0.65로 제시되어 있어, 현재 구간은 저항 테스트 후 방향성이 결정될 가능성이 높다.\",\n  \"key_levels\": {\n    \"support\": [\n      62555.5,\n      62298.62,\n      62164.52,\n      61971.86,\n      61611.1\n    ],\n    \"resistance\": [\n      62778.38,\n      62916.26,\n      63027.7,\n      63139.14,\n      63297.8\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$63,139.14\",\n  \"risk_scenario\": \"가격이 $62,778.38을 회복한 뒤 $62,916.26 및 $63,027.70 위로 수용되면 단기 하락 지속 시나리오는 약화된다. 특히 0.618 골든레시오 $63,139.14 위로 안착하면 하락 스윙의 단순 되돌림이 아니라 구조 전환 시도가 될 수 있으며, 다음 저항은 $63,297.80이다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "현재가 $62,679.90는 7일 레인지 EQ 약 $62,198 위에 있어 약한 프리미엄 구간이나, EMA20 $62,779.40 및 EMA120 $62,973.35 아래에서 수용 실패",
        "롱 계정 비율 0.660, 숏 계정 비율 0.340으로 롱 쏠림이 극단적이며 account_long_crowding=1.000",
        "CVD 변화량 -1778.1230으로 가격 반등 대비 매수 체결 참여가 약한 약세 다이버전스 성격",
        "선물 베이시스 -0.0498%, basis_change -0.0172로 현물 대비 선물 수요가 약함",
        "하방 청산 유동성 $62,100에 2168.26, $60,200에 2467.39가 누적되어 단기 가격 자석 역할 가능",
        "fragility_score 0.647로 포지셔닝 취약성이 높아 롱 청산 연쇄 리스크 존재"
      ],
      "reasoning": "확정 구조 관점에서는 7일 고점 $64,250과 저점 $60,146 사이 박스가 아직 깨지지 않았고, EMA240 $62,671 부근에서 가격이 정체되어 있어 structure_bias는 중립으로 본다. 그러나 셋업 관점에서는 롱 계정 비율이 0.660까지 올라 account_long_crowding=1.000을 기록했고, CVD가 -1778.1230으로 약화되어 롱 포지션의 질이 좋지 않다. 현재가 $62,679.90는 EMA20 $62,779.40 및 EMA120 $62,973.35 아래에 있어 반등 수용이 부족하며, 하방 $62,100 및 $60,200 청산 유동성이 더 가까운 단기 타깃이다. funding_pressure 0.495와 funding_avg 0.000은 과열 펀딩은 아니지만, 선물 베이시스 -0.0498%와 롱 계정 증가 흐름은 매수 쏠림 대비 가격 추종력이 약하다는 신호다.",
      "key_levels": {
        "support": [
          62198,
          62100,
          60200,
          60146,
          56600,
          56400
        ],
        "resistance": [
          62779.4,
          62973.35,
          64000,
          64250,
          65300,
          68900
        ]
      },
      "time_horizon": "short term, 향후 4-8시간",
      "invalidation_level": "$64,250 이상에서 15분봉 기준 구조적 수용 및 유지",
      "risk_scenario": "반대로 가격이 $62,973 EMA120을 회복하고 $64,000 상방 청산대를 흡수하면 숏 커버링이 발생해 $64,250 7일 고점, 이후 $65,300 청산 레벨까지 빠르게 확장될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -1778.123,
        "oi_trend": 0.512,
        "oi_change_pct_24h": 0.116,
        "oi_latest": 98147.077,
        "funding_pressure": 0.495,
        "funding_avg": 5.33e-06,
        "funding_change_24h": 2.919e-05,
        "long_account_ratio": 0.648,
        "short_account_ratio": 0.352,
        "long_account_latest": 0.66,
        "short_account_latest": 0.34,
        "long_account_change_24h": 0.0059,
        "short_account_change_24h": -0.0059,
        "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.488,
        "spot_futures_basis_pct": -0.0498,
        "basis_change_lookback": -0.0172,
        "aggregate_score": 0.359,
        "bull_signals": 0,
        "bear_signals": 2,
        "liq_below": [
          [
            62100,
            2168.2644046500004
          ],
          [
            60200,
            2467.392079
          ],
          [
            56600,
            1636.6112949999997
          ]
        ],
        "liq_above": [
          [
            64000,
            1930.3768209000002
          ],
          [
            65300,
            1726.0980830000003
          ],
          [
            68900,
            2155.28613125
          ]
        ],
        "strongest_liq_level": 56400,
        "fragility_score": 0.647,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"현재가 $62,679.90는 7일 레인지 EQ 약 $62,198 위에 있어 약한 프리미엄 구간이나, EMA20 $62,779.40 및 EMA120 $62,973.35 아래에서 수용 실패\",\n    \"롱 계정 비율 0.660, 숏 계정 비율 0.340으로 롱 쏠림이 극단적이며 account_long_crowding=1.000\",\n    \"CVD 변화량 -1778.1230으로 가격 반등 대비 매수 체결 참여가 약한 약세 다이버전스 성격\",\n    \"선물 베이시스 -0.0498%, basis_change -0.0172로 현물 대비 선물 수요가 약함\",\n    \"하방 청산 유동성 $62,100에 2168.26, $60,200에 2467.39가 누적되어 단기 가격 자석 역할 가능\",\n    \"fragility_score 0.647로 포지셔닝 취약성이 높아 롱 청산 연쇄 리스크 존재\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 7일 고점 $64,250과 저점 $60,146 사이 박스가 아직 깨지지 않았고, EMA240 $62,671 부근에서 가격이 정체되어 있어 structure_bias는 중립으로 본다. 그러나 셋업 관점에서는 롱 계정 비율이 0.660까지 올라 account_long_crowding=1.000을 기록했고, CVD가 -1778.1230으로 약화되어 롱 포지션의 질이 좋지 않다. 현재가 $62,679.90는 EMA20 $62,779.40 및 EMA120 $62,973.35 아래에 있어 반등 수용이 부족하며, 하방 $62,100 및 $60,200 청산 유동성이 더 가까운 단기 타깃이다. funding_pressure 0.495와 funding_avg 0.000은 과열 펀딩은 아니지만, 선물 베이시스 -0.0498%와 롱 계정 증가 흐름은 매수 쏠림 대비 가격 추종력이 약하다는 신호다.\",\n  \"key_levels\": {\n    \"support\": [\n      62198,\n      62100,\n      60200,\n      60146,\n      56600,\n      56400\n    ],\n    \"resistance\": [\n      62779.4,\n      62973.35,\n      64000,\n      64250,\n      65300,\n      68900\n    ]\n  },\n  \"time_horizon\": \"short term, 향후 4-8시간\",\n  \"invalidation_level\": \"$64,250 이상에서 15분봉 기준 구조적 수용 및 유지\",\n  \"risk_scenario\": \"반대로 가격이 $62,973 EMA120을 회복하고 $64,000 상방 청산대를 흡수하면 숏 커버링이 발생해 $64,250 7일 고점, 이후 $65,300 청산 레벨까지 빠르게 확장될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bullish",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.758,
      "setup_signals": [
        "현재가 $62,679.90는 EQ $62,940.55 아래의 discount 영역에 위치",
        "현재 되돌림이 90.4%로 깊은 discount retracement 상태이며, 최대 되돌림은 93.2%",
        "이전 bullish CHoCH 레벨 $62,327.00 위에서 아직 가격이 유지되고 있음",
        "현재가가 EMA240 $62,671.02 부근에서 반응 중이며 단기 균형선 테스트 구간",
        "상단 $63,600.00~$63,832.50에는 candidate bearish OB가 있어 반등 시 1차 공급 구간으로 작용 가능"
      ],
      "reasoning": "확정 구조 기준으로는 최근 시퀀스가 BOS_bullish → BOS_bearish → CHoCH_bullish → BOS_bearish이며, 마지막 확정 이벤트가 $63,120.40의 bearish BOS이므로 structure_bias는 bearish로 본다. 다만 실행 셋업 관점에서는 현재가 $62,679.90가 EQ $62,940.55 아래 discount에 있고, 되돌림이 90.4%까지 깊어져 단기적으로는 bullish mean reversion 셋업이 우세하다. $62,327.00 bullish CHoCH 레벨 위를 유지하는 동안에는 $62,940.55 EQ 및 $63,120.40 구조 회복을 노리는 반등 시나리오가 유효하다. 그러나 최근 liquidity sweep이 없고, active bullish OB 및 unfilled FVG가 전혀 없기 때문에 확정 매수 구조라기보다는 pre-confirmation bullish setup으로 해석해야 한다.",
      "key_levels": {
        "support": [
          62457.5,
          62381.2,
          62379.1,
          61150.2,
          60371.7
        ],
        "resistance": [
          62940.55,
          63120.4,
          63499.9,
          63600.0,
          63832.5,
          64250.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$62,379.10",
      "risk_scenario": "$62,379.10의 sell-side liquidity 및 range low $62,381.20 아래로 가격이 수용되면 bullish discount setup은 실패로 본다. 이 경우 $61,150.20 이전 저점, 더 아래로는 $60,371.70 SSL까지 유동성 사냥이 진행될 수 있으며, $63,120.40 회복 전까지는 bearish continuation 구조가 우세해진다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 1,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 1,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 63600.0,
          "top": 63832.5,
          "quality": "candidate",
          "score": 0.538
        },
        "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": 56,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 60969.2
          },
          {
            "type": "BOS_bearish",
            "level": 61509.1
          },
          {
            "type": "CHoCH_bullish",
            "level": 62327.0
          },
          {
            "type": "BOS_bearish",
            "level": 63120.4
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 1,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "SSL",
            "level": 60371.7
          },
          {
            "type": "SSL",
            "level": 62379.1
          }
        ],
        "current_zone": "discount",
        "eq_level": 62940.55,
        "range_high": 63499.9,
        "range_low": 62381.2,
        "bull_score": 6.2,
        "bear_score": 5.5,
        "setup_bias": "bullish",
        "setup_score": 0.758,
        "setup_signals": [
          "bullish BOS above $60,969.20",
          "bullish CHoCH above $62,327.00",
          "deep retracement 90.4% in discount zone"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 90.4,
        "deepest_retracement_pct": 93.2,
        "previous_day_high": 64250.0,
        "previous_day_low": 61150.2,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": false,
            "high": null,
            "low": null
          },
          "New York": {
            "active": true,
            "high": 63499.9,
            "low": 62457.5
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.758,\n  \"setup_signals\": [\n    \"현재가 $62,679.90는 EQ $62,940.55 아래의 discount 영역에 위치\",\n    \"현재 되돌림이 90.4%로 깊은 discount retracement 상태이며, 최대 되돌림은 93.2%\",\n    \"이전 bullish CHoCH 레벨 $62,327.00 위에서 아직 가격이 유지되고 있음\",\n    \"현재가가 EMA240 $62,671.02 부근에서 반응 중이며 단기 균형선 테스트 구간\",\n    \"상단 $63,600.00~$63,832.50에는 candidate bearish OB가 있어 반등 시 1차 공급 구간으로 작용 가능\"\n  ],\n  \"reasoning\": \"확정 구조 기준으로는 최근 시퀀스가 BOS_bullish → BOS_bearish → CHoCH_bullish → BOS_bearish이며, 마지막 확정 이벤트가 $63,120.40의 bearish BOS이므로 structure_bias는 bearish로 본다. 다만 실행 셋업 관점에서는 현재가 $62,679.90가 EQ $62,940.55 아래 discount에 있고, 되돌림이 90.4%까지 깊어져 단기적으로는 bullish mean reversion 셋업이 우세하다. $62,327.00 bullish CHoCH 레벨 위를 유지하는 동안에는 $62,940.55 EQ 및 $63,120.40 구조 회복을 노리는 반등 시나리오가 유효하다. 그러나 최근 liquidity sweep이 없고, active bullish OB 및 unfilled FVG가 전혀 없기 때문에 확정 매수 구조라기보다는 pre-confirmation bullish setup으로 해석해야 한다.\",\n  \"key_levels\": {\n    \"support\": [\n      62457.5,\n      62381.2,\n      62379.1,\n      61150.2,\n      60371.7\n    ],\n    \"resistance\": [\n      62940.55,\n      63120.4,\n      63499.9,\n      63600.0,\n      63832.5,\n      64250.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$62,379.10\",\n  \"risk_scenario\": \"$62,379.10의 sell-side liquidity 및 range low $62,381.20 아래로 가격이 수용되면 bullish discount setup은 실패로 본다. 이 경우 $61,150.20 이전 저점, 더 아래로는 $60,371.70 SSL까지 유동성 사냥이 진행될 수 있으며, $63,120.40 회복 전까지는 bearish continuation 구조가 우세해진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.64,
      "setup_signals": [
        "현재가 $62,679.90는 완료된 bullish Butterfly PRZ $62,599.91-$63,037.13 내부에 있으며, 해당 패턴은 PRZ 터치/방어 및 중심부 리클레임으로 reaction_score 0.65 확인",
        "가장 강한 활성 형성 패턴은 bullish Gartley PRZ $62,524.12-$62,650.66, D 예상가 $62,587.39, XAB 0.618로 정밀도가 높고 3중 Fib confluence(ABCD, BC_EXT, XAD)",
        "bullish Bat 형성 PRZ $62,367.46-$62,627.10도 동일 구간 아래에 중첩되어 있어 $62,367-$62,651 구간이 단기 수요/반전 후보로 작동",
        "검증된 bullish Gartley 완료 패턴은 D $63,142.61 이후 AD 0.382 반응 도달, TP 후보 $63,450.35 / $63,640.47 / $63,948.20 제공",
        "방향성 점수는 bullish 1.789, bearish 0으로 harmonic 관점에서는 상승 반응 후보가 우세하나, 미확인 PRZ는 단독 구조 전환 근거가 아님"
      ],
      "reasoning": "하모닉 관점에서는 현재가 $62,679.90가 활성 bullish PRZ 클러스터와 매우 가깝고, 특히 $62,599.91-$63,037.13 완료 Butterfly PRZ 안에서 이미 방어 반응이 확인되어 단기 상승 셋업이 우세하다. 가장 우수한 strict/high 형성 Gartley는 PRZ $62,524.12-$62,650.66, D $62,587.39, score 0.964, XAB 0.618로 품질이 높지만 아직 confirmed_reaction=false이므로 구조를 뒤집는 신호는 아니다. 구조_bias는 BOS/CHoCH/수용 확인 데이터가 없고 EMA20 $62,779.40, EMA120 $62,973.35, EMA240 $62,671.02 주변에서 가격이 압축되어 있어 중립으로 본다. 따라서 결론은 구조적 강세 확정이 아니라, $62,367-$62,651 방어 시 $62,846.60, $63,139.62, $63,338.00, $63,450.35로의 반등을 노리는 pre-confirmation bullish setup이다.",
      "key_levels": {
        "support": [
          62650.66,
          62599.91,
          62524.12,
          62497.28,
          62367.46,
          62130.6
        ],
        "resistance": [
          62846.6,
          63037.13,
          63139.62,
          63338.0,
          63450.35,
          63640.47,
          63948.2
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "62130.60",
      "risk_scenario": "$62,524-$62,651 Gartley/Bat PRZ가 방어되지 못하고 $62,367.46 아래로 밀리면 상승 반응 셋업은 약화된다. 특히 $62,130.60 하단까지 이탈하면 활성 bullish Butterfly PRZ까지 실패하는 구조가 되어 $60,146.00 7일 저점 방향의 유동성 재탐색 리스크가 커진다. 반대로 반등하더라도 $63,347.79-$63,755.75에는 bearish Bat/Gartley watch PRZ가 있어, 이 구간에서는 상승 추격보다 부분 청산 또는 반응 확인이 필요하다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 73,
        "completed_patterns_found": 31,
        "forming_d_prz_found": 42,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 66,
        "swing_highs_scanned": 31,
        "swing_lows_scanned": 35,
        "timeframe": "15m",
        "prz_active_threshold_pct": 0.3,
        "prz_nearby_threshold_pct": 0.6,
        "prz_watch_threshold_pct": 1.2,
        "prz_max_width_pct": 0.6,
        "quality_counts": {
          "high": 16,
          "medium": 32,
          "low": 25
        },
        "prz_status_counts": {
          "active": 26,
          "nearby": 12,
          "watch": 6,
          "far": 29,
          "forming": 16
        },
        "high_confluence_prz_count": 38,
        "strict_patterns_found": 46,
        "candidate_patterns_found": 27,
        "active_patterns_at_prz": 26,
        "nearby_patterns": 12,
        "all_patterns": [
          "bat",
          "gartley",
          "bat",
          "crab",
          "gartley",
          "bat",
          "butterfly",
          "shark",
          "crab",
          "butterfly",
          "butterfly",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "bat",
          "gartley",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "gartley",
          "crab",
          "gartley",
          "shark",
          "shark",
          "gartley",
          "gartley",
          "crab",
          "butterfly",
          "butterfly",
          "bat",
          "butterfly",
          "shark",
          "gartley",
          "butterfly",
          "shark",
          "gartley",
          "bat",
          "bat",
          "crab",
          "butterfly",
          "gartley",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "bat",
          "crab",
          "bat",
          "gartley",
          "shark",
          "crab",
          "shark",
          "gartley",
          "crab",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "crab"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.967,
        "best_completion_status": "forming",
        "nearest_pattern": "bat",
        "nearest_prz": 62696.12,
        "price_to_prz": 0.03,
        "prz_range": [
          62481.29,
          62910.95
        ],
        "council_relevant_prz_count": 7,
        "directional_influence_prz_count": 7,
        "confirmed_reaction_prz_count": 2,
        "validated_harmonic_tp_count": 2,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.964,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62587.39,
            "prz_range": [
              62524.12,
              62650.66
            ],
            "prz_width_pct": 0.202,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.15,
            "price_to_prz_pct_raw": -0.1476,
            "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": 62587.39,
              "a_price": 62846.6,
              "tp1_ad_382": 62686.41,
              "tp2_ad_618": 62747.58,
              "tp3_a_or_structure_liquidity": 62846.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.618,
              "ABC": 0.7812
            },
            "x_price": 63171.2,
            "x_idx": 245,
            "x_order": 3,
            "a_price": 62846.6,
            "a_idx": 258,
            "a_order": 3,
            "b_price": 62646.0,
            "b_idx": 284,
            "b_order": 5,
            "c_price": 62802.7,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.961,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62497.28,
            "prz_range": [
              62367.46,
              62627.1
            ],
            "prz_width_pct": 0.415,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.29,
            "price_to_prz_pct_raw": -0.2914,
            "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": 62497.28,
              "a_price": 62846.6,
              "tp1_ad_382": 62630.72,
              "tp2_ad_618": 62713.16,
              "tp3_a_or_structure_liquidity": 62846.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4376,
              "ABC": 0.7812
            },
            "x_price": 63305.0,
            "x_idx": 231,
            "x_order": 3,
            "a_price": 62846.6,
            "a_idx": 258,
            "a_order": 3,
            "b_price": 62646.0,
            "b_idx": 284,
            "b_order": 5,
            "c_price": 62802.7,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.948,
            "ratio_score": 0.919,
            "prz_score": 0.996,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62996.03,
            "prz_range": [
              62803.8,
              63188.26
            ],
            "prz_width_pct": 0.61,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.5,
            "price_to_prz_pct_raw": 0.5044,
            "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": 62996.03,
              "a_price": 63948.2,
              "tp1_ad_382": 63359.76,
              "tp2_ad_618": 63584.47,
              "tp3_a_or_structure_liquidity": 63948.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6317,
              "ABC": 0.4847
            },
            "x_price": 62779.0,
            "x_idx": 184,
            "x_order": 3,
            "a_price": 63948.2,
            "a_idx": 207,
            "a_order": 5,
            "b_price": 63209.6,
            "b_idx": 226,
            "b_order": 8,
            "c_price": 63567.6,
            "c_idx": 249,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.942,
            "ratio_score": 0.992,
            "prz_score": 0.997,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63046.81,
            "prz_range": [
              62854.89,
              63238.72
            ],
            "prz_width_pct": 0.609,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.59,
            "price_to_prz_pct_raw": 0.5854,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 63046.81,
              "a_price": 63659.1,
              "tp1_ad_382": 63280.7,
              "tp2_ad_618": 63425.2,
              "tp3_a_or_structure_liquidity": 63659.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7878,
              "ABC": 0.7416
            },
            "x_price": 63209.6,
            "x_idx": 226,
            "x_order": 8,
            "a_price": 63659.1,
            "a_idx": 230,
            "a_order": 5,
            "b_price": 63305.0,
            "b_idx": 231,
            "b_order": 3,
            "c_price": 63567.6,
            "c_idx": 249,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.915,
            "ratio_score": 0.926,
            "prz_score": 0.98,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62333.57,
            "prz_range": [
              62130.6,
              62536.53
            ],
            "prz_width_pct": 0.651,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.55,
            "price_to_prz_pct_raw": -0.5525,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 62333.57,
              "a_price": 62846.6,
              "tp1_ad_382": 62529.54,
              "tp2_ad_618": 62650.62,
              "tp3_a_or_structure_liquidity": 62846.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8019,
              "ABC": 0.8492
            },
            "x_price": 63209.6,
            "x_idx": 226,
            "x_order": 8,
            "a_price": 62846.6,
            "a_idx": 258,
            "a_order": 3,
            "b_price": 62555.5,
            "b_idx": 290,
            "b_order": 5,
            "c_price": 62802.7,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.909,
            "ratio_score": 0.981,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63171.2,
            "prz_range": [
              62994.85,
              63290.38
            ],
            "prz_width_pct": 0.468,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.74,
            "price_to_prz_pct_raw": 0.7382,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.51,
                "adverse_move_ratio_ad": 1.017,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 63142.61,
              "a_price": 63948.2,
              "tp1_ad_382": 63450.35,
              "tp2_ad_618": 63640.47,
              "tp3_a_or_structure_liquidity": 63948.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6225,
              "ABC": 0.8127,
              "BCD": 1.3171,
              "XAD": 0.7829
            },
            "x_price": 62955.7,
            "x_idx": 189,
            "x_order": 3,
            "a_price": 63948.2,
            "a_idx": 207,
            "a_order": 5,
            "b_price": 63330.4,
            "b_idx": 210,
            "b_order": 3,
            "c_price": 63832.5,
            "c_idx": 242,
            "c_order": 8,
            "d_idx": 245
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.891,
            "ratio_score": 1.0,
            "prz_score": 0.993,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 63544.51,
            "prz_range": [
              63347.79,
              63741.23
            ],
            "prz_width_pct": 0.619,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.38,
            "price_to_prz_pct_raw": 1.3794,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 63544.51,
              "a_price": 62676.8,
              "tp1_ad_382": 63213.05,
              "tp2_ad_618": 63008.27,
              "tp3_a_or_structure_liquidity": 62676.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4788,
              "ABC": 0.3888
            },
            "x_price": 63849.5,
            "x_idx": 158,
            "x_order": 8,
            "a_price": 62676.8,
            "a_idx": 162,
            "a_order": 8,
            "b_price": 63238.3,
            "b_idx": 164,
            "b_order": 3,
            "c_price": 63020.0,
            "c_idx": 200,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.878,
            "ratio_score": 0.886,
            "prz_score": 0.989,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63120.4,
            "prz_range": [
              62847.61,
              63243.22
            ],
            "prz_width_pct": 0.627,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.58,
            "price_to_prz_pct_raw": 0.5831,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 1.322,
                "adverse_move_ratio_ad": 0.148,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 63045.42,
              "a_price": 63659.1,
              "tp1_ad_382": 63279.84,
              "tp2_ad_618": 63424.67,
              "tp3_a_or_structure_liquidity": 63659.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7878,
              "ABC": 0.7543,
              "BCD": 1.6911,
              "XAD": 1.1984
            },
            "x_price": 63209.6,
            "x_idx": 226,
            "x_order": 8,
            "a_price": 63659.1,
            "a_idx": 230,
            "a_order": 5,
            "b_price": 63305.0,
            "b_idx": 231,
            "b_order": 3,
            "c_price": 63572.1,
            "c_idx": 234,
            "c_order": 3,
            "d_idx": 237
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.919,
            "ratio_score": 0.955,
            "prz_score": 0.963,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62646.0,
            "prz_range": [
              62599.91,
              63037.13
            ],
            "prz_width_pct": 0.696,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.22,
            "price_to_prz_pct_raw": 0.2212,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.335,
                "adverse_move_ratio_ad": 0.186,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 62818.52,
              "a_price": 63659.1,
              "tp1_ad_382": 63139.62,
              "tp2_ad_618": 63338.0,
              "tp3_a_or_structure_liquidity": 63659.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7634,
              "ABC": 0.6737,
              "BCD": 2.5978,
              "XAD": 1.5852
            },
            "x_price": 63020.0,
            "x_idx": 200,
            "x_order": 3,
            "a_price": 63659.1,
            "a_idx": 230,
            "a_order": 5,
            "b_price": 63171.2,
            "b_idx": 245,
            "b_order": 3,
            "c_price": 63499.9,
            "c_idx": 274,
            "c_order": 8,
            "d_idx": 284
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.909,
            "ratio_score": 0.981,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63171.2,
            "prz_range": [
              62994.85,
              63290.38
            ],
            "prz_width_pct": 0.468,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.74,
            "price_to_prz_pct_raw": 0.7382,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.51,
                "adverse_move_ratio_ad": 1.017,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 63142.61,
              "a_price": 63948.2,
              "tp1_ad_382": 63450.35,
              "tp2_ad_618": 63640.47,
              "tp3_a_or_structure_liquidity": 63948.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6225,
              "ABC": 0.8127,
              "BCD": 1.3171,
              "XAD": 0.7829
            },
            "x_price": 62955.7,
            "x_idx": 189,
            "x_order": 3,
            "a_price": 63948.2,
            "a_idx": 207,
            "a_order": 5,
            "b_price": 63330.4,
            "b_idx": 210,
            "b_order": 3,
            "c_price": 63832.5,
            "c_idx": 242,
            "c_order": 8,
            "d_idx": 245
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.964,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62587.39,
            "prz_range": [
              62524.12,
              62650.66
            ],
            "prz_width_pct": 0.202,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.15,
            "price_to_prz_pct_raw": -0.1476,
            "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": 62587.39,
              "a_price": 62846.6,
              "tp1_ad_382": 62686.41,
              "tp2_ad_618": 62747.58,
              "tp3_a_or_structure_liquidity": 62846.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.618,
              "ABC": 0.7812
            },
            "x_price": 63171.2,
            "x_idx": 245,
            "x_order": 3,
            "a_price": 62846.6,
            "a_idx": 258,
            "a_order": 3,
            "b_price": 62646.0,
            "b_idx": 284,
            "b_order": 5,
            "c_price": 62802.7,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.961,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62497.28,
            "prz_range": [
              62367.46,
              62627.1
            ],
            "prz_width_pct": 0.415,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.29,
            "price_to_prz_pct_raw": -0.2914,
            "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": 62497.28,
              "a_price": 62846.6,
              "tp1_ad_382": 62630.72,
              "tp2_ad_618": 62713.16,
              "tp3_a_or_structure_liquidity": 62846.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4376,
              "ABC": 0.7812
            },
            "x_price": 63305.0,
            "x_idx": 231,
            "x_order": 3,
            "a_price": 62846.6,
            "a_idx": 258,
            "a_order": 3,
            "b_price": 62646.0,
            "b_idx": 284,
            "b_order": 5,
            "c_price": 62802.7,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.948,
            "ratio_score": 0.919,
            "prz_score": 0.996,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62996.03,
            "prz_range": [
              62803.8,
              63188.26
            ],
            "prz_width_pct": 0.61,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.5,
            "price_to_prz_pct_raw": 0.5044,
            "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": 62996.03,
              "a_price": 63948.2,
              "tp1_ad_382": 63359.76,
              "tp2_ad_618": 63584.47,
              "tp3_a_or_structure_liquidity": 63948.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6317,
              "ABC": 0.4847
            },
            "x_price": 62779.0,
            "x_idx": 184,
            "x_order": 3,
            "a_price": 63948.2,
            "a_idx": 207,
            "a_order": 5,
            "b_price": 63209.6,
            "b_idx": 226,
            "b_order": 8,
            "c_price": 63567.6,
            "c_idx": 249,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.942,
            "ratio_score": 0.992,
            "prz_score": 0.997,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63046.81,
            "prz_range": [
              62854.89,
              63238.72
            ],
            "prz_width_pct": 0.609,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.59,
            "price_to_prz_pct_raw": 0.5854,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 63046.81,
              "a_price": 63659.1,
              "tp1_ad_382": 63280.7,
              "tp2_ad_618": 63425.2,
              "tp3_a_or_structure_liquidity": 63659.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7878,
              "ABC": 0.7416
            },
            "x_price": 63209.6,
            "x_idx": 226,
            "x_order": 8,
            "a_price": 63659.1,
            "a_idx": 230,
            "a_order": 5,
            "b_price": 63305.0,
            "b_idx": 231,
            "b_order": 3,
            "c_price": 63567.6,
            "c_idx": 249,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.915,
            "ratio_score": 0.926,
            "prz_score": 0.98,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62333.57,
            "prz_range": [
              62130.6,
              62536.53
            ],
            "prz_width_pct": 0.651,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.55,
            "price_to_prz_pct_raw": -0.5525,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 62333.57,
              "a_price": 62846.6,
              "tp1_ad_382": 62529.54,
              "tp2_ad_618": 62650.62,
              "tp3_a_or_structure_liquidity": 62846.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8019,
              "ABC": 0.8492
            },
            "x_price": 63209.6,
            "x_idx": 226,
            "x_order": 8,
            "a_price": 62846.6,
            "a_idx": 258,
            "a_order": 3,
            "b_price": 62555.5,
            "b_idx": 290,
            "b_order": 5,
            "c_price": 62802.7,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.964,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62587.39,
            "prz_range": [
              62524.12,
              62650.66
            ],
            "prz_width_pct": 0.202,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.15,
            "price_to_prz_pct_raw": -0.1476,
            "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": 62587.39,
              "a_price": 62846.6,
              "tp1_ad_382": 62686.41,
              "tp2_ad_618": 62747.58,
              "tp3_a_or_structure_liquidity": 62846.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.618,
              "ABC": 0.7812
            },
            "x_price": 63171.2,
            "x_idx": 245,
            "x_order": 3,
            "a_price": 62846.6,
            "a_idx": 258,
            "a_order": 3,
            "b_price": 62646.0,
            "b_idx": 284,
            "b_order": 5,
            "c_price": 62802.7,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.961,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62497.28,
            "prz_range": [
              62367.46,
              62627.1
            ],
            "prz_width_pct": 0.415,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.29,
            "price_to_prz_pct_raw": -0.2914,
            "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": 62497.28,
              "a_price": 62846.6,
              "tp1_ad_382": 62630.72,
              "tp2_ad_618": 62713.16,
              "tp3_a_or_structure_liquidity": 62846.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4376,
              "ABC": 0.7812
            },
            "x_price": 63305.0,
            "x_idx": 231,
            "x_order": 3,
            "a_price": 62846.6,
            "a_idx": 258,
            "a_order": 3,
            "b_price": 62646.0,
            "b_idx": 284,
            "b_order": 5,
            "c_price": 62802.7,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.948,
            "ratio_score": 0.919,
            "prz_score": 0.996,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62996.03,
            "prz_range": [
              62803.8,
              63188.26
            ],
            "prz_width_pct": 0.61,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.5,
            "price_to_prz_pct_raw": 0.5044,
            "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": 62996.03,
              "a_price": 63948.2,
              "tp1_ad_382": 63359.76,
              "tp2_ad_618": 63584.47,
              "tp3_a_or_structure_liquidity": 63948.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6317,
              "ABC": 0.4847
            },
            "x_price": 62779.0,
            "x_idx": 184,
            "x_order": 3,
            "a_price": 63948.2,
            "a_idx": 207,
            "a_order": 5,
            "b_price": 63209.6,
            "b_idx": 226,
            "b_order": 8,
            "c_price": 63567.6,
            "c_idx": 249,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.942,
            "ratio_score": 0.992,
            "prz_score": 0.997,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63046.81,
            "prz_range": [
              62854.89,
              63238.72
            ],
            "prz_width_pct": 0.609,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.59,
            "price_to_prz_pct_raw": 0.5854,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 63046.81,
              "a_price": 63659.1,
              "tp1_ad_382": 63280.7,
              "tp2_ad_618": 63425.2,
              "tp3_a_or_structure_liquidity": 63659.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7878,
              "ABC": 0.7416
            },
            "x_price": 63209.6,
            "x_idx": 226,
            "x_order": 8,
            "a_price": 63659.1,
            "a_idx": 230,
            "a_order": 5,
            "b_price": 63305.0,
            "b_idx": 231,
            "b_order": 3,
            "c_price": 63567.6,
            "c_idx": 249,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.915,
            "ratio_score": 0.926,
            "prz_score": 0.98,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62333.57,
            "prz_range": [
              62130.6,
              62536.53
            ],
            "prz_width_pct": 0.651,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.55,
            "price_to_prz_pct_raw": -0.5525,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 62333.57,
              "a_price": 62846.6,
              "tp1_ad_382": 62529.54,
              "tp2_ad_618": 62650.62,
              "tp3_a_or_structure_liquidity": 62846.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8019,
              "ABC": 0.8492
            },
            "x_price": 63209.6,
            "x_idx": 226,
            "x_order": 8,
            "a_price": 62846.6,
            "a_idx": 258,
            "a_order": 3,
            "b_price": 62555.5,
            "b_idx": 290,
            "b_order": 5,
            "c_price": 62802.7,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.909,
            "ratio_score": 0.981,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63171.2,
            "prz_range": [
              62994.85,
              63290.38
            ],
            "prz_width_pct": 0.468,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.74,
            "price_to_prz_pct_raw": 0.7382,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.51,
                "adverse_move_ratio_ad": 1.017,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 63142.61,
              "a_price": 63948.2,
              "tp1_ad_382": 63450.35,
              "tp2_ad_618": 63640.47,
              "tp3_a_or_structure_liquidity": 63948.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6225,
              "ABC": 0.8127,
              "BCD": 1.3171,
              "XAD": 0.7829
            },
            "x_price": 62955.7,
            "x_idx": 189,
            "x_order": 3,
            "a_price": 63948.2,
            "a_idx": 207,
            "a_order": 5,
            "b_price": 63330.4,
            "b_idx": 210,
            "b_order": 3,
            "c_price": 63832.5,
            "c_idx": 242,
            "c_order": 8,
            "d_idx": 245
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.891,
            "ratio_score": 1.0,
            "prz_score": 0.993,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 63544.51,
            "prz_range": [
              63347.79,
              63741.23
            ],
            "prz_width_pct": 0.619,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.38,
            "price_to_prz_pct_raw": 1.3794,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 63544.51,
              "a_price": 62676.8,
              "tp1_ad_382": 63213.05,
              "tp2_ad_618": 63008.27,
              "tp3_a_or_structure_liquidity": 62676.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4788,
              "ABC": 0.3888
            },
            "x_price": 63849.5,
            "x_idx": 158,
            "x_order": 8,
            "a_price": 62676.8,
            "a_idx": 162,
            "a_order": 8,
            "b_price": 63238.3,
            "b_idx": 164,
            "b_order": 3,
            "c_price": 63020.0,
            "c_idx": 200,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.878,
            "ratio_score": 0.886,
            "prz_score": 0.989,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63120.4,
            "prz_range": [
              62847.61,
              63243.22
            ],
            "prz_width_pct": 0.627,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.58,
            "price_to_prz_pct_raw": 0.5831,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 1.322,
                "adverse_move_ratio_ad": 0.148,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 63045.42,
              "a_price": 63659.1,
              "tp1_ad_382": 63279.84,
              "tp2_ad_618": 63424.67,
              "tp3_a_or_structure_liquidity": 63659.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7878,
              "ABC": 0.7543,
              "BCD": 1.6911,
              "XAD": 1.1984
            },
            "x_price": 63209.6,
            "x_idx": 226,
            "x_order": 8,
            "a_price": 63659.1,
            "a_idx": 230,
            "a_order": 5,
            "b_price": 63305.0,
            "b_idx": 231,
            "b_order": 3,
            "c_price": 63572.1,
            "c_idx": 234,
            "c_order": 3,
            "d_idx": 237
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.872,
            "ratio_score": 0.856,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62457.5,
            "prz_range": [
              62377.75,
              62548.35
            ],
            "prz_width_pct": 0.273,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.35,
            "price_to_prz_pct_raw": -0.346,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.625,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 3,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 62463.05,
              "a_price": 62846.6,
              "tp1_ad_382": 62609.56,
              "tp2_ad_618": 62700.08,
              "tp3_a_or_structure_liquidity": 62846.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6255,
              "ABC": 0.8492,
              "BCD": 1.3964,
              "XAD": 0.8361
            },
            "x_price": 62381.2,
            "x_idx": 255,
            "x_order": 8,
            "a_price": 62846.6,
            "a_idx": 258,
            "a_order": 3,
            "b_price": 62555.5,
            "b_idx": 290,
            "b_order": 5,
            "c_price": 62802.7,
            "c_idx": 295,
            "c_order": 3,
            "d_idx": 296
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.85,
            "ratio_score": 0.863,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 63568.68,
            "prz_range": [
              63381.6,
              63755.75
            ],
            "prz_width_pct": 0.589,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.42,
            "price_to_prz_pct_raw": 1.418,
            "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": 63568.68,
              "a_price": 62377.0,
              "tp1_ad_382": 63113.46,
              "tp2_ad_618": 62832.22,
              "tp3_a_or_structure_liquidity": 62377.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.641,
              "ABC": 0.7019
            },
            "x_price": 63849.5,
            "x_idx": 158,
            "x_order": 8,
            "a_price": 62377.0,
            "a_idx": 178,
            "a_order": 8,
            "b_price": 63320.9,
            "b_idx": 187,
            "b_order": 5,
            "c_price": 62658.4,
            "c_idx": 204,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.821,
            "ratio_score": 0.878,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 63572.1,
            "prz_range": [
              63381.6,
              63755.75
            ],
            "prz_width_pct": 0.589,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.42,
            "price_to_prz_pct_raw": 1.418,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.378,
                "adverse_move_ratio_ad": 0.218,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 63568.68,
              "a_price": 62377.0,
              "tp1_ad_382": 63113.46,
              "tp2_ad_618": 62832.22,
              "tp3_a_or_structure_liquidity": 62377.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.641,
              "ABC": 0.7019,
              "BCD": 1.3792,
              "XAD": 0.8116
            },
            "x_price": 63849.5,
            "x_idx": 158,
            "x_order": 8,
            "a_price": 62377.0,
            "a_idx": 178,
            "a_order": 8,
            "b_price": 63320.9,
            "b_idx": 187,
            "b_order": 5,
            "c_price": 62658.4,
            "c_idx": 204,
            "c_order": 8,
            "d_idx": 234
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.812,
            "ratio_score": 0.706,
            "prz_score": 0.999,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63120.4,
            "prz_range": [
              62773.38,
              63153.39
            ],
            "prz_width_pct": 0.604,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.45,
            "price_to_prz_pct_raw": 0.4523,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.961,
                "adverse_move_ratio_ad": 0.107,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62963.38,
              "a_price": 63861.3,
              "tp1_ad_382": 63306.39,
              "tp2_ad_618": 63518.3,
              "tp3_a_or_structure_liquidity": 63861.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4905,
              "ABC": 0.6191,
              "BCD": 1.6389,
              "XAD": 0.6846
            },
            "x_price": 62779.0,
            "x_idx": 184,
            "x_order": 3,
            "a_price": 63861.3,
            "a_idx": 202,
            "a_order": 3,
            "b_price": 63330.4,
            "b_idx": 210,
            "b_order": 3,
            "c_price": 63659.1,
            "c_idx": 230,
            "c_order": 5,
            "d_idx": 237
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.964,
            "prz_proximity": "active",
            "prz_range": [
              62524.12,
              62650.66
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.15,
            "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": 62587.39,
              "a_price": 62846.6,
              "tp1_ad_382": 62686.41,
              "tp2_ad_618": 62747.58,
              "tp3_a_or_structure_liquidity": 62846.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $62,524.12-$62,650.66: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.961,
            "prz_proximity": "active",
            "prz_range": [
              62367.46,
              62627.1
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.29,
            "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": "bat",
              "d_price": 62497.28,
              "a_price": 62846.6,
              "tp1_ad_382": 62630.72,
              "tp2_ad_618": 62713.16,
              "tp3_a_or_structure_liquidity": 62846.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $62,367.46-$62,627.10: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.948,
            "prz_proximity": "active",
            "prz_range": [
              62803.8,
              63188.26
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.5,
            "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": 62996.03,
              "a_price": 63948.2,
              "tp1_ad_382": 63359.76,
              "tp2_ad_618": 63584.47,
              "tp3_a_or_structure_liquidity": 63948.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $62,803.80-$63,188.26: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.942,
            "prz_proximity": "active",
            "prz_range": [
              62854.89,
              63238.72
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.59,
            "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": "butterfly",
              "d_price": 63046.81,
              "a_price": 63659.1,
              "tp1_ad_382": 63280.7,
              "tp2_ad_618": 63425.2,
              "tp3_a_or_structure_liquidity": 63659.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY FORMING HIGH PRZ $62,854.89-$63,238.72: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.919,
            "prz_proximity": "active",
            "prz_range": [
              62599.91,
              63037.13
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.22,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.65,
              "reaction_detail": {
                "reaction_score": 0.65,
                "reaction_move_ratio_ad": 0.335,
                "adverse_move_ratio_ad": 0.186,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 62818.52,
              "a_price": 63659.1,
              "tp1_ad_382": 63139.62,
              "tp2_ad_618": 63338.0,
              "tp3_a_or_structure_liquidity": 63659.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY COMPLETED MEDIUM PRZ $62,599.91-$63,037.13: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.915,
            "prz_proximity": "active",
            "prz_range": [
              62130.6,
              62536.53
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.55,
            "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": "butterfly",
              "d_price": 62333.57,
              "a_price": 62846.6,
              "tp1_ad_382": 62529.54,
              "tp2_ad_618": 62650.62,
              "tp3_a_or_structure_liquidity": 62846.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY FORMING HIGH PRZ $62,130.60-$62,536.53: 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.964,
          "ratio_score": 1.0,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 62587.39,
          "prz_range": [
            62524.12,
            62650.66
          ],
          "prz_width_pct": 0.202,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.15,
          "price_to_prz_pct_raw": -0.1476,
          "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": 62587.39,
            "a_price": 62846.6,
            "tp1_ad_382": 62686.41,
            "tp2_ad_618": 62747.58,
            "tp3_a_or_structure_liquidity": 62846.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.618,
            "ABC": 0.7812
          },
          "x_price": 63171.2,
          "x_idx": 245,
          "x_order": 3,
          "a_price": 62846.6,
          "a_idx": 258,
          "a_order": 3,
          "b_price": 62646.0,
          "b_idx": 284,
          "b_order": 5,
          "c_price": 62802.7,
          "c_idx": 295,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 62587.39,
          "a_price": 62846.6,
          "tp1_ad_382": 62686.41,
          "tp2_ad_618": 62747.58,
          "tp3_a_or_structure_liquidity": 62846.6,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 63142.61,
          "a_price": 63948.2,
          "tp1_ad_382": 63450.35,
          "tp2_ad_618": 63640.47,
          "tp3_a_or_structure_liquidity": 63948.2,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 62587.39,
            "a_price": 62846.6,
            "tp1_ad_382": 62686.41,
            "tp2_ad_618": 62747.58,
            "tp3_a_or_structure_liquidity": 62846.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 62497.28,
            "a_price": 62846.6,
            "tp1_ad_382": 62630.72,
            "tp2_ad_618": 62713.16,
            "tp3_a_or_structure_liquidity": 62846.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 62996.03,
            "a_price": 63948.2,
            "tp1_ad_382": 63359.76,
            "tp2_ad_618": 63584.47,
            "tp3_a_or_structure_liquidity": 63948.2,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 63046.81,
            "a_price": 63659.1,
            "tp1_ad_382": 63280.7,
            "tp2_ad_618": 63425.2,
            "tp3_a_or_structure_liquidity": 63659.1,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 62818.52,
            "a_price": 63659.1,
            "tp1_ad_382": 63139.62,
            "tp2_ad_618": 63338.0,
            "tp3_a_or_structure_liquidity": 63659.1,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 62333.57,
            "a_price": 62846.6,
            "tp1_ad_382": 62529.54,
            "tp2_ad_618": 62650.62,
            "tp3_a_or_structure_liquidity": 62846.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 62818.52,
            "a_price": 63659.1,
            "tp1_ad_382": 63139.62,
            "tp2_ad_618": 63338.0,
            "tp3_a_or_structure_liquidity": 63659.1,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 63142.61,
            "a_price": 63948.2,
            "tp1_ad_382": 63450.35,
            "tp2_ad_618": 63640.47,
            "tp3_a_or_structure_liquidity": 63948.2,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "watch",
        "directional_scores": {
          "bullish": 1.789,
          "bearish": 0
        },
        "directional_score_total": 1.789,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"현재가 $62,679.90는 완료된 bullish Butterfly PRZ $62,599.91-$63,037.13 내부에 있으며, 해당 패턴은 PRZ 터치/방어 및 중심부 리클레임으로 reaction_score 0.65 확인\",\n    \"가장 강한 활성 형성 패턴은 bullish Gartley PRZ $62,524.12-$62,650.66, D 예상가 $62,587.39, XAB 0.618로 정밀도가 높고 3중 Fib confluence(ABCD, BC_EXT, XAD)\",\n    \"bullish Bat 형성 PRZ $62,367.46-$62,627.10도 동일 구간 아래에 중첩되어 있어 $62,367-$62,651 구간이 단기 수요/반전 후보로 작동\",\n    \"검증된 bullish Gartley 완료 패턴은 D $63,142.61 이후 AD 0.382 반응 도달, TP 후보 $63,450.35 / $63,640.47 / $63,948.20 제공\",\n    \"방향성 점수는 bullish 1.789, bearish 0으로 harmonic 관점에서는 상승 반응 후보가 우세하나, 미확인 PRZ는 단독 구조 전환 근거가 아님\"\n  ],\n  \"reasoning\": \"하모닉 관점에서는 현재가 $62,679.90가 활성 bullish PRZ 클러스터와 매우 가깝고, 특히 $62,599.91-$63,037.13 완료 Butterfly PRZ 안에서 이미 방어 반응이 확인되어 단기 상승 셋업이 우세하다. 가장 우수한 strict/high 형성 Gartley는 PRZ $62,524.12-$62,650.66, D $62,587.39, score 0.964, XAB 0.618로 품질이 높지만 아직 confirmed_reaction=false이므로 구조를 뒤집는 신호는 아니다. 구조_bias는 BOS/CHoCH/수용 확인 데이터가 없고 EMA20 $62,779.40, EMA120 $62,973.35, EMA240 $62,671.02 주변에서 가격이 압축되어 있어 중립으로 본다. 따라서 결론은 구조적 강세 확정이 아니라, $62,367-$62,651 방어 시 $62,846.60, $63,139.62, $63,338.00, $63,450.35로의 반등을 노리는 pre-confirmation bullish setup이다.\",\n  \"key_levels\": {\n    \"support\": [\n      62650.66,\n      62599.91,\n      62524.12,\n      62497.28,\n      62367.46,\n      62130.6\n    ],\n    \"resistance\": [\n      62846.6,\n      63037.13,\n      63139.62,\n      63338.0,\n      63450.35,\n      63640.47,\n      63948.2\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"62130.60\",\n  \"risk_scenario\": \"$62,524-$62,651 Gartley/Bat PRZ가 방어되지 못하고 $62,367.46 아래로 밀리면 상승 반응 셋업은 약화된다. 특히 $62,130.60 하단까지 이탈하면 활성 bullish Butterfly PRZ까지 실패하는 구조가 되어 $60,146.00 7일 저점 방향의 유동성 재탐색 리스크가 커진다. 반대로 반등하더라도 $63,347.79-$63,755.75에는 bearish Bat/Gartley watch PRZ가 있어, 이 구간에서는 상승 추격보다 부분 청산 또는 반응 확인이 필요하다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.76,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "현재가 $62,679.90는 메인 분배 범위 EQ 약 $62,225보다 위에 있어 할인권 매수보다 프리미엄권 공급 테스트 성격이 강함",
        "LPSY $62,945.80 아래에서 가격이 머물며 Phase D 분배 구조의 공급 우위가 유지됨",
        "UTAD $63,567.60 이후 LPSY $62,945.80로 고점이 낮아져 상단 실패 이후 재공급 패턴이 확인됨",
        "현재가가 EMA20 $62,779.40 및 EMA120 $62,973.35 아래에 있어 단기 반등이 아직 구조적 회복으로 확인되지 않음",
        "하단 SOW 후보 구간 $62,536.40 및 ST 저점 $62,489.00 재시험 가능성이 열려 있음"
      ],
      "reasoning": "15분 구조는 regime이 DIS이고 regime_fitness가 0.963, dis_score가 96.2로 높아 분배 우위 해석이 우선입니다. 주요 이벤트 체인은 BC $62,942.40 → AR $61,509.10 → ST $63,849.50 → SOW_IN_PHASE_B $62,377.00 → UT $63,554.70 → UTAD $63,567.60 → LPSY $62,945.80로, 현재는 Phase D의 LPSY 이후 구간으로 보는 것이 타당합니다. 현재가 $62,679.90는 LPSY $62,945.80 및 EMA120 $62,973.35 아래에 있어 상방 회복보다는 $62,536.40/$62,489.00 하단 재시험 쪽의 즉시 경로가 우세합니다. 다만 메인 범위 저점 $61,509.10 이탈 후 수용이 아직 명확히 제시된 것은 아니므로, 이는 확정 하락 추세 선언이 아니라 분배 Phase D 내 약세 지속 시나리오입니다.",
      "key_levels": {
        "support": [
          62536.4,
          62489.0,
          62377.0,
          61509.1
        ],
        "resistance": [
          62779.4,
          62945.8,
          62973.35,
          63567.6,
          63849.5
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "63567.60",
      "risk_scenario": "가격이 LPSY $62,945.80를 회복하고 특히 UTAD $63,567.60 위에서 수용되면 Phase D 약세 해석은 훼손됩니다. 그 경우 $63,849.50 ST 고점 재시험 또는 상단 재흡수 시나리오로 전환될 수 있으며, 단순 LPSY 이후 하락 지속 판단은 중립으로 낮춰야 합니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 88.8,
        "dis_score": 96.2,
        "regime": "DIS",
        "regime_state": "dis_candidate",
        "structure_bias": "bearish",
        "phase_context": "dis_candidate / distribution / Phase D",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "UTAD",
          "LPSY"
        ],
        "last_phase": "LPSY",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 95,
            "price": 62942.4,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 110,
            "price": 61509.1,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 158,
            "price": 63849.5,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 178,
            "price": 62377.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 193,
            "price": 63554.7,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 249,
            "price": 63567.6,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 265,
            "price": 62945.8,
            "color": "#8338ec"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 95,
            "end_idx": 265,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 95,
                "price": 62942.4,
                "color": "#ffd166",
                "dt": "2026-06-07 17:45:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 110,
                "price": 61509.1,
                "color": "#06d6a0",
                "dt": "2026-06-07 21:30:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 158,
                "price": 63849.5,
                "color": "#118ab2",
                "dt": "2026-06-08 09:30:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 178,
                "price": 62377.0,
                "color": "#ef476f",
                "dt": "2026-06-08 14:30:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 193,
                "price": 63554.7,
                "color": "#f9844a",
                "dt": "2026-06-08 18:15:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 249,
                "price": 63567.6,
                "color": "#f9844a",
                "dt": "2026-06-09 08:15:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 265,
                "price": 62945.8,
                "color": "#8338ec",
                "dt": "2026-06-09 12:15:00+09:00"
              }
            ]
          },
          {
            "structure_id": "15m_cycle_2",
            "sequence": 2,
            "timeframe": "15m",
            "regime": "redistribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "redistribution",
            "start_idx": 276,
            "end_idx": 299,
            "phase_count": 4,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 276,
                "price": 63250.4,
                "color": "#ffd166",
                "dt": "2026-06-09 15:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 295,
                "price": 62802.7,
                "color": "#06d6a0",
                "dt": "2026-06-09 19:45:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 298,
                "price": 62489.0,
                "color": "#118ab2",
                "dt": "2026-06-09 20:30:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 299,
                "price": 62536.4,
                "color": "#ef476f",
                "dt": "2026-06-09 20:45:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_2",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 2,
        "regime_fitness": 0.9625,
        "current_event": "LPSY",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 61509.1,
        "main_range_high": 62942.4
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.76,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"현재가 $62,679.90는 메인 분배 범위 EQ 약 $62,225보다 위에 있어 할인권 매수보다 프리미엄권 공급 테스트 성격이 강함\",\n    \"LPSY $62,945.80 아래에서 가격이 머물며 Phase D 분배 구조의 공급 우위가 유지됨\",\n    \"UTAD $63,567.60 이후 LPSY $62,945.80로 고점이 낮아져 상단 실패 이후 재공급 패턴이 확인됨\",\n    \"현재가가 EMA20 $62,779.40 및 EMA120 $62,973.35 아래에 있어 단기 반등이 아직 구조적 회복으로 확인되지 않음\",\n    \"하단 SOW 후보 구간 $62,536.40 및 ST 저점 $62,489.00 재시험 가능성이 열려 있음\"\n  ],\n  \"reasoning\": \"15분 구조는 regime이 DIS이고 regime_fitness가 0.963, dis_score가 96.2로 높아 분배 우위 해석이 우선입니다. 주요 이벤트 체인은 BC $62,942.40 → AR $61,509.10 → ST $63,849.50 → SOW_IN_PHASE_B $62,377.00 → UT $63,554.70 → UTAD $63,567.60 → LPSY $62,945.80로, 현재는 Phase D의 LPSY 이후 구간으로 보는 것이 타당합니다. 현재가 $62,679.90는 LPSY $62,945.80 및 EMA120 $62,973.35 아래에 있어 상방 회복보다는 $62,536.40/$62,489.00 하단 재시험 쪽의 즉시 경로가 우세합니다. 다만 메인 범위 저점 $61,509.10 이탈 후 수용이 아직 명확히 제시된 것은 아니므로, 이는 확정 하락 추세 선언이 아니라 분배 Phase D 내 약세 지속 시나리오입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      62536.4,\n      62489.0,\n      62377.0,\n      61509.1\n    ],\n    \"resistance\": [\n      62779.4,\n      62945.8,\n      62973.35,\n      63567.6,\n      63849.5\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"63567.60\",\n  \"risk_scenario\": \"가격이 LPSY $62,945.80를 회복하고 특히 UTAD $63,567.60 위에서 수용되면 Phase D 약세 해석은 훼손됩니다. 그 경우 $63,849.50 ST 고점 재시험 또는 상단 재흡수 시나리오로 전환될 수 있으며, 단순 LPSY 이후 하락 지속 판단은 중립으로 낮춰야 합니다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.68,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.7,
      "active_setups": [
        "가격이 EMA20 $62,779.40 및 EMA120 $62,973.35 아래에 머물며 단기 반등 수용이 아직 확인되지 않음",
        "피보나치 하락 스윙 $63,500 → $62,556 기준 0.236 되돌림 저항 $62,778.38 아래에서 테스트 중",
        "Wyckoff LPSY $62,945.80 아래에 위치해 Phase D 분배/재분배 구조의 공급 우위가 유지됨",
        "롱 계정 비율 0.660으로 롱 쏠림이 강하고, CVD 변화량 -1778.1230으로 반등 대비 체결 매수 참여가 약함",
        "7일 레인지 EQ $62,198 위에 있어 약한 프리미엄 구간이나, 상단 EMA·LPSY 회복 실패 상태",
        "반대편 조건으로는 ICT와 Harmonic이 $62,367~$62,651 부근을 단기 할인/PRZ 수요 후보로 제시"
      ],
      "setup_vs_structure": "구조와 실행 셋업은 대체로 약세 방향으로 정렬되어 있다. 다만 ICT·Harmonic은 현재가가 할인/PRZ 반응권에 있다고 보므로, 즉시 약세 구조 안에서도 단기 반등 리스크는 별도로 관리해야 한다."
    },
    "signal_breakdown": {
      "bullish_count": 0,
      "bearish_count": 3,
      "neutral_count": 3
    },
    "key_levels": {
      "support": [
        62650.66,
        62555.5,
        62536.4,
        62489.0,
        62379.1,
        62377.0,
        62198.0,
        62164.52,
        61509.1
      ],
      "resistance": [
        62778.38,
        62779.4,
        62916.26,
        62945.8,
        62973.35,
        63027.7,
        63120.4,
        63139.14,
        63567.6
      ]
    },
    "confluences": [
      "Candlestick, Derivatives, Fibonacci, Wyckoff가 모두 $62,778~$62,779 부근을 즉시 저항으로 보고 있음: EMA20 $62,779.40과 Fib 0.236 $62,778.38이 겹침",
      "Wyckoff LPSY $62,945.80, EMA120 $62,973.35, ICT EQ $62,940.55가 $62,940~$62,973 저항 클러스터를 형성함",
      "Fibonacci의 $62,555.50, Wyckoff의 $62,536.40/$62,489.00, Harmonic bullish PRZ $62,524.12~$62,650.66이 $62,489~$62,651 수요/반응 후보 구간으로 중첩됨",
      "ICT resting SSL $62,379.10, Wyckoff SOW_IN_PHASE_B $62,377.00, Harmonic PRZ 하단 $62,367.46이 $62,367~$62,379 부근 구조적 하단 유동성 구간으로 일치함",
      "Candlestick과 Derivatives는 7일 레인지 EQ $62,198을 공통 기준선으로 제시하며, Fibonacci 확장 지지 $62,164.52와도 근접함",
      "Fibonacci, Wyckoff, Derivatives 모두 현재가가 주요 상단 회복 기준 아래에 있다고 판단해 구조적 약세/공급 테스트 해석에 동의함"
    ],
    "conflicts": [
      "Wyckoff와 Fibonacci는 구조적으로 bearish를 제시하지만, ICT는 구조는 bearish로 인정하면서도 현재가가 EQ $62,940.55 아래 discount이고 $62,327 CHoCH 위에 있어 단기 bullish mean-reversion 셋업을 제시함",
      "Harmonic은 $62,599.91~$63,037.13 완료 Butterfly PRZ 내부 반응과 $62,524.12~$62,650.66 Gartley PRZ를 근거로 bullish 실행 후보를 제시하지만, 자체적으로도 독립 구조 전환 신호는 아니라고 제한함",
      "Candlestick은 최근 bullish_engulfing, bearish_engulfing, bullish_harami가 혼재되어 방향 확정력이 낮으며, 패턴 품질도 후보 수준이라 Wyckoff의 강한 분배 구조 신호와 강도 차이가 큼",
      "Derivatives는 구조 자체는 박스권 중립으로 보지만, 롱 쏠림과 CVD 약화를 이유로 실행 셋업은 bearish로 판단해 구조 판단과 포지셔닝 리스크 판단이 분리되어 있음"
    ],
    "executive_summary": "현재 15분 BTC 구조는 중립 박스라기보다 Wyckoff 기준 prior distribution 이후 재분배 후보가 형성되는 약세 구조로 진단된다. 핵심 위치는 Phase D LPSY $62,945.80 아래이며, 현재가는 EMA20 $62,779.40, Fib 0.236 $62,778.38, EMA120 $62,973.35 아래에 있어 상단 공급 회복이 아직 확인되지 않았다. 다만 $62,489~$62,651 구간에는 Fibonacci·Wyckoff·Harmonic 수요/PRZ가 겹쳐 있어 구조적 약세 안의 반등 조건이 존재한다. 구조 무효화는 UTAD $63,567.60 회복·수용이며, 그 전에는 $63,120.40 및 $62,945.80~$62,973.35 회복 여부가 약세 구조의 조기 훼손 조건이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.68,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.70,\n    \"active_setups\": [\n      \"가격이 EMA20 $62,779.40 및 EMA120 $62,973.35 아래에 머물며 단기 반등 수용이 아직 확인되지 않음\",\n      \"피보나치 하락 스윙 $63,500 → $62,556 기준 0.236 되돌림 저항 $62,778.38 아래에서 테스트 중\",\n      \"Wyckoff LPSY $62,945.80 아래에 위치해 Phase D 분배/재분배 구조의 공급 우위가 유지됨\",\n      \"롱 계정 비율 0.660으로 롱 쏠림이 강하고, CVD 변화량 -1778.1230으로 반등 대비 체결 매수 참여가 약함\",\n      \"7일 레인지 EQ $62,198 위에 있어 약한 프리미엄 구간이나, 상단 EMA·LPSY 회복 실패 상태\",\n      \"반대편 조건으로는 ICT와 Harmonic이 $62,367~$62,651 부근을 단기 할인/PRZ 수요 후보로 제시\"\n    ],\n    \"setup_vs_structure\": \"구조와 실행 셋업은 대체로 약세 방향으로 정렬되어 있다. 다만 ICT·Harmonic은 현재가가 할인/PRZ 반응권에 있다고 보므로, 즉시 약세 구조 안에서도 단기 반등 리스크는 별도로 관리해야 한다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 0,\n    \"bearish_count\": 3,\n    \"neutral_count\": 3\n  },\n  \"key_levels\": {\n    \"support\": [\n      62650.66,\n      62555.5,\n      62536.4,\n      62489.0,\n      62379.1,\n      62377.0,\n      62198.0,\n      62164.52,\n      61509.1\n    ],\n    \"resistance\": [\n      62778.38,\n      62779.4,\n      62916.26,\n      62945.8,\n      62973.35,\n      63027.7,\n      63120.4,\n      63139.14,\n      63567.6\n    ]\n  },\n  \"confluences\": [\n    \"Candlestick, Derivatives, Fibonacci, Wyckoff가 모두 $62,778~$62,779 부근을 즉시 저항으로 보고 있음: EMA20 $62,779.40과 Fib 0.236 $62,778.38이 겹침\",\n    \"Wyckoff LPSY $62,945.80, EMA120 $62,973.35, ICT EQ $62,940.55가 $62,940~$62,973 저항 클러스터를 형성함\",\n    \"Fibonacci의 $62,555.50, Wyckoff의 $62,536.40/$62,489.00, Harmonic bullish PRZ $62,524.12~$62,650.66이 $62,489~$62,651 수요/반응 후보 구간으로 중첩됨\",\n    \"ICT resting SSL $62,379.10, Wyckoff SOW_IN_PHASE_B $62,377.00, Harmonic PRZ 하단 $62,367.46이 $62,367~$62,379 부근 구조적 하단 유동성 구간으로 일치함\",\n    \"Candlestick과 Derivatives는 7일 레인지 EQ $62,198을 공통 기준선으로 제시하며, Fibonacci 확장 지지 $62,164.52와도 근접함\",\n    \"Fibonacci, Wyckoff, Derivatives 모두 현재가가 주요 상단 회복 기준 아래에 있다고 판단해 구조적 약세/공급 테스트 해석에 동의함\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff와 Fibonacci는 구조적으로 bearish를 제시하지만, ICT는 구조는 bearish로 인정하면서도 현재가가 EQ $62,940.55 아래 discount이고 $62,327 CHoCH 위에 있어 단기 bullish mean-reversion 셋업을 제시함\",\n    \"Harmonic은 $62,599.91~$63,037.13 완료 Butterfly PRZ 내부 반응과 $62,524.12~$62,650.66 Gartley PRZ를 근거로 bullish 실행 후보를 제시하지만, 자체적으로도 독립 구조 전환 신호는 아니라고 제한함\",\n    \"Candlestick은 최근 bullish_engulfing, bearish_engulfing, bullish_harami가 혼재되어 방향 확정력이 낮으며, 패턴 품질도 후보 수준이라 Wyckoff의 강한 분배 구조 신호와 강도 차이가 큼\",\n    \"Derivatives는 구조 자체는 박스권 중립으로 보지만, 롱 쏠림과 CVD 약화를 이유로 실행 셋업은 bearish로 판단해 구조 판단과 포지셔닝 리스크 판단이 분리되어 있음\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 분배 regime 적합도가 0.963으로 가장 높고, BC $62,942.40 → AR $61,509.10 → ST $63,849.50 → SOW $62,377.00 → UTAD $63,567.60 → LPSY $62,945.80의 단계적 구조를 구체 가격과 함께 제시했기 때문\",\n  \"invalidation_level\": \"$63,567.60 상향 회복 및 수용 시 현재의 분배/재분배 약세 구조 해석은 무효화된다. 단기 조기 경고선은 ICT bearish BOS 회복 기준 $63,120.40 및 LPSY/EMA120 클러스터 $62,945.80~$62,973.35이다.\",\n  \"executive_summary\": \"현재 15분 BTC 구조는 중립 박스라기보다 Wyckoff 기준 prior distribution 이후 재분배 후보가 형성되는 약세 구조로 진단된다. 핵심 위치는 Phase D LPSY $62,945.80 아래이며, 현재가는 EMA20 $62,779.40, Fib 0.236 $62,778.38, EMA120 $62,973.35 아래에 있어 상단 공급 회복이 아직 확인되지 않았다. 다만 $62,489~$62,651 구간에는 Fibonacci·Wyckoff·Harmonic 수요/PRZ가 겹쳐 있어 구조적 약세 안의 반등 조건이 존재한다. 구조 무효화는 UTAD $63,567.60 회복·수용이며, 그 전에는 $63,120.40 및 $62,945.80~$62,973.35 회복 여부가 약세 구조의 조기 훼손 조건이다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.68,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.65,
    "waypoints": [
      {
        "seq": 1,
        "price": 62792.3,
        "type": "resistance_test",
        "source": "Fibonacci(fib_confluence $62,792.30 strict 0.85, 0.236 되돌림 $62,778.38), Candlestick(EMA20 $62,779.40), Wyckoff(LPSY 하단 공급), ICT·Harmonic(할인/PRZ 단기 반등 리스크)",
        "description": "현재가가 ICT 되돌림 90.4% 깊은 할인·Harmonic Butterfly PRZ 방어권에 있어, 약세 구조 안에서도 먼저 단기 반등이 나와 EMA20 $62,779.40·Fib 0.236 $62,778.38·fib_confluence $62,792.30이 겹치는 즉시 공급 클러스터를 테스트할 가능성이 높다. 롱 쏠림 0.660·CVD -1778의 약세 셋업상 이 구간은 sell-the-rip 공급 재진입 자리로, 회복 실패 후 되밀림이 우세하다. WP1 후보표 최근접(0.18%) strict 레벨이라 우선 선택.",
        "est_hours": 2.5,
        "turning_zone": [
          62792.3,
          62888.0
        ],
        "likely_wick": 62820.0,
        "rejection_confirm": 62650.66,
        "invalid_overshoot": 62945.8,
        "calibration_reasoning": "fib_confluence $62,792.30 + 챔피언 공급 $62,778~$62,792 + EMA20 $62,779가 천장을 형성하고 상단은 다음 fib 저항 $62,916.26 아래로 캡(0.5×ATR). likely_wick은 라운드 $62,800 위 BSL을 스윕하는 $62,820이며, $62,945.80 돌파 시 확정 하모닉 상방(butterfly TP1 $63,139)이 우세해져 약세 거부가 무효화됨."
      },
      {
        "seq": 2,
        "price": 62536.4,
        "type": "support_test",
        "source": "Wyckoff($62,536.40/$62,489.00), Fibonacci($62,555.50), Harmonic(Gartley PRZ $62,524.12~$62,650.66, D $62,587.39)",
        "description": "$62,792 거부 후 첫 하방 타깃. Fib·Wyckoff·Harmonic 수요가 중첩되는 $62,489~$62,555 구간으로, 단기 소폭 반등 반응이 나올 수 있으나 약세 우위상 지지 약화 쪽으로 풀릴 가능성이 더 크다.",
        "est_hours": 7.0,
        "turning_zone": [
          62480.0,
          62536.4
        ],
        "likely_wick": 62489.0,
        "rejection_confirm": 62555.5,
        "invalid_overshoot": 62455.0,
        "calibration_reasoning": "수요 컨플루언스 $62,489~$62,555(fib $62,555.50 + 챔피언 $62,489/$62,536.40)에 앵커한 0.3×ATR 하방 밴드. likely_wick은 챔피언 수요 바닥 $62,489 태그이며, 사전확정(PRE_CONFIRMATION) gartley PRZ $62,587은 조건부라 base 이동에 미사용. $62,455 이탈 시 WP3로 연속."
      },
      {
        "seq": 3,
        "price": 62377.0,
        "type": "liquidity_sweep",
        "source": "ICT(resting SSL $62,379.10), Wyckoff(SOW_IN_PHASE_B $62,377.00), Harmonic(PRZ 하단 $62,367.46)",
        "description": "$62,367~$62,379 구조적 하단 유동성 클러스터 스윕. 휴면 매도측 유동성을 흡수하는 Phase D 분배 약세 흐름과 일치하며, ICT 휴면 SSL·Wyckoff SOW·Harmonic PRZ 하단이 동일 구간에 정렬됨.",
        "est_hours": 14.0,
        "turning_zone": [
          62315.0,
          62377.0
        ],
        "likely_wick": 62355.0,
        "rejection_confirm": 62405.0,
        "invalid_overshoot": 62290.0,
        "calibration_reasoning": "구조적 하단 유동성 클러스터 $62,367~$62,379(챔피언 SSL $62,377/$62,379.1)를 흡수하는 매도측(다운사이드) 스윕이므로 일반 규칙과 달리 zone을 base 아래로 확장(0.32×ATR). likely_wick은 클러스터 바닥 아래 SSL을 쓸어내는 $62,355, fib 지지 $62,298.62가 무효 바닥."
      },
      {
        "seq": 4,
        "price": 62164.52,
        "type": "swing_low",
        "source": "Fibonacci(확장 지지 $62,164.52), Candlestick·Derivatives(7일 레인지 EQ $62,198)",
        "description": "수요·유동성 구간이 모두 이탈될 경우의 약세 확장 저점. Fib 확장 $62,164.52와 7일 레인지 EQ $62,198 컨플루언스가 24시간 예상 저점 영역을 형성하며, 하단으로는 $62,111(strict fib confluence)까지 오버슈트 가능.",
        "est_hours": 22.0,
        "turning_zone": [
          62066.0,
          62164.52
        ],
        "likely_wick": 62105.0,
        "rejection_confirm": 62198.0,
        "invalid_overshoot": 62044.0,
        "calibration_reasoning": "터미널 스윙 저점: strict fib 컨플루언스 $62,111.46(ext_1.618/ext_1.414/ret_0.5)가 지배적 오버슈트 바닥이고 base fib ext $62,164.52 + 7일 EQ $62,198 컨플루언스로 0.52×ATR로 확대. likely_wick은 라운드 $62,100 바이어스를 반영한 $62,105, $62,198 회복이 저점 확정·$62,044 이탈 시 $61,662로 약세 확장."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 62800.0,
        "expected_low": 62580.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 62800.0,
        "expected_low": 62489.0,
        "high_first": true
      },
      "24h": {
        "expected_high": 62820.0,
        "expected_low": 62150.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 62973.35,
        "description": "LPSY $62,945.80·EMA120 $62,973.35 공급 클러스터를 회복·수용하면 분배 약세 구조가 조기 훼손됨. 이어 $63,120.40(ICT bearish BOS) 상향 돌파·수용 시 강세 가속으로 전환되어 본 약세 경로가 무력화됨."
      },
      "bearish": {
        "price": 62489.0,
        "description": "수요 클러스터 하단 $62,489.00을 하향 이탈·수용하면 WP1 반등 실패가 확정되며, $62,377 유동성 스윕과 $62,164 확장 저점으로의 약세 가속이 열림."
      }
    },
    "scenario_invalidation": 63120.4,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.65,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 62792.30,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci(fib_confluence $62,792.30 strict 0.85, 0.236 되돌림 $62,778.38), Candlestick(EMA20 $62,779.40), Wyckoff(LPSY 하단 공급), ICT·Harmonic(할인/PRZ 단기 반등 리스크)\",\n      \"description\": \"현재가가 ICT 되돌림 90.4% 깊은 할인·Harmonic Butterfly PRZ 방어권에 있어, 약세 구조 안에서도 먼저 단기 반등이 나와 EMA20 $62,779.40·Fib 0.236 $62,778.38·fib_confluence $62,792.30이 겹치는 즉시 공급 클러스터를 테스트할 가능성이 높다. 롱 쏠림 0.660·CVD -1778의 약세 셋업상 이 구간은 sell-the-rip 공급 재진입 자리로, 회복 실패 후 되밀림이 우세하다. WP1 후보표 최근접(0.18%) strict 레벨이라 우선 선택.\",\n      \"est_hours\": 2.5\n    },\n    {\n      \"seq\": 2,\n      \"price\": 62536.40,\n      \"type\": \"support_test\",\n      \"source\": \"Wyckoff($62,536.40/$62,489.00), Fibonacci($62,555.50), Harmonic(Gartley PRZ $62,524.12~$62,650.66, D $62,587.39)\",\n      \"description\": \"$62,792 거부 후 첫 하방 타깃. Fib·Wyckoff·Harmonic 수요가 중첩되는 $62,489~$62,555 구간으로, 단기 소폭 반등 반응이 나올 수 있으나 약세 우위상 지지 약화 쪽으로 풀릴 가능성이 더 크다.\",\n      \"est_hours\": 7.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 62377.00,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"ICT(resting SSL $62,379.10), Wyckoff(SOW_IN_PHASE_B $62,377.00), Harmonic(PRZ 하단 $62,367.46)\",\n      \"description\": \"$62,367~$62,379 구조적 하단 유동성 클러스터 스윕. 휴면 매도측 유동성을 흡수하는 Phase D 분배 약세 흐름과 일치하며, ICT 휴면 SSL·Wyckoff SOW·Harmonic PRZ 하단이 동일 구간에 정렬됨.\",\n      \"est_hours\": 14.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 62164.52,\n      \"type\": \"swing_low\",\n      \"source\": \"Fibonacci(확장 지지 $62,164.52), Candlestick·Derivatives(7일 레인지 EQ $62,198)\",\n      \"description\": \"수요·유동성 구간이 모두 이탈될 경우의 약세 확장 저점. Fib 확장 $62,164.52와 7일 레인지 EQ $62,198 컨플루언스가 24시간 예상 저점 영역을 형성하며, 하단으로는 $62,111(strict fib confluence)까지 오버슈트 가능.\",\n      \"est_hours\": 22.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 62800.0, \"expected_low\": 62580.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 62800.0, \"expected_low\": 62489.0, \"high_first\": true},\n    \"24h\": {\"expected_high\": 62820.0, \"expected_low\": 62150.0, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\n      \"price\": 62973.35,\n      \"description\": \"LPSY $62,945.80·EMA120 $62,973.35 공급 클러스터를 회복·수용하면 분배 약세 구조가 조기 훼손됨. 이어 $63,120.40(ICT bearish BOS) 상향 돌파·수용 시 강세 가속으로 전환되어 본 약세 경로가 무력화됨.\"\n    },\n    \"bearish\": {\n      \"price\": 62489.00,\n      \"description\": \"수요 클러스터 하단 $62,489.00을 하향 이탈·수용하면 WP1 반등 실패가 확정되며, $62,377 유동성 스윕과 $62,164 확장 저점으로의 약세 가속이 열림.\"\n    }\n  },\n  \"scenario_invalidation\": 63120.40\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 62792.3,
        "turning_zone": [
          62792.3,
          62888.0
        ],
        "likely_wick": 62820.0,
        "rejection_confirm": 62650.66,
        "invalid_overshoot": 62945.8,
        "calibration_reasoning": "fib_confluence $62,792.30 + 챔피언 공급 $62,778~$62,792 + EMA20 $62,779가 천장을 형성하고 상단은 다음 fib 저항 $62,916.26 아래로 캡(0.5×ATR). likely_wick은 라운드 $62,800 위 BSL을 스윕하는 $62,820이며, $62,945.80 돌파 시 확정 하모닉 상방(butterfly TP1 $63,139)이 우세해져 약세 거부가 무효화됨."
      },
      {
        "seq": 2,
        "base_target": 62536.4,
        "turning_zone": [
          62480.0,
          62536.4
        ],
        "likely_wick": 62489.0,
        "rejection_confirm": 62555.5,
        "invalid_overshoot": 62455.0,
        "calibration_reasoning": "수요 컨플루언스 $62,489~$62,555(fib $62,555.50 + 챔피언 $62,489/$62,536.40)에 앵커한 0.3×ATR 하방 밴드. likely_wick은 챔피언 수요 바닥 $62,489 태그이며, 사전확정(PRE_CONFIRMATION) gartley PRZ $62,587은 조건부라 base 이동에 미사용. $62,455 이탈 시 WP3로 연속."
      },
      {
        "seq": 3,
        "base_target": 62377.0,
        "turning_zone": [
          62315.0,
          62377.0
        ],
        "likely_wick": 62355.0,
        "rejection_confirm": 62405.0,
        "invalid_overshoot": 62290.0,
        "calibration_reasoning": "구조적 하단 유동성 클러스터 $62,367~$62,379(챔피언 SSL $62,377/$62,379.1)를 흡수하는 매도측(다운사이드) 스윕이므로 일반 규칙과 달리 zone을 base 아래로 확장(0.32×ATR). likely_wick은 클러스터 바닥 아래 SSL을 쓸어내는 $62,355, fib 지지 $62,298.62가 무효 바닥."
      },
      {
        "seq": 4,
        "base_target": 62164.52,
        "turning_zone": [
          62066.0,
          62164.52
        ],
        "likely_wick": 62105.0,
        "rejection_confirm": 62198.0,
        "invalid_overshoot": 62044.0,
        "calibration_reasoning": "터미널 스윙 저점: strict fib 컨플루언스 $62,111.46(ext_1.618/ext_1.414/ret_0.5)가 지배적 오버슈트 바닥이고 base fib ext $62,164.52 + 7일 EQ $62,198 컨플루언스로 0.52×ATR로 확대. likely_wick은 라운드 $62,100 바이어스를 반영한 $62,105, $62,198 회복이 저점 확정·$62,044 이탈 시 $61,662로 약세 확장."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 62792.30,\n      \"turning_zone\": [62792.30, 62888.00],\n      \"likely_wick\": 62820.00,\n      \"rejection_confirm\": 62650.66,\n      \"invalid_overshoot\": 62945.80,\n      \"calibration_reasoning\": \"fib_confluence $62,792.30 + 챔피언 공급 $62,778~$62,792 + EMA20 $62,779가 천장을 형성하고 상단은 다음 fib 저항 $62,916.26 아래로 캡(0.5×ATR). likely_wick은 라운드 $62,800 위 BSL을 스윕하는 $62,820이며, $62,945.80 돌파 시 확정 하모닉 상방(butterfly TP1 $63,139)이 우세해져 약세 거부가 무효화됨.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 62536.40,\n      \"turning_zone\": [62480.00, 62536.40],\n      \"likely_wick\": 62489.00,\n      \"rejection_confirm\": 62555.50,\n      \"invalid_overshoot\": 62455.00,\n      \"calibration_reasoning\": \"수요 컨플루언스 $62,489~$62,555(fib $62,555.50 + 챔피언 $62,489/$62,536.40)에 앵커한 0.3×ATR 하방 밴드. likely_wick은 챔피언 수요 바닥 $62,489 태그이며, 사전확정(PRE_CONFIRMATION) gartley PRZ $62,587은 조건부라 base 이동에 미사용. $62,455 이탈 시 WP3로 연속.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 62377.00,\n      \"turning_zone\": [62315.00, 62377.00],\n      \"likely_wick\": 62355.00,\n      \"rejection_confirm\": 62405.00,\n      \"invalid_overshoot\": 62290.00,\n      \"calibration_reasoning\": \"구조적 하단 유동성 클러스터 $62,367~$62,379(챔피언 SSL $62,377/$62,379.1)를 흡수하는 매도측(다운사이드) 스윕이므로 일반 규칙과 달리 zone을 base 아래로 확장(0.32×ATR). likely_wick은 클러스터 바닥 아래 SSL을 쓸어내는 $62,355, fib 지지 $62,298.62가 무효 바닥.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 62164.52,\n      \"turning_zone\": [62066.00, 62164.52],\n      \"likely_wick\": 62105.00,\n      \"rejection_confirm\": 62198.00,\n      \"invalid_overshoot\": 62044.00,\n      \"calibration_reasoning\": \"터미널 스윙 저점: strict fib 컨플루언스 $62,111.46(ext_1.618/ext_1.414/ret_0.5)가 지배적 오버슈트 바닥이고 base fib ext $62,164.52 + 7일 EQ $62,198 컨플루언스로 0.52×ATR로 확대. likely_wick은 라운드 $62,100 바이어스를 반영한 $62,105, $62,198 회복이 저점 확정·$62,044 이탈 시 $61,662로 약세 확장.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 49.5,
      "chairman": 73.5,
      "operating_path": 226.5,
      "tp_calibrator": 245.1
    },
    "agents": {},
    "total_s": 595.0
  }
}