{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-07-09 01:00 KST",
  "last_price": 61683.6,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bullish",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.72,
      "setup_signals": [
        "현재가 $61,683.60은 7일 범위 EQ $62,994.45 아래의 디스카운트 구간에 위치",
        "7일 저점 $61,297.00 근처에서 고거래량 bullish_engulfing 발생, 패턴 품질 0.726",
        "최근 6개 패턴 중 bullish_engulfing, bullish_harami, 다수 doji가 출현해 하락 추세 말단부의 매도 압력 둔화 가능성",
        "현재가가 EMA20 $61,909.04 아래에 있어 아직 구조 전환은 미확정이나, 단기 회복 시도 구간에 진입",
        "bull_score 1.45 대비 bear_score 0으로 최근 캔들 기반 단기 매수 setup 우위"
      ],
      "reasoning": "확인된 구조는 여전히 약세입니다. 현재가 $61,683.60은 EMA20 $61,909.04, EMA120 $62,716.89, EMA240 $62,925.30 아래에 있으며, 24시간 변동률도 -3.48%로 하락 압력이 우세합니다. 그러나 7일 저점 $61,297.00 부근에서 고거래량 bullish_engulfing이 패턴 품질 0.726으로 감지되었고, 이후 doji와 bullish_harami가 이어져 단기 매도 피로 및 반등 setup이 형성되고 있습니다. 따라서 구조는 bearish로 유지하지만, 실행 관점의 setup_bias는 $61,297.00 방어를 전제로 bullish입니다.",
      "key_levels": {
        "support": [
          61683.6,
          61297.0
        ],
        "resistance": [
          61909.04,
          62716.89,
          62925.3,
          64691.9
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,297.00",
      "risk_scenario": "가격이 $61,297.00을 하향 이탈하고 15분봉 종가 기준으로 안착하면 bullish engulfing 기반의 반등 setup은 실패로 판단됩니다. 이 경우 EMA20 $61,909.04 회복 실패와 함께 하락 구조가 연장될 가능성이 커지며, 단기적으로 추가 저점 탐색 국면으로 전환될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 148,
        "recent_patterns": 6,
        "pattern_list": [
          "bullish_engulfing@292",
          "doji@291",
          "doji@295",
          "doji@297",
          "doji@298",
          "bullish_harami@297"
        ],
        "atr_value": 220.31,
        "vol_avg_20": 2223.79,
        "high_volume_patterns": [
          "bullish_engulfing",
          "doji"
        ],
        "pattern_candidates": [
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.726,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.616,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.555,
            "tier": "candidate",
            "high_volume": true
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.726,
        "bull_score": 1.45,
        "bear_score": 0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"현재가 $61,683.60은 7일 범위 EQ $62,994.45 아래의 디스카운트 구간에 위치\",\n    \"7일 저점 $61,297.00 근처에서 고거래량 bullish_engulfing 발생, 패턴 품질 0.726\",\n    \"최근 6개 패턴 중 bullish_engulfing, bullish_harami, 다수 doji가 출현해 하락 추세 말단부의 매도 압력 둔화 가능성\",\n    \"현재가가 EMA20 $61,909.04 아래에 있어 아직 구조 전환은 미확정이나, 단기 회복 시도 구간에 진입\",\n    \"bull_score 1.45 대비 bear_score 0으로 최근 캔들 기반 단기 매수 setup 우위\"\n  ],\n  \"reasoning\": \"확인된 구조는 여전히 약세입니다. 현재가 $61,683.60은 EMA20 $61,909.04, EMA120 $62,716.89, EMA240 $62,925.30 아래에 있으며, 24시간 변동률도 -3.48%로 하락 압력이 우세합니다. 그러나 7일 저점 $61,297.00 부근에서 고거래량 bullish_engulfing이 패턴 품질 0.726으로 감지되었고, 이후 doji와 bullish_harami가 이어져 단기 매도 피로 및 반등 setup이 형성되고 있습니다. 따라서 구조는 bearish로 유지하지만, 실행 관점의 setup_bias는 $61,297.00 방어를 전제로 bullish입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      61683.6,\n      61297.0\n    ],\n    \"resistance\": [\n      61909.04,\n      62716.89,\n      62925.3,\n      64691.9\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,297.00\",\n  \"risk_scenario\": \"가격이 $61,297.00을 하향 이탈하고 15분봉 종가 기준으로 안착하면 bullish engulfing 기반의 반등 setup은 실패로 판단됩니다. 이 경우 EMA20 $61,909.04 회복 실패와 함께 하락 구조가 연장될 가능성이 커지며, 단기적으로 추가 저점 탐색 국면으로 전환될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.64,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.74,
      "setup_signals": [
        "현재가 $61,683.60가 EMA20 $61,909.04, EMA120 $62,716.89, EMA240 $62,925.30 아래에 있어 단기 구조가 할인/약세 영역에 머무름",
        "24시간 OI가 +1.2750% 증가했지만 가격은 -3.48% 하락하여 신규 숏 또는 손실 중인 롱 포지션이 누적되는 취약한 포지셔닝",
        "CVD 변화가 -5040.9590으로 매도 체결 우위이며, 가격이 7일 저점 $61,297.00 근처에서 반등하지 못해 참여 강도 약함",
        "롱 계정 비율이 0.644까지 상승하고 24시간 +0.031 증가, 숏 계정은 0.356으로 하락해 롱 혼잡도 0.926의 역추세성 bearish 조건",
        "하방 청산 유동성이 $60,800, $59,500, $59,400에 밀집해 있으며 fragility_score 0.689로 하방 스윕 리스크가 높음"
      ],
      "reasoning": "현재 BTC는 $61,683.60으로 EMA20 $61,909.04 아래에 있고, EMA120 $62,716.89 및 EMA240 $62,925.30도 회복하지 못해 확인된 구조는 약세로 보는 것이 타당합니다. 파생 포지셔닝은 가격 -3.48% 하락 중 OI가 24시간 +1.2750% 증가했고, CVD가 -5040.9590으로 음수라 신규 포지션 유입이 반등보다는 하방 압력에 더 민감한 상태입니다. 특히 롱 계정 비율이 0.644, 롱 혼잡도 0.926까지 올라간 반면 숏 계정은 0.356으로 감소해, 롱 포지션이 crowded 상태이며 $60,800 및 $59,500 청산 유동성 테스트 가능성이 큽니다. 다만 펀딩 평균은 거의 0이고 basis도 -0.0331%로 극단적이지 않아 급락 확정보다는 4~8시간 내 하방 유동성 스윕 우위의 bearish setup으로 해석합니다.",
      "key_levels": {
        "support": [
          61297.0,
          60800.0,
          59500.0,
          59400.0,
          55800.0
        ],
        "resistance": [
          61909.04,
          62716.89,
          62925.3,
          64400.0,
          64500.0
        ]
      },
      "time_horizon": "short term, 향후 4-8시간",
      "invalidation_level": "62925.30",
      "risk_scenario": "$62,925.30 EMA240를 강하게 회복하고 수용되면 현재 하방 setup은 무효화되며, 숏 커버링과 함께 $64,400-$64,500 상단 청산 유동성까지 되돌림이 열릴 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -5040.959,
        "oi_trend": 0.628,
        "oi_change_pct_24h": 1.275,
        "oi_latest": 101715.476,
        "funding_pressure": 0.459,
        "funding_avg": 4.132e-05,
        "funding_change_24h": -6.101e-05,
        "long_account_ratio": 0.611,
        "short_account_ratio": 0.389,
        "long_account_latest": 0.644,
        "short_account_latest": 0.356,
        "long_account_change_24h": 0.031,
        "short_account_change_24h": -0.031,
        "account_flow_label": "long_accounts_rising_short_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 0.926,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.492,
        "spot_futures_basis_pct": -0.0331,
        "basis_change_lookback": 0.0128,
        "aggregate_score": 0.376,
        "bull_signals": 1,
        "bear_signals": 2,
        "liq_below": [
          [
            60800,
            2882.257266
          ],
          [
            59500,
            3785.71304
          ],
          [
            59400,
            2955.03241
          ]
        ],
        "liq_above": [
          [
            64400,
            3356.4724020000003
          ],
          [
            64500,
            3549.9247620000006
          ],
          [
            68100,
            4300.5396925
          ]
        ],
        "strongest_liq_level": 55800,
        "fragility_score": 0.689,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.64,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.74,\n  \"setup_signals\": [\n    \"현재가 $61,683.60가 EMA20 $61,909.04, EMA120 $62,716.89, EMA240 $62,925.30 아래에 있어 단기 구조가 할인/약세 영역에 머무름\",\n    \"24시간 OI가 +1.2750% 증가했지만 가격은 -3.48% 하락하여 신규 숏 또는 손실 중인 롱 포지션이 누적되는 취약한 포지셔닝\",\n    \"CVD 변화가 -5040.9590으로 매도 체결 우위이며, 가격이 7일 저점 $61,297.00 근처에서 반등하지 못해 참여 강도 약함\",\n    \"롱 계정 비율이 0.644까지 상승하고 24시간 +0.031 증가, 숏 계정은 0.356으로 하락해 롱 혼잡도 0.926의 역추세성 bearish 조건\",\n    \"하방 청산 유동성이 $60,800, $59,500, $59,400에 밀집해 있으며 fragility_score 0.689로 하방 스윕 리스크가 높음\"\n  ],\n  \"reasoning\": \"현재 BTC는 $61,683.60으로 EMA20 $61,909.04 아래에 있고, EMA120 $62,716.89 및 EMA240 $62,925.30도 회복하지 못해 확인된 구조는 약세로 보는 것이 타당합니다. 파생 포지셔닝은 가격 -3.48% 하락 중 OI가 24시간 +1.2750% 증가했고, CVD가 -5040.9590으로 음수라 신규 포지션 유입이 반등보다는 하방 압력에 더 민감한 상태입니다. 특히 롱 계정 비율이 0.644, 롱 혼잡도 0.926까지 올라간 반면 숏 계정은 0.356으로 감소해, 롱 포지션이 crowded 상태이며 $60,800 및 $59,500 청산 유동성 테스트 가능성이 큽니다. 다만 펀딩 평균은 거의 0이고 basis도 -0.0331%로 극단적이지 않아 급락 확정보다는 4~8시간 내 하방 유동성 스윕 우위의 bearish setup으로 해석합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      61297.0,\n      60800.0,\n      59500.0,\n      59400.0,\n      55800.0\n    ],\n    \"resistance\": [\n      61909.04,\n      62716.89,\n      62925.3,\n      64400.0,\n      64500.0\n    ]\n  },\n  \"time_horizon\": \"short term, 향후 4-8시간\",\n  \"invalidation_level\": \"62925.30\",\n  \"risk_scenario\": \"$62,925.30 EMA240를 강하게 회복하고 수용되면 현재 하방 setup은 무효화되며, 숏 커버링과 함께 $64,400-$64,500 상단 청산 유동성까지 되돌림이 열릴 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.64,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.55,
      "setup_signals": [
        "현재가 $61,683.60은 스윙 EQ ret_0.5 $61,930.05 아래의 할인 구간에 위치",
        "현재가가 ret_0.786 $61,803.15 및 황금비 ret_0.618 $61,877.69 아래에 있어 과매도성 되돌림 후보 구간",
        "스윙 저점 $61,708 하향 이탈 후 즉각적인 회복 여부를 보는 단기 스프링 후보",
        "다만 확인된 지지 레벨은 없고, $61,803.15-$61,930.05 구간이 모두 저항으로 전환된 상태"
      ],
      "reasoning": "현재가는 $61,683.60으로 최근 상승 스윙 $61,708 → $62,152의 ret_0.786 $61,803.15 아래에 있으며, 스윙 저점 $61,708도 소폭 이탈해 단기 구조는 약세로 판정된다. 특히 황금비 되돌림 ret_0.618 $61,877.69와 EQ ret_0.5 $61,930.05를 모두 회복하지 못한 상태라, $61,803.15 / $61,877.69 / $61,930.05가 순차 저항으로 작동할 가능성이 높다. 다만 가격이 EQ 아래 깊은 할인 구간에 있고 스윙 저점 이탈 후 반등을 시도할 수 있어, 구조는 bearish지만 사전 실행 setup은 단기 bullish 반등 후보로 분리된다. 상방 반등 시 1차 체크 구간은 confluence zone $61,944 부근이며, 이를 회복하지 못하면 $61,297 7일 저점 재테스트 리스크가 커진다.",
      "key_levels": {
        "support": [
          61297.0
        ],
        "resistance": [
          61803.15,
          61877.69,
          61930.05,
          61944.0,
          62296.55,
          62686.42
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,930.05",
      "risk_scenario": "$61,930.05의 ret_0.5/EQ를 회복하고 $61,944 confluence zone 위에서 15분봉 종가 수용이 나오면, 현재의 약세 구조 판단은 약화되며 $62,151.90, $62,272.59, $62,426.11 확장 목표까지 숏 커버링 반등이 열릴 수 있다.",
      "data_quality": "high",
      "metrics": {
        "swing_pair": "Low→High: $61,708 → $62,152",
        "direction": "up",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 61803.15,
        "nearest_fib_distance": 0.19,
        "golden_ratio_level": 61877.69,
        "fib_ret_382": 61982.41,
        "fib_ret_618": 61877.69,
        "confluence_zones": [
          {
            "price": 61944.0,
            "count": 6,
            "levels": [
              "ret_0.786",
              "ret_0.618",
              "ret_0.5",
              "ret_0.382",
              "ret_0.786",
              "ret_0.236"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 62296.55,
            "count": 4,
            "levels": [
              "ext_1.0",
              "ext_1.272",
              "ext_1.414",
              "ext_1.618"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 62686.42,
            "count": 3,
            "levels": [
              "ret_0.618",
              "ext_2.0",
              "ext_2.618"
            ],
            "cluster_score": 0.85
          }
        ],
        "support_levels": [],
        "resistance_levels": [
          61803.1518,
          61877.6934,
          61930.05
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 62047.19,
            "distance_pct": 0.59,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.382",
            "price": 61982.41,
            "distance_pct": 0.48,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.5",
            "price": 61930.05,
            "distance_pct": 0.4,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.618",
            "price": 61877.69,
            "distance_pct": 0.31,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.786",
            "price": 61803.15,
            "distance_pct": 0.19,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.0",
            "price": 62151.9,
            "distance_pct": 0.76,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.272",
            "price": 62272.59,
            "distance_pct": 0.95,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.414",
            "price": 62335.59,
            "distance_pct": 1.06,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.618",
            "price": 62426.11,
            "distance_pct": 1.2,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_2.0",
            "price": 62595.6,
            "distance_pct": 1.48,
            "is_support": false,
            "cluster_score": 1.0
          }
        ],
        "confluence_quality": 1.0,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.64,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.55,\n  \"setup_signals\": [\n    \"현재가 $61,683.60은 스윙 EQ ret_0.5 $61,930.05 아래의 할인 구간에 위치\",\n    \"현재가가 ret_0.786 $61,803.15 및 황금비 ret_0.618 $61,877.69 아래에 있어 과매도성 되돌림 후보 구간\",\n    \"스윙 저점 $61,708 하향 이탈 후 즉각적인 회복 여부를 보는 단기 스프링 후보\",\n    \"다만 확인된 지지 레벨은 없고, $61,803.15-$61,930.05 구간이 모두 저항으로 전환된 상태\"\n  ],\n  \"reasoning\": \"현재가는 $61,683.60으로 최근 상승 스윙 $61,708 → $62,152의 ret_0.786 $61,803.15 아래에 있으며, 스윙 저점 $61,708도 소폭 이탈해 단기 구조는 약세로 판정된다. 특히 황금비 되돌림 ret_0.618 $61,877.69와 EQ ret_0.5 $61,930.05를 모두 회복하지 못한 상태라, $61,803.15 / $61,877.69 / $61,930.05가 순차 저항으로 작동할 가능성이 높다. 다만 가격이 EQ 아래 깊은 할인 구간에 있고 스윙 저점 이탈 후 반등을 시도할 수 있어, 구조는 bearish지만 사전 실행 setup은 단기 bullish 반등 후보로 분리된다. 상방 반등 시 1차 체크 구간은 confluence zone $61,944 부근이며, 이를 회복하지 못하면 $61,297 7일 저점 재테스트 리스크가 커진다.\",\n  \"key_levels\": {\n    \"support\": [\n      61297.0\n    ],\n    \"resistance\": [\n      61803.15,\n      61877.69,\n      61930.05,\n      61944.0,\n      62296.55,\n      62686.42\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,930.05\",\n  \"risk_scenario\": \"$61,930.05의 ret_0.5/EQ를 회복하고 $61,944 confluence zone 위에서 15분봉 종가 수용이 나오면, 현재의 약세 구조 판단은 약화되며 $62,151.90, $62,272.59, $62,426.11 확장 목표까지 숏 커버링 반등이 열릴 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.882,
      "setup_signals": [
        "현재가 $61,683.60이 EQ $62,270.15 아래의 discount 영역에 있으나, $62,466.90 및 $61,708.20 하향 BOS 이후 반등이 구조 회복으로 이어지지 못함",
        "최근 구조 이벤트가 BOS_bearish 3회 연속으로 발생: $63,177.00, $62,466.90, $61,708.20",
        "현재가가 EMA20 $61,909.04 아래에 위치하여 단기 반등이 평균가 저항을 회복하지 못함",
        "이전일 저점 $61,615.00이 이미 하향 돌파되어 sell-side liquidity가 소진되었지만, $61,708.20 회복 실패 시 추가 하락 지속 가능",
        "range low $61,520.00 및 Asian kill zone low $61,520.00 부근이 재공격될 수 있는 단기 유동성 자석으로 작용"
      ],
      "reasoning": "확정 구조는 bearish로 판단한다. 최근 BOS/CHoCH 배열에서 $63,177.00, $62,466.90, $61,708.20을 순차적으로 하향 이탈하며 3회 연속 bearish BOS가 발생했고, bear_score 11.5가 bull_score 6.2를 명확히 상회한다. 현재가 $61,683.60은 EQ $62,270.15 아래 discount에 있어 신규 추격 매도에는 주의가 필요하지만, EMA20 $61,909.04와 BOS 기준선 $61,708.20을 회복하지 못하면 discount 내에서도 약한 반등 후 재하락 구조가 우세하다. 활성 OB와 미충족 FVG가 없고 최근 liquidity sweep도 포착되지 않아 고품질 ICT 진입 배열은 제한적이지만, 구조적 하방 압력은 여전히 유효하다.",
      "key_levels": {
        "support": [
          61615.0,
          61520.0,
          61297.0
        ],
        "resistance": [
          61708.2,
          61900.5,
          62270.15,
          62466.9,
          62958.4
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$62,466.90",
      "risk_scenario": "$61,708.20을 회복한 뒤 EMA20 $61,909.04 위에서 안착하고, 이후 EQ $62,270.15까지 회복하면 현재 하락 지속 셋업은 약화된다. 특히 $62,466.90을 15분봉 종가로 회복하면 직전 bearish BOS 구간이 무효화되며 $62,958.40~$63,177.00까지 숏 커버링 반등이 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 0,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 1,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 72,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "CHoCH_bearish",
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 63424.2
          },
          {
            "type": "CHoCH_bearish",
            "level": 62958.4
          },
          {
            "type": "CHoCH_bullish",
            "level": 63868.0
          },
          {
            "type": "BOS_bearish",
            "level": 63177.0
          },
          {
            "type": "BOS_bearish",
            "level": 62466.9
          },
          {
            "type": "BOS_bearish",
            "level": 61708.2
          }
        ],
        "bos_sequence": [
          "CHoCH_bearish",
          "CHoCH_bullish",
          "BOS_bullish",
          "CHoCH_bearish",
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 3,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "discount",
        "eq_level": 62270.15,
        "range_high": 63020.3,
        "range_low": 61520.0,
        "bull_score": 6.2,
        "bear_score": 11.5,
        "setup_bias": "bearish",
        "setup_score": 0.882,
        "setup_signals": [
          "bearish CHoCH below $62,958.40",
          "bearish BOS below $63,177.00",
          "bearish BOS below $62,466.90",
          "bearish BOS below $61,708.20",
          "3x consecutive bearish BOS"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 120.7,
        "deepest_retracement_pct": 127.4,
        "previous_day_high": 64234.1,
        "previous_day_low": 61615.0,
        "broken_prev_high": false,
        "broken_prev_low": true,
        "sessions": {
          "London": {
            "active": false,
            "high": null,
            "low": null
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": true,
            "high": 61900.5,
            "low": 61520.0
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.882,\n  \"setup_signals\": [\n    \"현재가 $61,683.60이 EQ $62,270.15 아래의 discount 영역에 있으나, $62,466.90 및 $61,708.20 하향 BOS 이후 반등이 구조 회복으로 이어지지 못함\",\n    \"최근 구조 이벤트가 BOS_bearish 3회 연속으로 발생: $63,177.00, $62,466.90, $61,708.20\",\n    \"현재가가 EMA20 $61,909.04 아래에 위치하여 단기 반등이 평균가 저항을 회복하지 못함\",\n    \"이전일 저점 $61,615.00이 이미 하향 돌파되어 sell-side liquidity가 소진되었지만, $61,708.20 회복 실패 시 추가 하락 지속 가능\",\n    \"range low $61,520.00 및 Asian kill zone low $61,520.00 부근이 재공격될 수 있는 단기 유동성 자석으로 작용\"\n  ],\n  \"reasoning\": \"확정 구조는 bearish로 판단한다. 최근 BOS/CHoCH 배열에서 $63,177.00, $62,466.90, $61,708.20을 순차적으로 하향 이탈하며 3회 연속 bearish BOS가 발생했고, bear_score 11.5가 bull_score 6.2를 명확히 상회한다. 현재가 $61,683.60은 EQ $62,270.15 아래 discount에 있어 신규 추격 매도에는 주의가 필요하지만, EMA20 $61,909.04와 BOS 기준선 $61,708.20을 회복하지 못하면 discount 내에서도 약한 반등 후 재하락 구조가 우세하다. 활성 OB와 미충족 FVG가 없고 최근 liquidity sweep도 포착되지 않아 고품질 ICT 진입 배열은 제한적이지만, 구조적 하방 압력은 여전히 유효하다.\",\n  \"key_levels\": {\n    \"support\": [\n      61615.0,\n      61520.0,\n      61297.0\n    ],\n    \"resistance\": [\n      61708.2,\n      61900.5,\n      62270.15,\n      62466.9,\n      62958.4\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$62,466.90\",\n  \"risk_scenario\": \"$61,708.20을 회복한 뒤 EMA20 $61,909.04 위에서 안착하고, 이후 EQ $62,270.15까지 회복하면 현재 하락 지속 셋업은 약화된다. 특히 $62,466.90을 15분봉 종가로 회복하면 직전 bearish BOS 구간이 무효화되며 $62,958.40~$63,177.00까지 숏 커버링 반등이 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.74,
      "setup_signals": [
        "활성 bullish Crab 완료 PRZ $61,622.42-$62,157.40 내부에서 현재가 $61,683.60이 거래 중",
        "완료 Crab D=$61,708.20 이후 PRZ 방어 확인: reaction_score 0.95, AD0.236 반등 도달, PRZ center reclaim/defense 기록",
        "고컨플루언스 PRZ 구성: XAD + BC_EXT + ABCD 3개 Fib family 수렴, active Crab pattern_score 0.902 / ratio_score 0.976",
        "추가 bullish Crab 완료/형성 PRZ $61,973.62-$62,375.02가 바로 위에 중첩되어 있으며 완료 Crab은 confirmed_reaction=true, reaction_score 0.50",
        "검증된 bullish TP ladder: TP1 $62,732.64-$62,821.31, TP2 $63,221.01-$63,253.27, 구조 유동성 목표 $63,868-$64,096"
      ],
      "reasoning": "15분 기준 핵심 하모닉 신호는 bullish이며, 특히 완료된 strict Crab이 $61,622.42-$62,157.40 PRZ에서 D=$61,708.20 이후 강한 방어를 보였고 reaction_score가 0.95로 높습니다. 다만 현재가는 EMA20 $61,909.04, EMA120 $62,716.89, EMA240 $62,925.30 아래에 있어 구조적으로 명확한 bullish BOS/CHoCH가 확인됐다고 보기는 어렵기 때문에 structure_bias는 neutral로 둡니다. setup_bias는 bullish입니다. 이유는 현재가 $61,683.60이 활성 bullish Crab PRZ 안에 있고, XAD·BC extension·AB=CD 3중 Fib 수렴이 있으며, 확인된 TP ladder가 $62,732.64, $63,253.27, $64,096.00까지 열려 있기 때문입니다. 단, 하모닉은 단독 경로 엔진이 아니므로 $61,622.42 하단 방어 실패 전까지는 반등 후보/타이브레이커 성격으로 해석해야 합니다.",
      "key_levels": {
        "support": [
          61622.42,
          61708.2,
          61297.0,
          61386.31
        ],
        "resistance": [
          62157.4,
          62375.02,
          62732.64,
          62821.31,
          63253.27,
          63868.0,
          64096.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "61622.42",
      "risk_scenario": "$61,622.42 아래로 15분 종가가 확정되면 활성 Crab PRZ 방어 실패로 해석되며, bullish setup은 약화됩니다. 이 경우 $61,386.31-$61,297.00 하단 유동성 재탐색이 열리고, 반등 TP ladder인 $62,732.64-$63,253.27 도달 가능성은 후순위 시나리오로 밀립니다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 72,
        "completed_patterns_found": 27,
        "forming_d_prz_found": 45,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 55,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 26,
        "timeframe": "15m",
        "prz_active_threshold_pct": 0.3,
        "prz_nearby_threshold_pct": 0.6,
        "prz_watch_threshold_pct": 1.2,
        "prz_max_width_pct": 0.6,
        "quality_counts": {
          "high": 13,
          "medium": 21,
          "low": 38
        },
        "prz_status_counts": {
          "active": 11,
          "nearby": 7,
          "watch": 7,
          "far": 47,
          "forming": 30
        },
        "high_confluence_prz_count": 29,
        "strict_patterns_found": 42,
        "candidate_patterns_found": 30,
        "active_patterns_at_prz": 11,
        "nearby_patterns": 7,
        "all_patterns": [
          "crab",
          "crab",
          "crab",
          "bat",
          "bat",
          "bat",
          "crab",
          "gartley",
          "bat",
          "gartley",
          "butterfly",
          "butterfly",
          "butterfly",
          "gartley",
          "bat",
          "gartley",
          "bat",
          "shark",
          "bat",
          "butterfly",
          "shark",
          "shark",
          "bat",
          "shark",
          "shark",
          "crab",
          "butterfly",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "butterfly",
          "butterfly",
          "crab",
          "bat",
          "gartley",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "bat",
          "butterfly",
          "gartley",
          "shark",
          "butterfly",
          "crab",
          "butterfly",
          "gartley",
          "butterfly",
          "shark",
          "shark",
          "shark",
          "shark",
          "bat",
          "crab",
          "gartley",
          "shark",
          "shark",
          "shark",
          "crab",
          "gartley",
          "bat",
          "crab",
          "shark",
          "bat",
          "shark",
          "butterfly",
          "shark",
          "shark",
          "butterfly",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish"
        ],
        "best_pattern": "crab",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.943,
        "best_completion_status": "forming",
        "nearest_pattern": "butterfly",
        "nearest_prz": 61731.26,
        "price_to_prz": 0.08,
        "prz_range": [
          61386.31,
          62076.21
        ],
        "council_relevant_prz_count": 3,
        "directional_influence_prz_count": 3,
        "confirmed_reaction_prz_count": 2,
        "validated_harmonic_tp_count": 2,
        "pattern_candidates": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.911,
            "ratio_score": 0.9,
            "prz_score": 0.982,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 62174.32,
            "prz_range": [
              61973.62,
              62375.02
            ],
            "prz_width_pct": 0.646,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.8,
            "price_to_prz_pct_raw": 0.7955,
            "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": "crab",
              "d_price": 62174.32,
              "a_price": 63868.0,
              "tp1_ad_382": 62821.31,
              "tp2_ad_618": 63221.01,
              "tp3_a_or_structure_liquidity": 63868.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6156,
              "ABC": 0.3693
            },
            "x_price": 62745.6,
            "x_idx": 160,
            "x_order": 8,
            "a_price": 63868.0,
            "a_idx": 188,
            "a_order": 8,
            "b_price": 63177.0,
            "b_idx": 228,
            "b_order": 8,
            "c_price": 62921.8,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.901,
            "ratio_score": 0.984,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62386.01,
            "prz_range": [
              62227.16,
              62544.85
            ],
            "prz_width_pct": 0.509,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.14,
            "price_to_prz_pct_raw": 1.1387,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62386.01,
              "a_price": 63067.9,
              "tp1_ad_382": 62646.49,
              "tp2_ad_618": 62807.42,
              "tp3_a_or_structure_liquidity": 63067.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5022,
              "ABC": 0.6365
            },
            "x_price": 63868.2,
            "x_idx": 209,
            "x_order": 3,
            "a_price": 63067.9,
            "a_idx": 248,
            "a_order": 3,
            "b_price": 62666.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 62921.8,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.884,
            "ratio_score": 0.932,
            "prz_score": 0.982,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 62025.2,
            "prz_range": [
              61973.62,
              62375.02
            ],
            "prz_width_pct": 0.646,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.8,
            "price_to_prz_pct_raw": 0.7955,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.5,
              "reaction_detail": {
                "reaction_score": 0.5,
                "reaction_move_ratio_ad": 0.2,
                "adverse_move_ratio_ad": 0.223,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 62174.32,
              "a_price": 63868.0,
              "tp1_ad_382": 62821.31,
              "tp2_ad_618": 63221.01,
              "tp3_a_or_structure_liquidity": 63868.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6156,
              "ABC": 0.3693,
              "BCD": 3.5133,
              "XAD": 1.6418
            },
            "x_price": 62745.6,
            "x_idx": 160,
            "x_order": 8,
            "a_price": 63868.0,
            "a_idx": 188,
            "a_order": 8,
            "b_price": 63177.0,
            "b_idx": 228,
            "b_order": 8,
            "c_price": 62921.8,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": 281
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.943,
            "ratio_score": 1.0,
            "prz_score": 0.897,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61889.91,
            "prz_range": [
              61622.42,
              62157.4
            ],
            "prz_width_pct": 0.864,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.33,
            "price_to_prz_pct_raw": 0.3345,
            "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": "crab",
              "d_price": 61889.91,
              "a_price": 64096.0,
              "tp1_ad_382": 62732.64,
              "tp2_ad_618": 63253.27,
              "tp3_a_or_structure_liquidity": 64096.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6086,
              "ABC": 0.4286
            },
            "x_price": 62745.6,
            "x_idx": 160,
            "x_order": 8,
            "a_price": 64096.0,
            "a_idx": 203,
            "a_order": 3,
            "b_price": 63274.1,
            "b_idx": 236,
            "b_order": 5,
            "c_price": 62921.8,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.902,
            "ratio_score": 0.976,
            "prz_score": 0.897,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61708.2,
            "prz_range": [
              61622.42,
              62157.4
            ],
            "prz_width_pct": 0.864,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.33,
            "price_to_prz_pct_raw": 0.3345,
            "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",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.287,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 61889.91,
              "a_price": 64096.0,
              "tp1_ad_382": 62732.64,
              "tp2_ad_618": 63253.27,
              "tp3_a_or_structure_liquidity": 64096.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5637,
              "ABC": 0.4286,
              "BCD": 3.4448,
              "XAD": 1.6377
            },
            "x_price": 62638.0,
            "x_idx": 198,
            "x_order": 8,
            "a_price": 64096.0,
            "a_idx": 203,
            "a_order": 3,
            "b_price": 63274.1,
            "b_idx": 236,
            "b_order": 5,
            "c_price": 62921.8,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": 273
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.872,
            "ratio_score": 0.99,
            "prz_score": 0.8,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 62025.2,
            "prz_range": [
              61622.31,
              62313.59
            ],
            "prz_width_pct": 1.116,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.46,
            "price_to_prz_pct_raw": 0.461,
            "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.354,
                "adverse_move_ratio_ad": 0.393,
                "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": 61967.95,
              "a_price": 63067.9,
              "tp1_ad_382": 62388.13,
              "tp2_ad_618": 62647.72,
              "tp3_a_or_structure_liquidity": 63067.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.791,
              "ABC": 0.7692,
              "BCD": 1.8414,
              "XAD": 1.3029
            },
            "x_price": 63868.2,
            "x_idx": 209,
            "x_order": 3,
            "a_price": 63067.9,
            "a_idx": 248,
            "a_order": 3,
            "b_price": 62434.9,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 62921.8,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": 281
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.871,
            "ratio_score": 0.977,
            "prz_score": 0.799,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 61731.26,
            "prz_range": [
              61386.31,
              62076.21
            ],
            "prz_width_pct": 1.118,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.08,
            "price_to_prz_pct_raw": 0.0773,
            "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": 61731.26,
              "a_price": 63067.9,
              "tp1_ad_382": 62241.86,
              "tp2_ad_618": 62557.3,
              "tp3_a_or_structure_liquidity": 63067.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.791,
              "ABC": 0.4471
            },
            "x_price": 63868.2,
            "x_idx": 209,
            "x_order": 3,
            "a_price": 63067.9,
            "a_idx": 248,
            "a_order": 3,
            "b_price": 62434.9,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 62151.9,
            "c_idx": 293,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.871,
            "ratio_score": 0.977,
            "prz_score": 0.8,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 61967.95,
            "prz_range": [
              61622.31,
              62313.59
            ],
            "prz_width_pct": 1.116,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.46,
            "price_to_prz_pct_raw": 0.461,
            "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": 61967.95,
              "a_price": 63067.9,
              "tp1_ad_382": 62388.13,
              "tp2_ad_618": 62647.72,
              "tp3_a_or_structure_liquidity": 63067.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.791,
              "ABC": 0.7692
            },
            "x_price": 63868.2,
            "x_idx": 209,
            "x_order": 3,
            "a_price": 63067.9,
            "a_idx": 248,
            "a_order": 3,
            "b_price": 62434.9,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 62921.8,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.902,
            "ratio_score": 0.976,
            "prz_score": 0.897,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61708.2,
            "prz_range": [
              61622.42,
              62157.4
            ],
            "prz_width_pct": 0.864,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.33,
            "price_to_prz_pct_raw": 0.3345,
            "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",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.287,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 61889.91,
              "a_price": 64096.0,
              "tp1_ad_382": 62732.64,
              "tp2_ad_618": 63253.27,
              "tp3_a_or_structure_liquidity": 64096.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5637,
              "ABC": 0.4286,
              "BCD": 3.4448,
              "XAD": 1.6377
            },
            "x_price": 62638.0,
            "x_idx": 198,
            "x_order": 8,
            "a_price": 64096.0,
            "a_idx": 203,
            "a_order": 3,
            "b_price": 63274.1,
            "b_idx": 236,
            "b_order": 5,
            "c_price": 62921.8,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": 273
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.884,
            "ratio_score": 0.932,
            "prz_score": 0.982,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 62025.2,
            "prz_range": [
              61973.62,
              62375.02
            ],
            "prz_width_pct": 0.646,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.8,
            "price_to_prz_pct_raw": 0.7955,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.5,
              "reaction_detail": {
                "reaction_score": 0.5,
                "reaction_move_ratio_ad": 0.2,
                "adverse_move_ratio_ad": 0.223,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 62174.32,
              "a_price": 63868.0,
              "tp1_ad_382": 62821.31,
              "tp2_ad_618": 63221.01,
              "tp3_a_or_structure_liquidity": 63868.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6156,
              "ABC": 0.3693,
              "BCD": 3.5133,
              "XAD": 1.6418
            },
            "x_price": 62745.6,
            "x_idx": 160,
            "x_order": 8,
            "a_price": 63868.0,
            "a_idx": 188,
            "a_order": 8,
            "b_price": 63177.0,
            "b_idx": 228,
            "b_order": 8,
            "c_price": 62921.8,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": 281
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.911,
            "ratio_score": 0.9,
            "prz_score": 0.982,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 62174.32,
            "prz_range": [
              61973.62,
              62375.02
            ],
            "prz_width_pct": 0.646,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.8,
            "price_to_prz_pct_raw": 0.7955,
            "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": "crab",
              "d_price": 62174.32,
              "a_price": 63868.0,
              "tp1_ad_382": 62821.31,
              "tp2_ad_618": 63221.01,
              "tp3_a_or_structure_liquidity": 63868.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6156,
              "ABC": 0.3693
            },
            "x_price": 62745.6,
            "x_idx": 160,
            "x_order": 8,
            "a_price": 63868.0,
            "a_idx": 188,
            "a_order": 8,
            "b_price": 63177.0,
            "b_idx": 228,
            "b_order": 8,
            "c_price": 62921.8,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.911,
            "ratio_score": 0.9,
            "prz_score": 0.982,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 62174.32,
            "prz_range": [
              61973.62,
              62375.02
            ],
            "prz_width_pct": 0.646,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.8,
            "price_to_prz_pct_raw": 0.7955,
            "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": "crab",
              "d_price": 62174.32,
              "a_price": 63868.0,
              "tp1_ad_382": 62821.31,
              "tp2_ad_618": 63221.01,
              "tp3_a_or_structure_liquidity": 63868.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6156,
              "ABC": 0.3693
            },
            "x_price": 62745.6,
            "x_idx": 160,
            "x_order": 8,
            "a_price": 63868.0,
            "a_idx": 188,
            "a_order": 8,
            "b_price": 63177.0,
            "b_idx": 228,
            "b_order": 8,
            "c_price": 62921.8,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.901,
            "ratio_score": 0.984,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62386.01,
            "prz_range": [
              62227.16,
              62544.85
            ],
            "prz_width_pct": 0.509,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.14,
            "price_to_prz_pct_raw": 1.1387,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 62386.01,
              "a_price": 63067.9,
              "tp1_ad_382": 62646.49,
              "tp2_ad_618": 62807.42,
              "tp3_a_or_structure_liquidity": 63067.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5022,
              "ABC": 0.6365
            },
            "x_price": 63868.2,
            "x_idx": 209,
            "x_order": 3,
            "a_price": 63067.9,
            "a_idx": 248,
            "a_order": 3,
            "b_price": 62666.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 62921.8,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.884,
            "ratio_score": 0.932,
            "prz_score": 0.982,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 62025.2,
            "prz_range": [
              61973.62,
              62375.02
            ],
            "prz_width_pct": 0.646,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.8,
            "price_to_prz_pct_raw": 0.7955,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.5,
              "reaction_detail": {
                "reaction_score": 0.5,
                "reaction_move_ratio_ad": 0.2,
                "adverse_move_ratio_ad": 0.223,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 62174.32,
              "a_price": 63868.0,
              "tp1_ad_382": 62821.31,
              "tp2_ad_618": 63221.01,
              "tp3_a_or_structure_liquidity": 63868.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6156,
              "ABC": 0.3693,
              "BCD": 3.5133,
              "XAD": 1.6418
            },
            "x_price": 62745.6,
            "x_idx": 160,
            "x_order": 8,
            "a_price": 63868.0,
            "a_idx": 188,
            "a_order": 8,
            "b_price": 63177.0,
            "b_idx": 228,
            "b_order": 8,
            "c_price": 62921.8,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": 281
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.943,
            "ratio_score": 1.0,
            "prz_score": 0.897,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61889.91,
            "prz_range": [
              61622.42,
              62157.4
            ],
            "prz_width_pct": 0.864,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.33,
            "price_to_prz_pct_raw": 0.3345,
            "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": "crab",
              "d_price": 61889.91,
              "a_price": 64096.0,
              "tp1_ad_382": 62732.64,
              "tp2_ad_618": 63253.27,
              "tp3_a_or_structure_liquidity": 64096.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6086,
              "ABC": 0.4286
            },
            "x_price": 62745.6,
            "x_idx": 160,
            "x_order": 8,
            "a_price": 64096.0,
            "a_idx": 203,
            "a_order": 3,
            "b_price": 63274.1,
            "b_idx": 236,
            "b_order": 5,
            "c_price": 62921.8,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.902,
            "ratio_score": 0.976,
            "prz_score": 0.897,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61708.2,
            "prz_range": [
              61622.42,
              62157.4
            ],
            "prz_width_pct": 0.864,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.33,
            "price_to_prz_pct_raw": 0.3345,
            "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",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.287,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 61889.91,
              "a_price": 64096.0,
              "tp1_ad_382": 62732.64,
              "tp2_ad_618": 63253.27,
              "tp3_a_or_structure_liquidity": 64096.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5637,
              "ABC": 0.4286,
              "BCD": 3.4448,
              "XAD": 1.6377
            },
            "x_price": 62638.0,
            "x_idx": 198,
            "x_order": 8,
            "a_price": 64096.0,
            "a_idx": 203,
            "a_order": 3,
            "b_price": 63274.1,
            "b_idx": 236,
            "b_order": 5,
            "c_price": 62921.8,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": 273
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.872,
            "ratio_score": 0.99,
            "prz_score": 0.8,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 62025.2,
            "prz_range": [
              61622.31,
              62313.59
            ],
            "prz_width_pct": 1.116,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.46,
            "price_to_prz_pct_raw": 0.461,
            "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.354,
                "adverse_move_ratio_ad": 0.393,
                "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": 61967.95,
              "a_price": 63067.9,
              "tp1_ad_382": 62388.13,
              "tp2_ad_618": 62647.72,
              "tp3_a_or_structure_liquidity": 63067.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.791,
              "ABC": 0.7692,
              "BCD": 1.8414,
              "XAD": 1.3029
            },
            "x_price": 63868.2,
            "x_idx": 209,
            "x_order": 3,
            "a_price": 63067.9,
            "a_idx": 248,
            "a_order": 3,
            "b_price": 62434.9,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 62921.8,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": 281
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.871,
            "ratio_score": 0.977,
            "prz_score": 0.799,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 61731.26,
            "prz_range": [
              61386.31,
              62076.21
            ],
            "prz_width_pct": 1.118,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.08,
            "price_to_prz_pct_raw": 0.0773,
            "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": 61731.26,
              "a_price": 63067.9,
              "tp1_ad_382": 62241.86,
              "tp2_ad_618": 62557.3,
              "tp3_a_or_structure_liquidity": 63067.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.791,
              "ABC": 0.4471
            },
            "x_price": 63868.2,
            "x_idx": 209,
            "x_order": 3,
            "a_price": 63067.9,
            "a_idx": 248,
            "a_order": 3,
            "b_price": 62434.9,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 62151.9,
            "c_idx": 293,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.871,
            "ratio_score": 0.977,
            "prz_score": 0.8,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 61967.95,
            "prz_range": [
              61622.31,
              62313.59
            ],
            "prz_width_pct": 1.116,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.46,
            "price_to_prz_pct_raw": 0.461,
            "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": 61967.95,
              "a_price": 63067.9,
              "tp1_ad_382": 62388.13,
              "tp2_ad_618": 62647.72,
              "tp3_a_or_structure_liquidity": 63067.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.791,
              "ABC": 0.7692
            },
            "x_price": 63868.2,
            "x_idx": 209,
            "x_order": 3,
            "a_price": 63067.9,
            "a_idx": 248,
            "a_order": 3,
            "b_price": 62434.9,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 62921.8,
            "c_idx": 268,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.864,
            "ratio_score": 0.984,
            "prz_score": 0.778,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 62020.55,
            "prz_range": [
              61657.46,
              62383.64
            ],
            "prz_width_pct": 1.171,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.55,
            "price_to_prz_pct_raw": 0.5463,
            "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": 62020.55,
              "a_price": 63067.9,
              "tp1_ad_382": 62420.64,
              "tp2_ad_618": 62667.81,
              "tp3_a_or_structure_liquidity": 63067.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5022,
              "ABC": 0.6765
            },
            "x_price": 63868.2,
            "x_idx": 209,
            "x_order": 3,
            "a_price": 63067.9,
            "a_idx": 248,
            "a_order": 3,
            "b_price": 62666.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 62394.1,
            "c_idx": 284,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.836,
            "ratio_score": 1.0,
            "prz_score": 0.708,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 61964.9,
            "prz_range": [
              61546.18,
              62383.62
            ],
            "prz_width_pct": 1.351,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.46,
            "price_to_prz_pct_raw": 0.456,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 61964.9,
              "a_price": 63067.9,
              "tp1_ad_382": 62386.25,
              "tp2_ad_618": 62646.55,
              "tp3_a_or_structure_liquidity": 63067.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5022,
              "ABC": 1.2792
            },
            "x_price": 63868.2,
            "x_idx": 209,
            "x_order": 3,
            "a_price": 63067.9,
            "a_idx": 248,
            "a_order": 3,
            "b_price": 62666.0,
            "b_idx": 251,
            "b_order": 3,
            "c_price": 62151.9,
            "c_idx": 293,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.825,
            "ratio_score": 1.0,
            "prz_score": 0.822,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 62606.9,
            "prz_range": [
              62275.86,
              62937.94
            ],
            "prz_width_pct": 1.058,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.5,
            "price_to_prz_pct_raw": 1.4968,
            "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": "shark",
              "d_price": 62606.9,
              "a_price": 61708.2,
              "tp1_ad_382": 62263.59,
              "tp2_ad_618": 62051.5,
              "tp3_a_or_structure_liquidity": 61708.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5044,
              "ABC": 1.1359
            },
            "x_price": 63067.9,
            "x_idx": 248,
            "x_order": 3,
            "a_price": 61708.2,
            "a_idx": 273,
            "a_order": 8,
            "b_price": 62394.1,
            "b_idx": 284,
            "b_order": 8,
            "c_price": 61615.0,
            "c_idx": 291,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.824,
            "ratio_score": 0.843,
            "prz_score": 0.783,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 61507.06,
            "prz_range": [
              61375.1,
              61639.02
            ],
            "prz_width_pct": 0.429,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": -0.29,
            "price_to_prz_pct_raw": -0.2862,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 61507.06,
              "a_price": 64096.0,
              "tp1_ad_382": 62496.04,
              "tp2_ad_618": 63107.02,
              "tp3_a_or_structure_liquidity": 64096.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6086,
              "ABC": 1.0707
            },
            "x_price": 62745.6,
            "x_idx": 160,
            "x_order": 8,
            "a_price": 64096.0,
            "a_idx": 203,
            "a_order": 3,
            "b_price": 63274.1,
            "b_idx": 236,
            "b_order": 5,
            "c_price": 62394.1,
            "c_idx": 284,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.911,
            "prz_proximity": "nearby",
            "prz_range": [
              61973.62,
              62375.02
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.8,
            "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": "crab",
              "d_price": 62174.32,
              "a_price": 63868.0,
              "tp1_ad_382": 62821.31,
              "tp2_ad_618": 63221.01,
              "tp3_a_or_structure_liquidity": 63868.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "CRAB FORMING HIGH PRZ $61,973.62-$62,375.02: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.902,
            "prz_proximity": "active",
            "prz_range": [
              61622.42,
              62157.4
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.33,
            "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",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.287,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 61889.91,
              "a_price": 64096.0,
              "tp1_ad_382": 62732.64,
              "tp2_ad_618": 63253.27,
              "tp3_a_or_structure_liquidity": 64096.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "CRAB COMPLETED MEDIUM PRZ $61,622.42-$62,157.40: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.884,
            "prz_proximity": "nearby",
            "prz_range": [
              61973.62,
              62375.02
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.8,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.5,
              "reaction_detail": {
                "reaction_score": 0.5,
                "reaction_move_ratio_ad": 0.2,
                "adverse_move_ratio_ad": 0.223,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 62174.32,
              "a_price": 63868.0,
              "tp1_ad_382": 62821.31,
              "tp2_ad_618": 63221.01,
              "tp3_a_or_structure_liquidity": 63868.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "CRAB COMPLETED HIGH PRZ $61,973.62-$62,375.02: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "crab",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.911,
          "ratio_score": 0.9,
          "prz_score": 0.982,
          "prz_proximity": "nearby",
          "action_status": "nearby",
          "high_confluence_prz": true,
          "d_price": 62174.32,
          "prz_range": [
            61973.62,
            62375.02
          ],
          "prz_width_pct": 0.646,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 0.8,
          "price_to_prz_pct_raw": 0.7955,
          "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": "crab",
            "d_price": 62174.32,
            "a_price": 63868.0,
            "tp1_ad_382": 62821.31,
            "tp2_ad_618": 63221.01,
            "tp3_a_or_structure_liquidity": 63868.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.6156,
            "ABC": 0.3693
          },
          "x_price": 62745.6,
          "x_idx": 160,
          "x_order": 8,
          "a_price": 63868.0,
          "a_idx": 188,
          "a_order": 8,
          "b_price": 63177.0,
          "b_idx": 228,
          "b_order": 8,
          "c_price": 62921.8,
          "c_idx": 268,
          "c_order": 8,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "crab",
          "d_price": 62174.32,
          "a_price": 63868.0,
          "tp1_ad_382": 62821.31,
          "tp2_ad_618": 63221.01,
          "tp3_a_or_structure_liquidity": 63868.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "crab",
          "d_price": 61889.91,
          "a_price": 64096.0,
          "tp1_ad_382": 62732.64,
          "tp2_ad_618": 63253.27,
          "tp3_a_or_structure_liquidity": 64096.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 62174.32,
            "a_price": 63868.0,
            "tp1_ad_382": 62821.31,
            "tp2_ad_618": 63221.01,
            "tp3_a_or_structure_liquidity": 63868.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 61889.91,
            "a_price": 64096.0,
            "tp1_ad_382": 62732.64,
            "tp2_ad_618": 63253.27,
            "tp3_a_or_structure_liquidity": 64096.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 62174.32,
            "a_price": 63868.0,
            "tp1_ad_382": 62821.31,
            "tp2_ad_618": 63221.01,
            "tp3_a_or_structure_liquidity": 63868.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 61889.91,
            "a_price": 64096.0,
            "tp1_ad_382": 62732.64,
            "tp2_ad_618": 63253.27,
            "tp3_a_or_structure_liquidity": 64096.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 62174.32,
            "a_price": 63868.0,
            "tp1_ad_382": 62821.31,
            "tp2_ad_618": 63221.01,
            "tp3_a_or_structure_liquidity": 63868.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "watch",
        "directional_scores": {
          "bullish": 0.904,
          "bearish": 0
        },
        "directional_score_total": 0.904,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.74,\n  \"setup_signals\": [\n    \"활성 bullish Crab 완료 PRZ $61,622.42-$62,157.40 내부에서 현재가 $61,683.60이 거래 중\",\n    \"완료 Crab D=$61,708.20 이후 PRZ 방어 확인: reaction_score 0.95, AD0.236 반등 도달, PRZ center reclaim/defense 기록\",\n    \"고컨플루언스 PRZ 구성: XAD + BC_EXT + ABCD 3개 Fib family 수렴, active Crab pattern_score 0.902 / ratio_score 0.976\",\n    \"추가 bullish Crab 완료/형성 PRZ $61,973.62-$62,375.02가 바로 위에 중첩되어 있으며 완료 Crab은 confirmed_reaction=true, reaction_score 0.50\",\n    \"검증된 bullish TP ladder: TP1 $62,732.64-$62,821.31, TP2 $63,221.01-$63,253.27, 구조 유동성 목표 $63,868-$64,096\"\n  ],\n  \"reasoning\": \"15분 기준 핵심 하모닉 신호는 bullish이며, 특히 완료된 strict Crab이 $61,622.42-$62,157.40 PRZ에서 D=$61,708.20 이후 강한 방어를 보였고 reaction_score가 0.95로 높습니다. 다만 현재가는 EMA20 $61,909.04, EMA120 $62,716.89, EMA240 $62,925.30 아래에 있어 구조적으로 명확한 bullish BOS/CHoCH가 확인됐다고 보기는 어렵기 때문에 structure_bias는 neutral로 둡니다. setup_bias는 bullish입니다. 이유는 현재가 $61,683.60이 활성 bullish Crab PRZ 안에 있고, XAD·BC extension·AB=CD 3중 Fib 수렴이 있으며, 확인된 TP ladder가 $62,732.64, $63,253.27, $64,096.00까지 열려 있기 때문입니다. 단, 하모닉은 단독 경로 엔진이 아니므로 $61,622.42 하단 방어 실패 전까지는 반등 후보/타이브레이커 성격으로 해석해야 합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      61622.42,\n      61708.2,\n      61297.0,\n      61386.31\n    ],\n    \"resistance\": [\n      62157.4,\n      62375.02,\n      62732.64,\n      62821.31,\n      63253.27,\n      63868.0,\n      64096.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"61622.42\",\n  \"risk_scenario\": \"$61,622.42 아래로 15분 종가가 확정되면 활성 Crab PRZ 방어 실패로 해석되며, bullish setup은 약화됩니다. 이 경우 $61,386.31-$61,297.00 하단 유동성 재탐색이 열리고, 반등 TP ladder인 $62,732.64-$63,253.27 도달 가능성은 후순위 시나리오로 밀립니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.82,
      "structure_bias": "bearish",
      "setup_bias": "neutral",
      "setup_score": 0.35,
      "setup_signals": [
        "현재가 $61,683.60은 주 분배 박스 하단 $63,308.30 아래에 위치하여 Phase E 이탈 구조가 유지됨",
        "최근 Phase E/SOW 저점 구간 $61,520.00~$61,566.30 바로 위에서 거래 중이라 신규 추격 매도보다는 저점 재시험 또는 약한 되돌림 가능성이 공존",
        "하위 반등 한계로 볼 수 있는 $62,434.90~$62,921.80 구간을 회복하지 못하면 공급 우위 지속",
        "핵심 LPSY $63,067.90 및 주 range low $63,308.30 미회복 상태"
      ],
      "reasoning": "15분 구조는 regime=DIS, regime_state=confirmed_dis, dis_score=100.0 및 regime_fitness=1.000으로 확인된 분배 구조이며, 주요 이벤트 체인은 BC $63,990.70 → AR $63,308.30 → UTAD $64,298.10 → LPSY $63,874.60 → SOW $63,177.00 → LPSY $63,067.90 → Phase E $61,520.00로 진행되었습니다. 현재가 $61,683.60은 주 분배 range low $63,308.30 아래에 있어 구조적 편향은 명확히 bearish입니다. 다만 단기 실행 관점에서는 가격이 이미 Phase E/SOW 저점 $61,520.00~$61,566.30 부근의 할인 영역에 있어, 추가 하락 전 $62,434.90~$62,921.80 또는 $63,067.90 재시험 가능성을 배제하기 어렵습니다. 따라서 구조는 bearish이지만 setup_bias는 확정적 추격 매도보다는 neutral이며, $63,067.90~$63,308.30 회복 실패가 확인될 때 하방 지속 신뢰도가 다시 높아집니다.",
      "key_levels": {
        "support": [
          61566.3,
          61520.0,
          61297.0
        ],
        "resistance": [
          62434.9,
          62921.8,
          63067.9,
          63308.3,
          63874.6,
          64298.1
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$64,298.10",
      "risk_scenario": "반대 시나리오는 가격이 $63,067.90 LPSY와 $63,308.30 주 range low를 회복한 뒤, $63,874.60~$64,298.10 공급대를 흡수하는 경우입니다. 특히 $64,298.10 UTAD 고점을 상향 회복하고 수용되면 현재 Phase E 분배 해석은 무효화되며, 하락 구조가 재축적 또는 새로운 박스 형성으로 재평가되어야 합니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 88.8,
        "dis_score": 100.0,
        "regime": "DIS",
        "regime_state": "confirmed_dis",
        "structure_bias": "bearish",
        "phase_context": "confirmed_dis / distribution / Phase E",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "UTAD",
          "LPSY",
          "SOW",
          "LPSY",
          "Phase E"
        ],
        "last_phase": "Phase E",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 41,
            "price": 63990.7,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 46,
            "price": 63308.3,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 76,
            "price": 63226.4,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 98,
            "price": 61297.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 117,
            "price": 63867.5,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 141,
            "price": 64298.1,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 220,
            "price": 63874.6,
            "color": "#8338ec"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 228,
            "price": 63177.0,
            "color": "#ef476f"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 248,
            "price": 63067.9,
            "color": "#8338ec"
          },
          {
            "label": "Phase E",
            "side": "low",
            "idx": 297,
            "price": 61520.0,
            "color": "#7209b7"
          }
        ],
        "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": 41,
            "end_idx": 297,
            "phase_count": 10,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 41,
                "price": 63990.7,
                "color": "#ffd166",
                "dt": "2026-07-06 08:15:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 46,
                "price": 63308.3,
                "color": "#06d6a0",
                "dt": "2026-07-06 09:30:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 76,
                "price": 63226.4,
                "color": "#118ab2",
                "dt": "2026-07-06 17:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 98,
                "price": 61297.0,
                "color": "#ef476f",
                "dt": "2026-07-06 22:30:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 117,
                "price": 63867.5,
                "color": "#f9844a",
                "dt": "2026-07-07 03:15:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 141,
                "price": 64298.1,
                "color": "#f9844a",
                "dt": "2026-07-07 09:15:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 220,
                "price": 63874.6,
                "color": "#8338ec",
                "dt": "2026-07-08 05:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 228,
                "price": 63177.0,
                "color": "#ef476f",
                "dt": "2026-07-08 07:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 248,
                "price": 63067.9,
                "color": "#8338ec",
                "dt": "2026-07-08 12:00:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 297,
                "price": 61520.0,
                "color": "#7209b7",
                "dt": "2026-07-09 00: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": 261,
            "end_idx": 298,
            "phase_count": 5,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 261,
                "price": 62434.9,
                "color": "#ffd166",
                "dt": "2026-07-08 15:15:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 268,
                "price": 62921.8,
                "color": "#06d6a0",
                "dt": "2026-07-08 17:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 291,
                "price": 61615.0,
                "color": "#118ab2",
                "dt": "2026-07-08 22:45:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 297,
                "price": 61520.0,
                "color": "#ef476f",
                "dt": "2026-07-09 00:15:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 298,
                "price": 61566.3,
                "color": "#ef476f",
                "dt": "2026-07-09 00:30:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_2",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 2,
        "regime_fitness": 1.0,
        "current_event": "Phase E",
        "major_phase": "E",
        "pos_in_range": 0.5,
        "main_range_low": 63308.3,
        "main_range_high": 63990.7
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.82,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.35,\n  \"setup_signals\": [\n    \"현재가 $61,683.60은 주 분배 박스 하단 $63,308.30 아래에 위치하여 Phase E 이탈 구조가 유지됨\",\n    \"최근 Phase E/SOW 저점 구간 $61,520.00~$61,566.30 바로 위에서 거래 중이라 신규 추격 매도보다는 저점 재시험 또는 약한 되돌림 가능성이 공존\",\n    \"하위 반등 한계로 볼 수 있는 $62,434.90~$62,921.80 구간을 회복하지 못하면 공급 우위 지속\",\n    \"핵심 LPSY $63,067.90 및 주 range low $63,308.30 미회복 상태\"\n  ],\n  \"reasoning\": \"15분 구조는 regime=DIS, regime_state=confirmed_dis, dis_score=100.0 및 regime_fitness=1.000으로 확인된 분배 구조이며, 주요 이벤트 체인은 BC $63,990.70 → AR $63,308.30 → UTAD $64,298.10 → LPSY $63,874.60 → SOW $63,177.00 → LPSY $63,067.90 → Phase E $61,520.00로 진행되었습니다. 현재가 $61,683.60은 주 분배 range low $63,308.30 아래에 있어 구조적 편향은 명확히 bearish입니다. 다만 단기 실행 관점에서는 가격이 이미 Phase E/SOW 저점 $61,520.00~$61,566.30 부근의 할인 영역에 있어, 추가 하락 전 $62,434.90~$62,921.80 또는 $63,067.90 재시험 가능성을 배제하기 어렵습니다. 따라서 구조는 bearish이지만 setup_bias는 확정적 추격 매도보다는 neutral이며, $63,067.90~$63,308.30 회복 실패가 확인될 때 하방 지속 신뢰도가 다시 높아집니다.\",\n  \"key_levels\": {\n    \"support\": [\n      61566.3,\n      61520.0,\n      61297.0\n    ],\n    \"resistance\": [\n      62434.9,\n      62921.8,\n      63067.9,\n      63308.3,\n      63874.6,\n      64298.1\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$64,298.10\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 $63,067.90 LPSY와 $63,308.30 주 range low를 회복한 뒤, $63,874.60~$64,298.10 공급대를 흡수하는 경우입니다. 특히 $64,298.10 UTAD 고점을 상향 회복하고 수용되면 현재 Phase E 분배 해석은 무효화되며, 하락 구조가 재축적 또는 새로운 박스 형성으로 재평가되어야 합니다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.78,
    "execution_setup": {
      "setup_bias": "bullish",
      "setup_strength": 0.66,
      "active_setups": [
        "캔들: $61,297.00 7일 저점 인근 고거래량 bullish engulfing 이후 doji·bullish harami가 이어져 단기 매도 피로 조건 형성",
        "피보나치: 현재가 $61,683.60이 ret_0.786 $61,803.15, ret_0.618 $61,877.69, EQ $61,930.05 아래의 깊은 할인 구간에 위치",
        "하모닉: 활성 bullish Crab PRZ $61,622.42-$62,157.40 내부에서 거래 중이며, 완료 Crab D=$61,708.20 이후 PRZ 방어 반응 확인",
        "반대 조건: 파생 CVD -5040.9590, 가격 하락 중 OI +1.2750%, 롱 계정 crowded 상태로 $60,800 / $59,500 하방 유동성 노출",
        "반대 조건: ICT 기준 $61,708.20 하향 BOS 이후 EMA20 $61,909.04 및 구조 기준선 회복 실패"
      ],
      "setup_vs_structure": "구조는 명확히 bearish이나, 실행 setup은 $61,622-$61,297 방어를 전제로 한 단기 bullish 반응 후보가 우세하다. 즉, 이는 추세 전환 확정이 아니라 bearish 구조 내부의 할인권 반등·스프링 위험 조건으로 해석해야 한다."
    },
    "signal_breakdown": {
      "bullish_count": 0,
      "bearish_count": 5,
      "neutral_count": 1
    },
    "key_levels": {
      "support": [
        61622.42,
        61566.3,
        61520.0,
        61297.0,
        60800.0,
        59500.0
      ],
      "resistance": [
        61708.2,
        61909.04,
        61930.05,
        62157.4,
        62270.15,
        62466.9,
        62716.89,
        62925.3,
        63067.9,
        63308.3
      ]
    },
    "confluences": [
      "ICT와 피보나치가 모두 $61,708 부근을 핵심 구조선으로 본다: ICT는 $61,708.20 하향 BOS, 피보나치는 스윙 저점 $61,708 이탈로 해석한다.",
      "하모닉과 ICT가 $61,708.20을 동시에 중요 레벨로 제시한다: 하모닉은 completed bullish Crab D 지점, ICT는 마지막 bearish BOS 기준선이다.",
      "캔들·파생·피보나치·Wyckoff가 모두 $61,297.00을 하단 핵심 지지 또는 재시험 레벨로 제시한다.",
      "ICT와 Wyckoff는 $61,520-$61,566 구간을 단기 저점 구조로 공유한다: ICT 아시아 세션 저점 $61,520.0, Wyckoff Phase E/SOW 저점 $61,520.0-$61,566.3이다.",
      "캔들·파생·ICT가 모두 EMA20 $61,909.04 아래의 약세 평균가 구조를 강조한다.",
      "피보나치 $61,930.05, ICT $61,900.5, EMA20 $61,909.04가 $61,900-$61,930 저항 클러스터를 형성한다.",
      "Wyckoff $62,921.80, EMA240 $62,925.30, EMA120 $62,716.89, 하모닉 TP1 $62,732.64가 $62,700-$62,925 상단 회복 검증대를 형성한다.",
      "Wyckoff와 ICT 모두 상위 구조가 하방 이탈 상태라고 본다: Wyckoff는 분배 Phase E, ICT는 3회 연속 bearish BOS를 제시한다."
    ],
    "conflicts": [
      "구조 판단과 실행 setup이 충돌한다: Wyckoff·ICT·파생·피보나치·캔들은 구조를 bearish로 보지만, 캔들·피보나치·하모닉은 현재 위치를 할인권 반등 후보로 본다.",
      "하모닉은 $61,622.42-$62,157.40 bullish Crab PRZ 방어를 근거로 bullish setup을 제시하지만, 하모닉 자체도 단독 구조 전환 권한은 없으며 ICT/Wyckoff의 bearish 구조를 뒤집지는 못한다.",
      "파생 데이터는 CVD 음수와 롱 crowded 조건으로 하방 취약성을 강조하지만, 캔들은 $61,297.00 부근 고거래량 bullish engulfing으로 단기 매도 피로를 시사한다.",
      "Wyckoff는 현재가가 Phase E/SOW 저점 바로 위라 신규 추격 매도 품질은 낮다고 보지만, 구조 자체는 여전히 분배 이탈 이후의 bearish 상태로 평가한다."
    ],
    "executive_summary": "BTC 15분 구조는 bearish로 판정한다. 이전 분배 구조는 Phase E 하방 이탈까지 진행됐고, 현재는 $61,520-$62,921 구간에서 재분배 또는 저점 재시험 성격의 새 하위 구조가 형성되는 국면으로 보인다. ICT의 3회 연속 bearish BOS는 $63,177.00, $62,466.90, $61,708.20 순서로 확인되며, 현재가는 EMA20 $61,909.04와 핵심 구조선 $61,708.20 아래에 있다. 다만 $61,622.42-$62,157.40 하모닉 PRZ, $61,297.00 7일 저점, $61,520-$61,566 Wyckoff/ICT 저점대가 겹쳐 있어 bearish 구조 내부의 스프링성 반응 위험은 존재한다. 구조적 무효화는 $63,308.30 회복이며, 그 전까지는 반등 setup이 발생하더라도 상위 구조는 분배 이탈 이후의 약세 상태로 유지된다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.78,\n  \"execution_setup\": {\n    \"setup_bias\": \"bullish\",\n    \"setup_strength\": 0.66,\n    \"active_setups\": [\n      \"캔들: $61,297.00 7일 저점 인근 고거래량 bullish engulfing 이후 doji·bullish harami가 이어져 단기 매도 피로 조건 형성\",\n      \"피보나치: 현재가 $61,683.60이 ret_0.786 $61,803.15, ret_0.618 $61,877.69, EQ $61,930.05 아래의 깊은 할인 구간에 위치\",\n      \"하모닉: 활성 bullish Crab PRZ $61,622.42-$62,157.40 내부에서 거래 중이며, 완료 Crab D=$61,708.20 이후 PRZ 방어 반응 확인\",\n      \"반대 조건: 파생 CVD -5040.9590, 가격 하락 중 OI +1.2750%, 롱 계정 crowded 상태로 $60,800 / $59,500 하방 유동성 노출\",\n      \"반대 조건: ICT 기준 $61,708.20 하향 BOS 이후 EMA20 $61,909.04 및 구조 기준선 회복 실패\"\n    ],\n    \"setup_vs_structure\": \"구조는 명확히 bearish이나, 실행 setup은 $61,622-$61,297 방어를 전제로 한 단기 bullish 반응 후보가 우세하다. 즉, 이는 추세 전환 확정이 아니라 bearish 구조 내부의 할인권 반등·스프링 위험 조건으로 해석해야 한다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 0,\n    \"bearish_count\": 5,\n    \"neutral_count\": 1\n  },\n  \"key_levels\": {\n    \"support\": [\n      61622.42,\n      61566.3,\n      61520.0,\n      61297.0,\n      60800.0,\n      59500.0\n    ],\n    \"resistance\": [\n      61708.2,\n      61909.04,\n      61930.05,\n      62157.4,\n      62270.15,\n      62466.9,\n      62716.89,\n      62925.3,\n      63067.9,\n      63308.3\n    ]\n  },\n  \"confluences\": [\n    \"ICT와 피보나치가 모두 $61,708 부근을 핵심 구조선으로 본다: ICT는 $61,708.20 하향 BOS, 피보나치는 스윙 저점 $61,708 이탈로 해석한다.\",\n    \"하모닉과 ICT가 $61,708.20을 동시에 중요 레벨로 제시한다: 하모닉은 completed bullish Crab D 지점, ICT는 마지막 bearish BOS 기준선이다.\",\n    \"캔들·파생·피보나치·Wyckoff가 모두 $61,297.00을 하단 핵심 지지 또는 재시험 레벨로 제시한다.\",\n    \"ICT와 Wyckoff는 $61,520-$61,566 구간을 단기 저점 구조로 공유한다: ICT 아시아 세션 저점 $61,520.0, Wyckoff Phase E/SOW 저점 $61,520.0-$61,566.3이다.\",\n    \"캔들·파생·ICT가 모두 EMA20 $61,909.04 아래의 약세 평균가 구조를 강조한다.\",\n    \"피보나치 $61,930.05, ICT $61,900.5, EMA20 $61,909.04가 $61,900-$61,930 저항 클러스터를 형성한다.\",\n    \"Wyckoff $62,921.80, EMA240 $62,925.30, EMA120 $62,716.89, 하모닉 TP1 $62,732.64가 $62,700-$62,925 상단 회복 검증대를 형성한다.\",\n    \"Wyckoff와 ICT 모두 상위 구조가 하방 이탈 상태라고 본다: Wyckoff는 분배 Phase E, ICT는 3회 연속 bearish BOS를 제시한다.\"\n  ],\n  \"conflicts\": [\n    \"구조 판단과 실행 setup이 충돌한다: Wyckoff·ICT·파생·피보나치·캔들은 구조를 bearish로 보지만, 캔들·피보나치·하모닉은 현재 위치를 할인권 반등 후보로 본다.\",\n    \"하모닉은 $61,622.42-$62,157.40 bullish Crab PRZ 방어를 근거로 bullish setup을 제시하지만, 하모닉 자체도 단독 구조 전환 권한은 없으며 ICT/Wyckoff의 bearish 구조를 뒤집지는 못한다.\",\n    \"파생 데이터는 CVD 음수와 롱 crowded 조건으로 하방 취약성을 강조하지만, 캔들은 $61,297.00 부근 고거래량 bullish engulfing으로 단기 매도 피로를 시사한다.\",\n    \"Wyckoff는 현재가가 Phase E/SOW 저점 바로 위라 신규 추격 매도 품질은 낮다고 보지만, 구조 자체는 여전히 분배 이탈 이후의 bearish 상태로 평가한다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 확인된 분배 구조와 Phase E 하방 이탈을 가장 명확히 제시했다. BC $63,990.70 → AR $63,308.30 → UTAD $64,298.10 → LPSY $63,874.60 / $63,067.90 → SOW $63,177.00 → Phase E $61,520.00의 단계 배열이 구체적이며, 현재가 $61,683.60이 주 분배 박스 하단 $63,308.30 아래에 있어 구조적 bearish 판정의 근거가 가장 강하다.\",\n  \"invalidation_level\": \"$63,308.30 상방 회복 및 15분 종가 유지. 이 레벨은 Wyckoff 주 분배 박스 하단이자 Phase E 이탈 구조의 핵심 무효화 기준이며, 보수적으로는 $64,298.10 UTAD 고점 회복 시 bearish 분배 구조가 완전히 훼손된다.\",\n  \"executive_summary\": \"BTC 15분 구조는 bearish로 판정한다. 이전 분배 구조는 Phase E 하방 이탈까지 진행됐고, 현재는 $61,520-$62,921 구간에서 재분배 또는 저점 재시험 성격의 새 하위 구조가 형성되는 국면으로 보인다. ICT의 3회 연속 bearish BOS는 $63,177.00, $62,466.90, $61,708.20 순서로 확인되며, 현재가는 EMA20 $61,909.04와 핵심 구조선 $61,708.20 아래에 있다. 다만 $61,622.42-$62,157.40 하모닉 PRZ, $61,297.00 7일 저점, $61,520-$61,566 Wyckoff/ICT 저점대가 겹쳐 있어 bearish 구조 내부의 스프링성 반응 위험은 존재한다. 구조적 무효화는 $63,308.30 회복이며, 그 전까지는 반등 setup이 발생하더라도 상위 구조는 분배 이탈 이후의 약세 상태로 유지된다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.78,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.62,
    "waypoints": [
      {
        "seq": 1,
        "price": 61944.0,
        "type": "resistance_test",
        "source": "Fibonacci($61,944 confluence·ret_0.618 $61,877.69·EQ $61,930.05), Candlestick(저항 $61,909.04), ICT($61,900.5·EMA20), Harmonic(Crab PRZ $61,622-$62,157 방어), WP1 후보표(strict, score 1.0, 0.42%)",
        "description": "실행 setup이 bullish(66%)로 구조와 충돌하고 강도 0.66≥0.5이므로 첫 waypoint는 setup 방향인 상방 반등으로 배치. 현재가 $61,683.60에서 깨진 스윙 저점 $61,708.20을 재탈환하며 $61,900-$61,944 저항 클러스터로 반등한다. 이 구간은 EMA20 $61,909.04, ICT $61,900.5, 피보 EQ $61,930.05, strict fib_confluence $61,944(score 1.0)가 중첩된 최우선 저항대이자 하모닉 Crab PRZ 방어(reaction_score 0.95)의 1차 상단 타깃이다. 다만 setup 강도가 0.7 미만이라 추세 전환이 아닌 할인권 반등/스프링 성격으로, 이 클러스터에서 거부 확률이 높다.",
        "est_hours": 3.0,
        "turning_zone": [
          61930.0,
          62040.0
        ],
        "likely_wick": 61982.0,
        "rejection_confirm": 61803.0,
        "invalid_overshoot": 62157.0,
        "calibration_reasoning": "6중 피보 컨플루언스 $61,944와 EMA20/ICT/피보 EQ($61,909~61,930) 저항 클러스터가 존 하단을 앵커하고, 상단은 약 0.44×ATR 위 fib 0.382 $61,982.41까지 확장하여 컨플루언스 위 유동성을 쓸어담는 wick를 반영했습니다. fib 0.786 $61,803 이탈 시 거부 확정, Chairman 저항 $62,157 돌파 시(하모닉 강세 TP 방향) 약세 경로 무효화입니다."
      },
      {
        "seq": 2,
        "price": 61520.0,
        "type": "support_test",
        "source": "Wyckoff(Phase E/SOW 저점 $61,520.0), ICT(아시아 세션 저점 $61,520.0·support)",
        "description": "$61,944 저항 클러스터에서 EMA20 회복 실패로 거부된 뒤 구조적 bearish(78%) 재개. Wyckoff Phase E/SOW 저점 $61,520.0과 ICT 아시아 세션 저점 $61,520.0이 겹치는 단기 저점 구조를 재시험한다. 파생 CVD -5040.96, 가격 하락 중 OI +1.275%, 롱 혼잡도 0.926 조건이 하방 압력을 지지한다.",
        "est_hours": 8.0,
        "turning_zone": [
          61450.0,
          61535.0
        ],
        "likely_wick": 61500.0,
        "rejection_confirm": 61566.0,
        "invalid_overshoot": 61410.0,
        "calibration_reasoning": "Wyckoff SOW 저점 + ICT 아시아 저점 + Chairman 지지 $61,520이 존 상단을 앵커하며, 다음 지지 $61,297까지 공백이라 약 0.35×ATR 아래로 확장했습니다. 라운드넘버 $61,500이 wick 자석 역할을 하고, Chairman $61,566.3 회복 시 반등 확정, $61,410 이탈 시 $61,297로 연장됩니다."
      },
      {
        "seq": 3,
        "price": 61297.0,
        "type": "swing_low",
        "source": "Candlestick·Derivatives·Fibonacci·Wyckoff·ICT(공통 7일 저점 $61,297.0)",
        "description": "$61,520 SOW 저점 이탈 시 캔들·파생·피보·Wyckoff·ICT가 공통으로 하단 핵심 지지로 지목하는 7일 저점 $61,297.0 재시험. 고거래량 bullish engulfing 발생 구간이라 1차 방어 후보이나, EMA20 $61,909.04 회복 실패가 지속되고 롱 crowded가 해소되지 않으면 이탈 리스크가 커진다.",
        "est_hours": 14.0,
        "turning_zone": [
          61200.0,
          61310.0
        ],
        "likely_wick": 61250.0,
        "rejection_confirm": 61400.0,
        "invalid_overshoot": 61180.0,
        "calibration_reasoning": "7일 저점 $61,297은 캔들 engulfing·파생·피보·Wyckoff·ICT가 공통 지목하는 최다 컨플루언스 지지로, 저점 아래 스톱을 노린 스윕이 라운드 $61,250까지 내려가는 약 0.5×ATR 존을 설정했습니다. $61,400 회복 시 방어 확정, $61,180 이탈 시 롱 청산 유동성 $60,800으로 연장됩니다."
      },
      {
        "seq": 4,
        "price": 60800.0,
        "type": "liquidity_sweep",
        "source": "Derivatives(롱 청산 유동성 $60,800), Wyckoff(분배 Phase E 하방 연장)",
        "description": "$61,297 7일 저점을 이탈하면 파생 트레이더가 지목한 롱 청산 유동성 $60,800 스윕. OI 누적·롱 계정 0.644·롱 혼잡도 0.926 하에서 하방 유동성 테스트가 우위이며, Wyckoff 분배 Phase E 하방 연장과 정합한다. 24시간 하방 극값 후보.",
        "est_hours": 21.0,
        "turning_zone": [
          60650.0,
          60825.0
        ],
        "likely_wick": 60700.0,
        "rejection_confirm": 61000.0,
        "invalid_overshoot": 60600.0,
        "calibration_reasoning": "터미널 웨이포인트이자 롱 청산 유동성 하방 스윕이므로 존을 아래로 약 0.75×ATR 넓게 잡았고, Chairman 지지 $60,800 아래 청산 클러스터를 플러시하는 wick를 라운드넘버 $60,700로 편향시켰습니다. 라운드 $61,000 회복 시 반전 확정, 존 하단 $60,600 이탈 시 다음 Chairman 지지 $59,500으로 심화됩니다."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 61944.0,
        "expected_low": 61600.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 61944.0,
        "expected_low": 61520.0,
        "high_first": true
      },
      "24h": {
        "expected_high": 61944.0,
        "expected_low": 60800.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 62157.4,
        "description": "$61,944 저항 클러스터를 강하게 돌파하고 하모닉 PRZ 상단 $62,157.40 및 ICT EQ $62,270.15를 회복하면 단순 반등을 넘어선 bullish 가속. 하모닉 TP $62,732.64로 확장 여지가 열리고 하방 경로 신뢰도 약화."
      },
      "bearish": {
        "price": 61297.0,
        "description": "$61,297 7일 저점을 종가 이탈하면 캔들 방어(고거래량 bullish engulfing) 무효화. 롱 청산 캐스케이드로 $60,800·$59,500 유동성이 급속 테스트되며 bearish 구조 가속 확인."
      }
    },
    "scenario_invalidation": 62925.3,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.62,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 61944.00,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci($61,944 confluence·ret_0.618 $61,877.69·EQ $61,930.05), Candlestick(저항 $61,909.04), ICT($61,900.5·EMA20), Harmonic(Crab PRZ $61,622-$62,157 방어), WP1 후보표(strict, score 1.0, 0.42%)\",\n      \"description\": \"실행 setup이 bullish(66%)로 구조와 충돌하고 강도 0.66≥0.5이므로 첫 waypoint는 setup 방향인 상방 반등으로 배치. 현재가 $61,683.60에서 깨진 스윙 저점 $61,708.20을 재탈환하며 $61,900-$61,944 저항 클러스터로 반등한다. 이 구간은 EMA20 $61,909.04, ICT $61,900.5, 피보 EQ $61,930.05, strict fib_confluence $61,944(score 1.0)가 중첩된 최우선 저항대이자 하모닉 Crab PRZ 방어(reaction_score 0.95)의 1차 상단 타깃이다. 다만 setup 강도가 0.7 미만이라 추세 전환이 아닌 할인권 반등/스프링 성격으로, 이 클러스터에서 거부 확률이 높다.\",\n      \"est_hours\": 3.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 61520.00,\n      \"type\": \"support_test\",\n      \"source\": \"Wyckoff(Phase E/SOW 저점 $61,520.0), ICT(아시아 세션 저점 $61,520.0·support)\",\n      \"description\": \"$61,944 저항 클러스터에서 EMA20 회복 실패로 거부된 뒤 구조적 bearish(78%) 재개. Wyckoff Phase E/SOW 저점 $61,520.0과 ICT 아시아 세션 저점 $61,520.0이 겹치는 단기 저점 구조를 재시험한다. 파생 CVD -5040.96, 가격 하락 중 OI +1.275%, 롱 혼잡도 0.926 조건이 하방 압력을 지지한다.\",\n      \"est_hours\": 8.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 61297.00,\n      \"type\": \"swing_low\",\n      \"source\": \"Candlestick·Derivatives·Fibonacci·Wyckoff·ICT(공통 7일 저점 $61,297.0)\",\n      \"description\": \"$61,520 SOW 저점 이탈 시 캔들·파생·피보·Wyckoff·ICT가 공통으로 하단 핵심 지지로 지목하는 7일 저점 $61,297.0 재시험. 고거래량 bullish engulfing 발생 구간이라 1차 방어 후보이나, EMA20 $61,909.04 회복 실패가 지속되고 롱 crowded가 해소되지 않으면 이탈 리스크가 커진다.\",\n      \"est_hours\": 14.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 60800.00,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Derivatives(롱 청산 유동성 $60,800), Wyckoff(분배 Phase E 하방 연장)\",\n      \"description\": \"$61,297 7일 저점을 이탈하면 파생 트레이더가 지목한 롱 청산 유동성 $60,800 스윕. OI 누적·롱 계정 0.644·롱 혼잡도 0.926 하에서 하방 유동성 테스트가 우위이며, Wyckoff 분배 Phase E 하방 연장과 정합한다. 24시간 하방 극값 후보.\",\n      \"est_hours\": 21.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 61944.00, \"expected_low\": 61600.00, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 61944.00, \"expected_low\": 61520.00, \"high_first\": true},\n    \"24h\": {\"expected_high\": 61944.00, \"expected_low\": 60800.00, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 62157.40, \"description\": \"$61,944 저항 클러스터를 강하게 돌파하고 하모닉 PRZ 상단 $62,157.40 및 ICT EQ $62,270.15를 회복하면 단순 반등을 넘어선 bullish 가속. 하모닉 TP $62,732.64로 확장 여지가 열리고 하방 경로 신뢰도 약화.\"},\n    \"bearish\": {\"price\": 61297.00, \"description\": \"$61,297 7일 저점을 종가 이탈하면 캔들 방어(고거래량 bullish engulfing) 무효화. 롱 청산 캐스케이드로 $60,800·$59,500 유동성이 급속 테스트되며 bearish 구조 가속 확인.\"}\n  },\n  \"scenario_invalidation\": 62925.30\n}\n```\n\n**핵심 논리:** 구조는 bearish(78%)로 확정됐으나 실행 setup은 bullish(66%, ≥0.5)로 충돌하므로, setup-driven 규칙에 따라 첫 waypoint를 상방 반등($61,944 저항 클러스터)으로 배치했습니다. 다만 setup 강도가 0.7 미만이라 이는 추세 전환이 아닌 **할인권 반등/스프링**으로 해석되며, 최우선 저항 클러스터에서 거부 후 Wyckoff/ICT $61,520 → 7일 저점 $61,297 → 청산 유동성 $60,800으로 이어지는 구조적 하방 연장이 base path입니다. `scenario_invalidation`은 상단 회복 검증대 상단($62,925.30, EMA240·Wyckoff·하모닉 TP1 중첩)으로 설정했으며, 이를 지속 회복하면 반등이 구조 회복으로 전환되어 하락 경로 전체가 무효화됩니다(완전 구조 전환은 챔피언 명시 $63,308.30)."
  },
  "tp_calibration": {
    "executive_summary": "전체 경로는 $61,944 6중 피보 컨플루언스에서의 거부 후 구조적 약세 재개 시나리오이며, 4개 웨이포인트 모두 ATR $220.31을 기준으로 turning_zone을 산출했습니다. 상방 웨이포인트(WP1)는 base 위로, 하방 웨이포인트(WP2~WP4)는 base 아래로 존을 확장했고, 터미널 WP4는 롱 청산 유동성 스윕 성격상 하방으로 존을 넓게(약 0.75×ATR) 잡았습니다. 하모닉 확정 반응(CONFIRMED_REACTION)의 TP 사다리는 모두 상방($62,732~$64,096)을 가리켜 약세 경로와 정렬하지 않으므로 웨이포인트 앵커로 사용하지 않고, WP1 상방 무효화 근거로만 활용했습니다.",
    "key_insight": "하모닉 강세 TP($62,732+)와 구조적 약세 경로가 정면 충돌하는 구간이며, WP1 $61,944 클러스터의 거부 성공 여부가 전체 경로의 분기점입니다. $62,157(Chairman 저항) 상향 돌파 시 하방 경로 전체가 무효화되고 하모닉 강세 시나리오로 전환됩니다.",
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 61944.0,
        "turning_zone": [
          61930.0,
          62040.0
        ],
        "likely_wick": 61982.0,
        "rejection_confirm": 61803.0,
        "invalid_overshoot": 62157.0,
        "calibration_reasoning": "6중 피보 컨플루언스 $61,944와 EMA20/ICT/피보 EQ($61,909~61,930) 저항 클러스터가 존 하단을 앵커하고, 상단은 약 0.44×ATR 위 fib 0.382 $61,982.41까지 확장하여 컨플루언스 위 유동성을 쓸어담는 wick를 반영했습니다. fib 0.786 $61,803 이탈 시 거부 확정, Chairman 저항 $62,157 돌파 시(하모닉 강세 TP 방향) 약세 경로 무효화입니다."
      },
      {
        "seq": 2,
        "base_target": 61520.0,
        "turning_zone": [
          61450.0,
          61535.0
        ],
        "likely_wick": 61500.0,
        "rejection_confirm": 61566.0,
        "invalid_overshoot": 61410.0,
        "calibration_reasoning": "Wyckoff SOW 저점 + ICT 아시아 저점 + Chairman 지지 $61,520이 존 상단을 앵커하며, 다음 지지 $61,297까지 공백이라 약 0.35×ATR 아래로 확장했습니다. 라운드넘버 $61,500이 wick 자석 역할을 하고, Chairman $61,566.3 회복 시 반등 확정, $61,410 이탈 시 $61,297로 연장됩니다."
      },
      {
        "seq": 3,
        "base_target": 61297.0,
        "turning_zone": [
          61200.0,
          61310.0
        ],
        "likely_wick": 61250.0,
        "rejection_confirm": 61400.0,
        "invalid_overshoot": 61180.0,
        "calibration_reasoning": "7일 저점 $61,297은 캔들 engulfing·파생·피보·Wyckoff·ICT가 공통 지목하는 최다 컨플루언스 지지로, 저점 아래 스톱을 노린 스윕이 라운드 $61,250까지 내려가는 약 0.5×ATR 존을 설정했습니다. $61,400 회복 시 방어 확정, $61,180 이탈 시 롱 청산 유동성 $60,800으로 연장됩니다."
      },
      {
        "seq": 4,
        "base_target": 60800.0,
        "turning_zone": [
          60650.0,
          60825.0
        ],
        "likely_wick": 60700.0,
        "rejection_confirm": 61000.0,
        "invalid_overshoot": 60600.0,
        "calibration_reasoning": "터미널 웨이포인트이자 롱 청산 유동성 하방 스윕이므로 존을 아래로 약 0.75×ATR 넓게 잡았고, Chairman 지지 $60,800 아래 청산 클러스터를 플러시하는 wick를 라운드넘버 $60,700로 편향시켰습니다. 라운드 $61,000 회복 시 반전 확정, 존 하단 $60,600 이탈 시 다음 Chairman 지지 $59,500으로 심화됩니다."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"executive_summary\": \"전체 경로는 $61,944 6중 피보 컨플루언스에서의 거부 후 구조적 약세 재개 시나리오이며, 4개 웨이포인트 모두 ATR $220.31을 기준으로 turning_zone을 산출했습니다. 상방 웨이포인트(WP1)는 base 위로, 하방 웨이포인트(WP2~WP4)는 base 아래로 존을 확장했고, 터미널 WP4는 롱 청산 유동성 스윕 성격상 하방으로 존을 넓게(약 0.75×ATR) 잡았습니다. 하모닉 확정 반응(CONFIRMED_REACTION)의 TP 사다리는 모두 상방($62,732~$64,096)을 가리켜 약세 경로와 정렬하지 않으므로 웨이포인트 앵커로 사용하지 않고, WP1 상방 무효화 근거로만 활용했습니다.\",\n  \"key_insight\": \"하모닉 강세 TP($62,732+)와 구조적 약세 경로가 정면 충돌하는 구간이며, WP1 $61,944 클러스터의 거부 성공 여부가 전체 경로의 분기점입니다. $62,157(Chairman 저항) 상향 돌파 시 하방 경로 전체가 무효화되고 하모닉 강세 시나리오로 전환됩니다.\",\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 61944.00,\n      \"turning_zone\": [61930.00, 62040.00],\n      \"likely_wick\": 61982.00,\n      \"rejection_confirm\": 61803.00,\n      \"invalid_overshoot\": 62157.00,\n      \"calibration_reasoning\": \"6중 피보 컨플루언스 $61,944와 EMA20/ICT/피보 EQ($61,909~61,930) 저항 클러스터가 존 하단을 앵커하고, 상단은 약 0.44×ATR 위 fib 0.382 $61,982.41까지 확장하여 컨플루언스 위 유동성을 쓸어담는 wick를 반영했습니다. fib 0.786 $61,803 이탈 시 거부 확정, Chairman 저항 $62,157 돌파 시(하모닉 강세 TP 방향) 약세 경로 무효화입니다.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 61520.00,\n      \"turning_zone\": [61450.00, 61535.00],\n      \"likely_wick\": 61500.00,\n      \"rejection_confirm\": 61566.00,\n      \"invalid_overshoot\": 61410.00,\n      \"calibration_reasoning\": \"Wyckoff SOW 저점 + ICT 아시아 저점 + Chairman 지지 $61,520이 존 상단을 앵커하며, 다음 지지 $61,297까지 공백이라 약 0.35×ATR 아래로 확장했습니다. 라운드넘버 $61,500이 wick 자석 역할을 하고, Chairman $61,566.3 회복 시 반등 확정, $61,410 이탈 시 $61,297로 연장됩니다.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 61297.00,\n      \"turning_zone\": [61200.00, 61310.00],\n      \"likely_wick\": 61250.00,\n      \"rejection_confirm\": 61400.00,\n      \"invalid_overshoot\": 61180.00,\n      \"calibration_reasoning\": \"7일 저점 $61,297은 캔들 engulfing·파생·피보·Wyckoff·ICT가 공통 지목하는 최다 컨플루언스 지지로, 저점 아래 스톱을 노린 스윕이 라운드 $61,250까지 내려가는 약 0.5×ATR 존을 설정했습니다. $61,400 회복 시 방어 확정, $61,180 이탈 시 롱 청산 유동성 $60,800으로 연장됩니다.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 60800.00,\n      \"turning_zone\": [60650.00, 60825.00],\n      \"likely_wick\": 60700.00,\n      \"rejection_confirm\": 61000.00,\n      \"invalid_overshoot\": 60600.00,\n      \"calibration_reasoning\": \"터미널 웨이포인트이자 롱 청산 유동성 하방 스윕이므로 존을 아래로 약 0.75×ATR 넓게 잡았고, Chairman 지지 $60,800 아래 청산 클러스터를 플러시하는 wick를 라운드넘버 $60,700로 편향시켰습니다. 라운드 $61,000 회복 시 반전 확정, 존 하단 $60,600 이탈 시 다음 Chairman 지지 $59,500으로 심화됩니다.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 27.9,
      "chairman": 40.2,
      "operating_path": 266.8,
      "tp_calibrator": 233.8
    },
    "agents": {},
    "total_s": 568.9
  }
}