{
  "symbol": "BTC/USDT",
  "timeframe": "4h",
  "timestamp": "2026-06-28 17:00 KST",
  "last_price": 60192.4,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.45,
      "setup_signals": [
        "현재가 $60,192.40는 7일 레인지 EQ $61,813.60 아래의 할인 구간에 위치",
        "7일 저점 $58,030.00 근처에서 반등 시도 가능성이 남아 있음",
        "최근 doji@299 출현으로 $60,192 부근 단기 매도 압력 둔화/관망 신호",
        "다만 고거래량 패턴이 없어 반전 신뢰도는 제한적"
      ],
      "reasoning": "확정 구조는 약세입니다. 현재가 $60,192.40는 EMA20 $60,532.93 아래에 있고, EMA120 $63,544.78 대비 -5.3%, EMA240 $66,865.14 대비 -10.0% 낮아 중기 하락 구조가 유지되고 있습니다. 최근 패턴은 bearish_engulfing@296, dark_cloud_cover@294가 우세하며 bear_score 1.45가 bull_score 0.75보다 높습니다. 다만 가격이 7일 저점 $58,030.00과 가까운 할인 구간에 있고 doji@299가 발생해, 구조 전환 전 단기 반등 셋업은 일부 존재합니다. 패턴 품질은 최고 0.565로 강한 확정 신호는 아니며, 고거래량 패턴도 없어 신뢰도는 중간 수준입니다.",
      "key_levels": {
        "support": [
          58030.0,
          59289.4,
          60192.4
        ],
        "resistance": [
          60532.93,
          61813.6,
          63544.78,
          65597.2,
          66865.14
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,532.93 상방 4시간봉 종가 회복",
      "risk_scenario": "가격이 EMA20 $60,532.93을 회복하고 7일 레인지 EQ $61,813.60 위에서 안착하면, bearish engulfing과 dark cloud cover의 하락 압력이 무효화되며 $63,544.78 EMA120까지 숏커버링 반등이 나올 수 있습니다. 반대로 $58,030.00 7일 저점이 이탈되면 약세 구조가 강화되고 ATR $903 기준으로 추가 하락 변동성이 확대될 가능성이 큽니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 140,
        "recent_patterns": 4,
        "pattern_list": [
          "bullish_engulfing@295",
          "bearish_engulfing@296",
          "doji@299",
          "dark_cloud_cover@294"
        ],
        "atr_value": 903.0,
        "vol_avg_20": 34304.04,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.565,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "dark_cloud_cover",
            "signal": "bearish",
            "pattern_quality": 0.557,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.475,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.565,
        "bull_score": 0.75,
        "bear_score": 1.45
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.45,\n  \"setup_signals\": [\n    \"현재가 $60,192.40는 7일 레인지 EQ $61,813.60 아래의 할인 구간에 위치\",\n    \"7일 저점 $58,030.00 근처에서 반등 시도 가능성이 남아 있음\",\n    \"최근 doji@299 출현으로 $60,192 부근 단기 매도 압력 둔화/관망 신호\",\n    \"다만 고거래량 패턴이 없어 반전 신뢰도는 제한적\"\n  ],\n  \"reasoning\": \"확정 구조는 약세입니다. 현재가 $60,192.40는 EMA20 $60,532.93 아래에 있고, EMA120 $63,544.78 대비 -5.3%, EMA240 $66,865.14 대비 -10.0% 낮아 중기 하락 구조가 유지되고 있습니다. 최근 패턴은 bearish_engulfing@296, dark_cloud_cover@294가 우세하며 bear_score 1.45가 bull_score 0.75보다 높습니다. 다만 가격이 7일 저점 $58,030.00과 가까운 할인 구간에 있고 doji@299가 발생해, 구조 전환 전 단기 반등 셋업은 일부 존재합니다. 패턴 품질은 최고 0.565로 강한 확정 신호는 아니며, 고거래량 패턴도 없어 신뢰도는 중간 수준입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      58030.0,\n      59289.4,\n      60192.4\n    ],\n    \"resistance\": [\n      60532.93,\n      61813.6,\n      63544.78,\n      65597.2,\n      66865.14\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,532.93 상방 4시간봉 종가 회복\",\n  \"risk_scenario\": \"가격이 EMA20 $60,532.93을 회복하고 7일 레인지 EQ $61,813.60 위에서 안착하면, bearish engulfing과 dark cloud cover의 하락 압력이 무효화되며 $63,544.78 EMA120까지 숏커버링 반등이 나올 수 있습니다. 반대로 $58,030.00 7일 저점이 이탈되면 약세 구조가 강화되고 ATR $903 기준으로 추가 하락 변동성이 확대될 가능성이 큽니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bullish",
      "confidence": 0.67,
      "structure_bias": "bullish",
      "setup_bias": "neutral",
      "setup_score": 0.46,
      "setup_signals": [
        "현재가 $60,192.40는 메인 레인지 저점 $59,080와 고점 $64,250 사이에 있으며, EQ 약 $61,665 아래의 할인 구간에 위치",
        "Spring 저점 $58,288 이후 SOS 후보 고점 $60,924.70까지 반등했으나, 현재가는 아직 SOS 레벨을 명확히 재수복하지 못함",
        "LPS 또는 BU가 아직 검출되지 않아 Phase D 진행은 확인되었지만 후속 수요 테스트는 미완성",
        "EMA20 $60,532.93 아래에 있어 단기적으로는 $60,925 재수복 전까지 즉시 상승 추세 확정은 부족"
      ],
      "reasoning": "지표상 regime은 ACC이며 regime_state는 confirmed_acc, acc_score 85.7 및 regime_fitness 0.857로 4시간봉 누적 구조가 우세하다. 핵심 앵커는 SC $59,080, AR $64,250이며 이후 ST $63,650, Spring $58,288, SOS $60,924.70 순서로 Phase D까지 진행된 것으로 해석된다. 다만 현재가 $60,192.40는 SOS $60,924.70 아래이고 레인지 EQ 약 $61,665도 회복하지 못해, 구조적 편향은 bullish지만 즉시 경로는 LPS성 재테스트 또는 $59,080~$58,288 수요 확인이 먼저 나올 수 있다. $60,925 회복 및 유지가 단기 강세 재개 조건이며, $58,288 하향 이탈 및 수용은 Spring 실패로 누적 구조 해석을 훼손한다.",
      "key_levels": {
        "support": [
          59080.0,
          58288.0,
          58030.0
        ],
        "resistance": [
          60924.7,
          61665.0,
          64250.0
        ]
      },
      "time_horizon": "중기: 4시간봉 기준 수일~1-2주",
      "invalidation_level": "$58,288 하향 이탈 및 4시간봉 종가 기준 수용",
      "risk_scenario": "$60,924.70 SOS 레벨을 회복하지 못하고 $59,080 아래로 밀리면 Phase D 강세 해석은 약화되며, $58,288 Spring 저점 재이탈 시 Spring 실패와 레인지 하단 이탈 리스크가 커진다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 85.7,
        "dis_score": 77.5,
        "regime": "ACC",
        "regime_state": "confirmed_acc",
        "structure_bias": "bullish",
        "phase_context": "confirmed_acc / accumulation / Phase D",
        "phases_detected": [
          "SC",
          "AR",
          "ST",
          "Spring",
          "SOS"
        ],
        "last_phase": "SOS",
        "phase_candidates": [
          {
            "label": "SC",
            "side": "low",
            "idx": 164,
            "price": 59080.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 177,
            "price": 64250.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 218,
            "price": 63650.0,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 286,
            "price": 58288.0,
            "color": "#f9844a"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 295,
            "price": 60924.7,
            "color": "#06d6a0"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "4h_cycle_1",
            "sequence": 1,
            "timeframe": "4h",
            "regime": "accumulation",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 164,
            "end_idx": 295,
            "phase_count": 5,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 164,
                "price": 59080.0,
                "color": "#ffd166",
                "dt": "2026-06-06 01:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 177,
                "price": 64250.0,
                "color": "#06d6a0",
                "dt": "2026-06-08 05:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 218,
                "price": 63650.0,
                "color": "#118ab2",
                "dt": "2026-06-15 01:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 286,
                "price": 58288.0,
                "color": "#f9844a",
                "dt": "2026-06-26 09:00:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 295,
                "price": 60924.7,
                "color": "#06d6a0",
                "dt": "2026-06-27 21:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "4h_cycle_1",
        "primary_structure_id": "4h_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.8565635451505017,
        "current_event": "SOS",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 59080.0,
        "main_range_high": 64250.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.67,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.46,\n  \"setup_signals\": [\n    \"현재가 $60,192.40는 메인 레인지 저점 $59,080와 고점 $64,250 사이에 있으며, EQ 약 $61,665 아래의 할인 구간에 위치\",\n    \"Spring 저점 $58,288 이후 SOS 후보 고점 $60,924.70까지 반등했으나, 현재가는 아직 SOS 레벨을 명확히 재수복하지 못함\",\n    \"LPS 또는 BU가 아직 검출되지 않아 Phase D 진행은 확인되었지만 후속 수요 테스트는 미완성\",\n    \"EMA20 $60,532.93 아래에 있어 단기적으로는 $60,925 재수복 전까지 즉시 상승 추세 확정은 부족\"\n  ],\n  \"reasoning\": \"지표상 regime은 ACC이며 regime_state는 confirmed_acc, acc_score 85.7 및 regime_fitness 0.857로 4시간봉 누적 구조가 우세하다. 핵심 앵커는 SC $59,080, AR $64,250이며 이후 ST $63,650, Spring $58,288, SOS $60,924.70 순서로 Phase D까지 진행된 것으로 해석된다. 다만 현재가 $60,192.40는 SOS $60,924.70 아래이고 레인지 EQ 약 $61,665도 회복하지 못해, 구조적 편향은 bullish지만 즉시 경로는 LPS성 재테스트 또는 $59,080~$58,288 수요 확인이 먼저 나올 수 있다. $60,925 회복 및 유지가 단기 강세 재개 조건이며, $58,288 하향 이탈 및 수용은 Spring 실패로 누적 구조 해석을 훼손한다.\",\n  \"key_levels\": {\n    \"support\": [\n      59080.0,\n      58288.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60924.7,\n      61665.0,\n      64250.0\n    ]\n  },\n  \"time_horizon\": \"중기: 4시간봉 기준 수일~1-2주\",\n  \"invalidation_level\": \"$58,288 하향 이탈 및 4시간봉 종가 기준 수용\",\n  \"risk_scenario\": \"$60,924.70 SOS 레벨을 회복하지 못하고 $59,080 아래로 밀리면 Phase D 강세 해석은 약화되며, $58,288 Spring 저점 재이탈 시 Spring 실패와 레인지 하단 이탈 리스크가 커진다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.55,
      "setup_signals": [
        "현재가 $60,192.40는 스윙 EQ인 ret_0.5 $60,619.80 아래에 있어 할인 구간에 위치",
        "ret_0.382 $60,008.61을 0.31% 거리에서 테스트 중이며 단기 지지 반응 가능성 존재",
        "fib_reaction_state가 testing이고 reaction_probability가 0.65로 단기 반등 셋업은 유효",
        "주요 미체결 하방 유동성/저점 구간은 7일 저점 및 ext_1.0 중첩 구간인 $58,030.00"
      ],
      "reasoning": "확인된 구조는 $63,210 고점에서 $58,030 저점으로 이어진 하락 스윙이므로 structure_bias는 bearish이다. 현재가 $60,192.40는 ret_0.382 $60,008.61 바로 위에 있어 단기 지지 테스트 중이지만, EMA20 $60,532.93 및 EQ ret_0.5 $60,619.80 아래에 있어 구조적 회복은 아직 확인되지 않았다. 0.618 골든비율 $61,230.99는 이번 하락 스윙의 핵심 되돌림 저항이며, 이 구간을 회복하지 못하면 반등은 매도 재개 구간으로 해석될 가능성이 높다. 다만 가격이 할인 구간에 있고 ret_0.382 부근에서 반응 확률 0.65가 제시되어 setup_bias는 단기적으로 bullish로 분리 평가한다.",
      "key_levels": {
        "support": [
          60008.61,
          59252.39,
          58030.0,
          56621.15,
          54829.01
        ],
        "resistance": [
          60619.8,
          61230.99,
          62101.17,
          63210.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,230.99 4시간봉 종가 상향 안착",
      "risk_scenario": "반대 시나리오로 $60,008.61 ret_0.382 지지가 유지되고 $60,619.80 EQ를 회복하면 단기 숏 커버링이 발생할 수 있으며, 이후 $61,230.99 골든비율까지 반등 폭이 확대될 수 있다. 반대로 $60,008.61을 이탈하면 $59,252.39 ret_0.236, 이후 confluence zone인 $58,030.00 재테스트 가능성이 커진다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "High→Low: $63,210 → $58,030",
        "direction": "down",
        "nearest_fib": "ret_0.382",
        "nearest_fib_price": 60008.61,
        "nearest_fib_distance": 0.31,
        "golden_ratio_level": 61230.99,
        "fib_ret_382": 60008.61,
        "fib_ret_618": 61230.99,
        "confluence_zones": [
          {
            "price": 58030.0,
            "count": 2,
            "levels": [
              "ext_1.0",
              "ext_1.0"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          60008.6072,
          59252.3856,
          58030.0
        ],
        "resistance_levels": [
          60619.8,
          61230.9928,
          62101.1656
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 59252.39,
            "distance_pct": 1.56,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 60008.61,
            "distance_pct": 0.31,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.5",
            "price": 60619.8,
            "distance_pct": 0.71,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 61230.99,
            "distance_pct": 1.73,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 62101.17,
            "distance_pct": 3.17,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 58030.0,
            "distance_pct": 3.59,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.272",
            "price": 56621.15,
            "distance_pct": 5.93,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.414",
            "price": 55885.65,
            "distance_pct": 7.15,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.618",
            "price": 54829.01,
            "distance_pct": 8.91,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 52850.4,
            "distance_pct": 12.2,
            "is_support": true,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.55,\n  \"setup_signals\": [\n    \"현재가 $60,192.40는 스윙 EQ인 ret_0.5 $60,619.80 아래에 있어 할인 구간에 위치\",\n    \"ret_0.382 $60,008.61을 0.31% 거리에서 테스트 중이며 단기 지지 반응 가능성 존재\",\n    \"fib_reaction_state가 testing이고 reaction_probability가 0.65로 단기 반등 셋업은 유효\",\n    \"주요 미체결 하방 유동성/저점 구간은 7일 저점 및 ext_1.0 중첩 구간인 $58,030.00\"\n  ],\n  \"reasoning\": \"확인된 구조는 $63,210 고점에서 $58,030 저점으로 이어진 하락 스윙이므로 structure_bias는 bearish이다. 현재가 $60,192.40는 ret_0.382 $60,008.61 바로 위에 있어 단기 지지 테스트 중이지만, EMA20 $60,532.93 및 EQ ret_0.5 $60,619.80 아래에 있어 구조적 회복은 아직 확인되지 않았다. 0.618 골든비율 $61,230.99는 이번 하락 스윙의 핵심 되돌림 저항이며, 이 구간을 회복하지 못하면 반등은 매도 재개 구간으로 해석될 가능성이 높다. 다만 가격이 할인 구간에 있고 ret_0.382 부근에서 반응 확률 0.65가 제시되어 setup_bias는 단기적으로 bullish로 분리 평가한다.\",\n  \"key_levels\": {\n    \"support\": [\n      60008.61,\n      59252.39,\n      58030.0,\n      56621.15,\n      54829.01\n    ],\n    \"resistance\": [\n      60619.8,\n      61230.99,\n      62101.17,\n      63210.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,230.99 4시간봉 종가 상향 안착\",\n  \"risk_scenario\": \"반대 시나리오로 $60,008.61 ret_0.382 지지가 유지되고 $60,619.80 EQ를 회복하면 단기 숏 커버링이 발생할 수 있으며, 이후 $61,230.99 골든비율까지 반등 폭이 확대될 수 있다. 반대로 $60,008.61을 이탈하면 $59,252.39 ret_0.236, 이후 confluence zone인 $58,030.00 재테스트 가능성이 커진다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.86,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.92,
      "setup_signals": [
        "현재가 $60,192.40가 EQ $61,813.60 아래의 discount 영역에 있으나, 최근 구조가 $62,232.10 하방 BOS로 확정되어 반등 매수보다 약세 지속 리스크가 우세",
        "EMA20 $60,532.93 아래에서 거래 중이며, EMA120 $63,544.78 및 EMA240 $66,865.14보다 크게 낮아 중기 기관 흐름이 하방 정렬",
        "전일 고가 $60,924.70를 돌파하지 못했고, 전일 저가 $59,530.70 위에서만 머물러 있어 아직 명확한 매수 측 유동성 회수나 강한 반전 확인이 없음",
        "최근 확인된 구조 이벤트가 CHoCH bearish $78,713.80 이후 BOS bearish $76,014.20, $74,203.60, $72,436.00, 그리고 최근 $62,232.10 하방 BOS로 이어짐",
        "활성 bullish OB와 미충족 bullish FVG가 없으며, 현재 가격 아래에서 기관 매수 방어 구간이 명확히 확인되지 않음"
      ],
      "reasoning": "확정 구조는 bearish로 판단한다. CHoCH bearish가 $78,713.80에서 발생한 뒤 $76,014.20, $74,203.60, $72,436.00, 그리고 최근 $62,232.10 하방 BOS가 이어져 시장 구조는 명확히 하락 추세다. 현재가 $60,192.40는 EQ $61,813.60 아래 discount 구간에 있어 신규 숏의 가격 효율은 다소 낮지만, EMA20 $60,532.93조차 회복하지 못하고 있어 단기 반등도 약하다. 활성 bullish OB, unfilled FVG, 최근 liquidity sweep이 모두 부재하므로 즉각적인 강세 반전 근거는 부족하며, 하방으로는 7일 저점이자 range low인 $58,030.00 유동성 재공격 가능성이 높다.",
      "key_levels": {
        "support": [
          59530.7,
          58030.0
        ],
        "resistance": [
          60532.93,
          60924.7,
          61813.6,
          62232.1,
          65597.2,
          76234.7,
          78077.1
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$62,232.10",
      "risk_scenario": "만약 가격이 $62,232.10 하방 BOS 레벨을 회복하고 그 위에서 4시간봉 기준 수용된다면, 현재 bearish continuation 시나리오는 약화된다. 이 경우 EQ $61,813.60 회복 이후 $63,544.78 EMA120, 더 크게는 range high $65,597.20까지 숏 커버링 반등이 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 2,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 2,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 76234.7,
          "top": 78077.1,
          "quality": "candidate",
          "score": 0.56
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 57,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "CHoCH_bearish",
            "level": 78713.8
          },
          {
            "type": "BOS_bearish",
            "level": 76014.2
          },
          {
            "type": "BOS_bearish",
            "level": 74203.6
          },
          {
            "type": "BOS_bearish",
            "level": 72436.0
          },
          {
            "type": "BOS_bullish",
            "level": 64250.0
          },
          {
            "type": "BOS_bearish",
            "level": 62232.1
          }
        ],
        "bos_sequence": [
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 1,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "BSL",
            "level": 78128.55
          }
        ],
        "current_zone": "discount",
        "eq_level": 61813.6,
        "range_high": 65597.2,
        "range_low": 58030.0,
        "bull_score": 3.0,
        "bear_score": 12.7,
        "setup_bias": "bearish",
        "setup_score": 0.92,
        "setup_signals": [
          "bearish CHoCH below $78,713.80",
          "bearish BOS below $76,014.20",
          "bearish BOS below $74,203.60",
          "bearish BOS below $72,436.00",
          "bearish BOS below $62,232.10"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 30.2,
        "deepest_retracement_pct": 49.1,
        "previous_day_high": 60924.7,
        "previous_day_low": 59530.7,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.86,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.92,\n  \"setup_signals\": [\n    \"현재가 $60,192.40가 EQ $61,813.60 아래의 discount 영역에 있으나, 최근 구조가 $62,232.10 하방 BOS로 확정되어 반등 매수보다 약세 지속 리스크가 우세\",\n    \"EMA20 $60,532.93 아래에서 거래 중이며, EMA120 $63,544.78 및 EMA240 $66,865.14보다 크게 낮아 중기 기관 흐름이 하방 정렬\",\n    \"전일 고가 $60,924.70를 돌파하지 못했고, 전일 저가 $59,530.70 위에서만 머물러 있어 아직 명확한 매수 측 유동성 회수나 강한 반전 확인이 없음\",\n    \"최근 확인된 구조 이벤트가 CHoCH bearish $78,713.80 이후 BOS bearish $76,014.20, $74,203.60, $72,436.00, 그리고 최근 $62,232.10 하방 BOS로 이어짐\",\n    \"활성 bullish OB와 미충족 bullish FVG가 없으며, 현재 가격 아래에서 기관 매수 방어 구간이 명확히 확인되지 않음\"\n  ],\n  \"reasoning\": \"확정 구조는 bearish로 판단한다. CHoCH bearish가 $78,713.80에서 발생한 뒤 $76,014.20, $74,203.60, $72,436.00, 그리고 최근 $62,232.10 하방 BOS가 이어져 시장 구조는 명확히 하락 추세다. 현재가 $60,192.40는 EQ $61,813.60 아래 discount 구간에 있어 신규 숏의 가격 효율은 다소 낮지만, EMA20 $60,532.93조차 회복하지 못하고 있어 단기 반등도 약하다. 활성 bullish OB, unfilled FVG, 최근 liquidity sweep이 모두 부재하므로 즉각적인 강세 반전 근거는 부족하며, 하방으로는 7일 저점이자 range low인 $58,030.00 유동성 재공격 가능성이 높다.\",\n  \"key_levels\": {\n    \"support\": [\n      59530.7,\n      58030.0\n    ],\n    \"resistance\": [\n      60532.93,\n      60924.7,\n      61813.6,\n      62232.1,\n      65597.2,\n      76234.7,\n      78077.1\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$62,232.10\",\n  \"risk_scenario\": \"만약 가격이 $62,232.10 하방 BOS 레벨을 회복하고 그 위에서 4시간봉 기준 수용된다면, 현재 bearish continuation 시나리오는 약화된다. 이 경우 EQ $61,813.60 회복 이후 $63,544.78 EMA120, 더 크게는 range high $65,597.20까지 숏 커버링 반등이 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.66,
      "setup_signals": [
        "가격 $60,192.40이 EMA20 $60,532.93 아래에서 수용되고 있으며, EMA120 $63,544.78 대비 -5.3%, EMA240 $66,865.14 대비 -10.0%로 중기 구조가 하방 우위",
        "롱 계정 비율 0.671, account_long_crowding 1.000으로 롱 포지셔닝이 과밀하며 반대매매 관점에서 하방 리스크",
        "24시간 OI -1.5790% 감소로 신규 추세 추종 숏보다는 포지션 언와인딩 국면, 하락 지속성은 약하지만 구조 회복 신호는 아직 부재",
        "CVD divergence 0.850 및 CVD change +$2,262.73로 매수 흡수는 보이나 가격이 EMA20 $60,532.93을 회복하지 못해 아직 bullish CHoCH 전 단계",
        "상단 청산 밀집 $60,900 / $61,500 / $61,900이 단기 자석이지만, 해당 구간에서 거부되면 롱 과밀 해소성 하락 재개 가능"
      ],
      "reasoning": "현재 BTC는 $60,192.40으로 EMA20 $60,532.93 아래에 있으며, EMA120 $63,544.78 및 EMA240 $66,865.14를 크게 하회해 확인된 구조는 bearish입니다. 파생 포지셔닝에서는 롱 계정 비율이 0.671이고 account_long_crowding이 1.000으로 과밀 롱이 뚜렷해, 반등 시 $60,900~$61,900 청산 구간에서 매도 압력이 재출현할 가능성이 큽니다. 다만 CVD divergence 0.850과 CVD change +$2,262.73은 하락 중 매수 흡수 가능성을 보여주며, OI가 24시간 -1.5790% 감소해 공격적 신규 숏 증가보다는 언와인딩 성격이 강합니다. 따라서 구조는 하방이지만, $60,900 / $61,500 / $61,900 위로 강하게 수용되기 전까지는 반등 매도 우위의 setup으로 판단합니다.",
      "key_levels": {
        "support": [
          58300,
          57200,
          54200
        ],
        "resistance": [
          60532.93,
          60900,
          61500,
          61900,
          63544.78,
          66300
        ]
      },
      "time_horizon": "short term, 4-8시간",
      "invalidation_level": "61900",
      "risk_scenario": "$61,900 상단 청산 클러스터를 강하게 돌파하고 수용하면, 롱 과밀에도 불구하고 숏 커버링이 발생해 EMA120 $63,544.78까지 되돌림이 확장될 수 있습니다. 특히 OI가 재증가하면서 가격이 $61,900 위에 머물면 bearish setup은 무효화되고 $65,597.20 주간 고점 방향의 회복 시나리오를 고려해야 합니다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.85,
        "cvd_change": 2262.729,
        "oi_trend": 0.342,
        "oi_change_pct_24h": -1.579,
        "oi_latest": 102980.786,
        "funding_pressure": 0.459,
        "funding_avg": 4.095e-05,
        "funding_change_24h": -2.6e-07,
        "long_account_ratio": 0.669,
        "short_account_ratio": 0.331,
        "long_account_latest": 0.671,
        "short_account_latest": 0.329,
        "long_account_change_24h": -0.0054,
        "short_account_change_24h": 0.0054,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.489,
        "spot_futures_basis_pct": -0.0458,
        "basis_change_lookback": 0.0074,
        "aggregate_score": 0.428,
        "bull_signals": 1,
        "bear_signals": 2,
        "liq_below": [
          [
            58300,
            25349.2165765
          ],
          [
            57200,
            25402.654352
          ],
          [
            54200,
            23206.44493
          ]
        ],
        "liq_above": [
          [
            60900,
            24512.611215
          ],
          [
            61500,
            29134.1409159
          ],
          [
            61900,
            33165.060774800004
          ]
        ],
        "strongest_liq_level": 66300,
        "fragility_score": 0.82,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.66,\n  \"setup_signals\": [\n    \"가격 $60,192.40이 EMA20 $60,532.93 아래에서 수용되고 있으며, EMA120 $63,544.78 대비 -5.3%, EMA240 $66,865.14 대비 -10.0%로 중기 구조가 하방 우위\",\n    \"롱 계정 비율 0.671, account_long_crowding 1.000으로 롱 포지셔닝이 과밀하며 반대매매 관점에서 하방 리스크\",\n    \"24시간 OI -1.5790% 감소로 신규 추세 추종 숏보다는 포지션 언와인딩 국면, 하락 지속성은 약하지만 구조 회복 신호는 아직 부재\",\n    \"CVD divergence 0.850 및 CVD change +$2,262.73로 매수 흡수는 보이나 가격이 EMA20 $60,532.93을 회복하지 못해 아직 bullish CHoCH 전 단계\",\n    \"상단 청산 밀집 $60,900 / $61,500 / $61,900이 단기 자석이지만, 해당 구간에서 거부되면 롱 과밀 해소성 하락 재개 가능\"\n  ],\n  \"reasoning\": \"현재 BTC는 $60,192.40으로 EMA20 $60,532.93 아래에 있으며, EMA120 $63,544.78 및 EMA240 $66,865.14를 크게 하회해 확인된 구조는 bearish입니다. 파생 포지셔닝에서는 롱 계정 비율이 0.671이고 account_long_crowding이 1.000으로 과밀 롱이 뚜렷해, 반등 시 $60,900~$61,900 청산 구간에서 매도 압력이 재출현할 가능성이 큽니다. 다만 CVD divergence 0.850과 CVD change +$2,262.73은 하락 중 매수 흡수 가능성을 보여주며, OI가 24시간 -1.5790% 감소해 공격적 신규 숏 증가보다는 언와인딩 성격이 강합니다. 따라서 구조는 하방이지만, $60,900 / $61,500 / $61,900 위로 강하게 수용되기 전까지는 반등 매도 우위의 setup으로 판단합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      58300,\n      57200,\n      54200\n    ],\n    \"resistance\": [\n      60532.93,\n      60900,\n      61500,\n      61900,\n      63544.78,\n      66300\n    ]\n  },\n  \"time_horizon\": \"short term, 4-8시간\",\n  \"invalidation_level\": \"61900\",\n  \"risk_scenario\": \"$61,900 상단 청산 클러스터를 강하게 돌파하고 수용하면, 롱 과밀에도 불구하고 숏 커버링이 발생해 EMA120 $63,544.78까지 되돌림이 확장될 수 있습니다. 특히 OI가 재증가하면서 가격이 $61,900 위에 머물면 bearish setup은 무효화되고 $65,597.20 주간 고점 방향의 회복 시나리오를 고려해야 합니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.42,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.46,
      "setup_signals": [
        "현재가 $60,192.40은 최근 4h EMA20 $60,532.93 아래(-0.6%)이고 EMA120 $63,544.78 및 EMA240 $66,865.14 아래에 있어 확인된 추세 구조는 아직 약세 우위",
        "가장 가까운 PRZ 중심은 $60,121.46이며 현재가와의 괴리는 -0.12%로 사실상 PRZ 내부/접근 상태",
        "활성 bullish Bat 형성 PRZ: $60,602.82-$61,675.69, D=$61,139.25, XAB=0.5222, ABC=0.5807, AB=CD/BC_EXT/XAD 3중 수렴이나 아직 반응 확인 없음",
        "bullish Butterfly/공통 PRZ 클러스터: $59,214.94-$61,027.99 및 근접 PRZ $60,767.09-$61,843.92, $61,013.80-$61,908.44가 겹쳐 단기 반등 후보 구간 형성",
        "완료된 bullish Butterfly 일부는 D=$59,060.00 부근에서 PRZ 방어 및 AD 0.236 반응 도달이 기록되었으나, actionable_patterns_list=0 및 council_relevant_prz_count=0으로 방향성 투표에는 제한적"
      ],
      "reasoning": "하모닉 관점에서는 126개 패턴 중 49개 완료, 77개 형성-D PRZ가 감지되었고, 현재가 $60,192.40은 nearest PRZ $60,121.46에 매우 근접해 있어 반응 후보 구간에 있습니다. 다만 council_relevant_prz_count=0, directional_influence_prz_count=0, confirmed_reaction_prz_count=0, actionable_patterns_list=[]이므로 하모닉만으로 메인 경로를 bullish로 뒤집을 수 없습니다. 구조적으로는 가격이 EMA20 $60,532.93, EMA120 $63,544.78, EMA240 $66,865.14 아래에 있어 4h 확인 구조는 약세 쪽으로 기울어져 있습니다. 반면 셋업은 $58,406.59-$61,027.99 및 $60,602.82-$61,675.69에 bullish PRZ 클러스터가 있어 단기 반등 후보이나, 15m/1h MSS·CHoCH, sweep→reclaim, CVD/OI 확인 전까지는 중립 신호로 유지합니다.",
      "key_levels": {
        "support": [
          60121.46,
          59214.94,
          59060.0,
          58406.59,
          58030.0
        ],
        "resistance": [
          60532.93,
          61027.99,
          61675.69,
          62152.73,
          62302.44,
          63544.78
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$58,030.00",
      "risk_scenario": "$60,121-$61,027 PRZ 재진입 후 $60,532.93 EMA20 및 $61,027.99 상단을 회복하면 bullish Bat/Butterfly PRZ 반응이 활성화되며 $62,199-$62,302, 이후 $62,854-$63,573까지 TP 래더가 열릴 수 있습니다. 반대로 $59,214.94 하단과 $58,406.59 completed Butterfly PRZ 하단을 이탈하면 D/X 방어 실패로 해석되어 7일 저점 $58,030.00 재시험 및 추가 하락 확률이 커집니다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 126,
        "completed_patterns_found": 49,
        "forming_d_prz_found": 77,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 58,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 29,
        "timeframe": "4h",
        "prz_active_threshold_pct": 0.75,
        "prz_nearby_threshold_pct": 1.5,
        "prz_watch_threshold_pct": 3.0,
        "prz_max_width_pct": 1.3,
        "quality_counts": {
          "high": 3,
          "medium": 32,
          "low": 91
        },
        "prz_status_counts": {
          "active": 21,
          "nearby": 19,
          "watch": 22,
          "far": 64,
          "forming": 42
        },
        "high_confluence_prz_count": 17,
        "strict_patterns_found": 46,
        "candidate_patterns_found": 80,
        "active_patterns_at_prz": 21,
        "nearby_patterns": 19,
        "all_patterns": [
          "shark",
          "bat",
          "gartley",
          "butterfly",
          "crab",
          "bat",
          "shark",
          "butterfly",
          "butterfly",
          "gartley",
          "shark",
          "bat",
          "butterfly",
          "butterfly",
          "crab",
          "butterfly",
          "butterfly",
          "gartley",
          "bat",
          "crab",
          "shark",
          "shark",
          "crab",
          "bat",
          "crab",
          "shark",
          "shark",
          "crab",
          "bat",
          "bat",
          "crab",
          "bat",
          "gartley",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "shark",
          "gartley",
          "crab",
          "butterfly",
          "butterfly",
          "gartley",
          "shark",
          "butterfly",
          "crab",
          "gartley",
          "bat",
          "crab",
          "crab",
          "gartley",
          "butterfly",
          "butterfly",
          "crab",
          "shark",
          "crab",
          "shark",
          "gartley",
          "gartley",
          "bat",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "shark",
          "shark",
          "gartley",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "gartley",
          "shark",
          "shark",
          "crab",
          "bat",
          "shark",
          "shark",
          "shark",
          "crab",
          "crab",
          "bat",
          "crab",
          "shark",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "butterfly",
          "bat",
          "crab",
          "crab",
          "gartley",
          "shark",
          "bat",
          "crab",
          "bat",
          "gartley",
          "butterfly",
          "bat",
          "bat",
          "crab",
          "bat",
          "bat",
          "crab",
          "gartley",
          "shark",
          "shark",
          "crab",
          "bat",
          "butterfly",
          "shark",
          "gartley",
          "bat"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish"
        ],
        "best_pattern": "shark",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.917,
        "best_completion_status": "forming",
        "nearest_pattern": "butterfly",
        "nearest_prz": 60121.46,
        "price_to_prz": -0.12,
        "prz_range": [
          59214.94,
          61027.99
        ],
        "council_relevant_prz_count": 0,
        "directional_influence_prz_count": 0,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.903,
            "ratio_score": 0.945,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61815.71,
            "prz_range": [
              61478.18,
              62153.24
            ],
            "prz_width_pct": 1.092,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.7,
            "price_to_prz_pct_raw": 2.6969,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 61815.71,
              "a_price": 63915.3,
              "tp1_ad_382": 62617.75,
              "tp2_ad_618": 63113.26,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6087,
              "ABC": 0.5807
            },
            "x_price": 61150.2,
            "x_idx": 176,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 200,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 241,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 276,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.847,
            "ratio_score": 0.826,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              60933.28,
              61663.11
            ],
            "prz_width_pct": 1.191,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.84,
            "price_to_prz_pct_raw": 1.8371,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61298.2,
              "a_price": 67255.4,
              "tp1_ad_382": 63573.85,
              "tp2_ad_618": 64979.75,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8338,
              "ABC": 0.5974,
              "BCD": 2.6563,
              "XAD": 1.6589
            },
            "x_price": 62315.0,
            "x_idx": 200,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 223,
            "a_order": 8,
            "b_price": 63136.2,
            "b_idx": 253,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 265,
            "c_order": 8,
            "d_idx": 278
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.917,
            "ratio_score": 1.0,
            "prz_score": 0.918,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61305.5,
            "prz_range": [
              60767.09,
              61843.92
            ],
            "prz_width_pct": 1.757,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.85,
            "price_to_prz_pct_raw": 1.8492,
            "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": 61305.5,
              "a_price": 63915.3,
              "tp1_ad_382": 62302.44,
              "tp2_ad_618": 62918.36,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5499,
              "ABC": 1.4993
            },
            "x_price": 61344.8,
            "x_idx": 154,
            "x_order": 5,
            "a_price": 63915.3,
            "a_idx": 200,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 229,
            "b_order": 3,
            "c_price": 63209.6,
            "c_idx": 276,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.886,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.11,
            "price_to_prz_pct_raw": 2.1078,
            "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": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 200,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 228,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 265,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.87,
            "ratio_score": 0.959,
            "prz_score": 0.873,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.98,
            "price_to_prz_pct_raw": -1.9832,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465,
              "BCD": 2.358,
              "XAD": 1.2608
            },
            "x_price": 60755.0,
            "x_idx": 188,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 223,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 241,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 257,
            "c_order": 3,
            "d_idx": 278
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.855,
            "ratio_score": 0.837,
            "prz_score": 0.918,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61139.25,
            "prz_range": [
              60602.82,
              61675.69
            ],
            "prz_width_pct": 1.755,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.57,
            "price_to_prz_pct_raw": 1.573,
            "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": 61139.25,
              "a_price": 63915.3,
              "tp1_ad_382": 62199.7,
              "tp2_ad_618": 62854.85,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5222,
              "ABC": 0.5807
            },
            "x_price": 60691.9,
            "x_idx": 192,
            "x_order": 8,
            "a_price": 63915.3,
            "a_idx": 200,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 241,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 276,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.851,
            "ratio_score": 0.935,
            "prz_score": 0.884,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61760.53,
            "prz_range": [
              61158.69,
              62362.37
            ],
            "prz_width_pct": 1.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.61,
            "price_to_prz_pct_raw": 2.6052,
            "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": "butterfly",
              "d_price": 61760.53,
              "a_price": 66419.2,
              "tp1_ad_382": 63540.14,
              "tp2_ad_618": 64639.59,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7999,
              "ABC": 0.7496
            },
            "x_price": 62315.0,
            "x_idx": 200,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 236,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 253,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 265,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.746,
            "ratio_score": 0.731,
            "prz_score": 0.884,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              61158.69,
              62362.37
            ],
            "prz_width_pct": 1.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.61,
            "price_to_prz_pct_raw": 2.6052,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.39,
                "adverse_move_ratio_ad": 0.14,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61760.53,
              "a_price": 66419.2,
              "tp1_ad_382": 63540.14,
              "tp2_ad_618": 64639.59,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7999,
              "ABC": 0.7496,
              "BCD": 2.6563,
              "XAD": 1.7931
            },
            "x_price": 62315.0,
            "x_idx": 200,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 236,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 253,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 265,
            "c_order": 8,
            "d_idx": 278
          }
        ],
        "council_relevant_prz": [],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.903,
            "ratio_score": 0.945,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61815.71,
            "prz_range": [
              61478.18,
              62153.24
            ],
            "prz_width_pct": 1.092,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.7,
            "price_to_prz_pct_raw": 2.6969,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 61815.71,
              "a_price": 63915.3,
              "tp1_ad_382": 62617.75,
              "tp2_ad_618": 63113.26,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6087,
              "ABC": 0.5807
            },
            "x_price": 61150.2,
            "x_idx": 176,
            "x_order": 3,
            "a_price": 63915.3,
            "a_idx": 200,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 241,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 276,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.847,
            "ratio_score": 0.826,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              60933.28,
              61663.11
            ],
            "prz_width_pct": 1.191,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.84,
            "price_to_prz_pct_raw": 1.8371,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61298.2,
              "a_price": 67255.4,
              "tp1_ad_382": 63573.85,
              "tp2_ad_618": 64979.75,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8338,
              "ABC": 0.5974,
              "BCD": 2.6563,
              "XAD": 1.6589
            },
            "x_price": 62315.0,
            "x_idx": 200,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 223,
            "a_order": 8,
            "b_price": 63136.2,
            "b_idx": 253,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 265,
            "c_order": 8,
            "d_idx": 278
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.917,
            "ratio_score": 1.0,
            "prz_score": 0.918,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61305.5,
            "prz_range": [
              60767.09,
              61843.92
            ],
            "prz_width_pct": 1.757,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.85,
            "price_to_prz_pct_raw": 1.8492,
            "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": 61305.5,
              "a_price": 63915.3,
              "tp1_ad_382": 62302.44,
              "tp2_ad_618": 62918.36,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5499,
              "ABC": 1.4993
            },
            "x_price": 61344.8,
            "x_idx": 154,
            "x_order": 5,
            "a_price": 63915.3,
            "a_idx": 200,
            "a_order": 3,
            "b_price": 65328.8,
            "b_idx": 229,
            "b_order": 3,
            "c_price": 63209.6,
            "c_idx": 276,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.886,
            "ratio_score": 0.911,
            "prz_score": 0.972,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 61461.12,
            "prz_range": [
              61013.8,
              61908.44
            ],
            "prz_width_pct": 1.456,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.11,
            "price_to_prz_pct_raw": 2.1078,
            "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": 61461.12,
              "a_price": 66956.7,
              "tp1_ad_382": 63560.43,
              "tp2_ad_618": 64857.39,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.805,
              "ABC": 0.6362
            },
            "x_price": 62315.0,
            "x_idx": 200,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 228,
            "a_order": 3,
            "b_price": 63220.0,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 65597.2,
            "c_idx": 265,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.87,
            "ratio_score": 0.959,
            "prz_score": 0.873,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              58406.59,
              59590.72
            ],
            "prz_width_pct": 2.007,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.98,
            "price_to_prz_pct_raw": -1.9832,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.75,
              "reaction_detail": {
                "reaction_score": 0.75,
                "reaction_move_ratio_ad": 0.35,
                "adverse_move_ratio_ad": 0.126,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 58998.66,
              "a_price": 67255.4,
              "tp1_ad_382": 62152.73,
              "tp2_ad_618": 64101.32,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7728,
              "ABC": 0.465,
              "BCD": 2.358,
              "XAD": 1.2608
            },
            "x_price": 60755.0,
            "x_idx": 188,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 223,
            "a_order": 8,
            "b_price": 62232.1,
            "b_idx": 241,
            "b_order": 8,
            "c_price": 64568.0,
            "c_idx": 257,
            "c_order": 3,
            "d_idx": 278
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.855,
            "ratio_score": 0.837,
            "prz_score": 0.918,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 61139.25,
            "prz_range": [
              60602.82,
              61675.69
            ],
            "prz_width_pct": 1.755,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.57,
            "price_to_prz_pct_raw": 1.573,
            "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": 61139.25,
              "a_price": 63915.3,
              "tp1_ad_382": 62199.7,
              "tp2_ad_618": 62854.85,
              "tp3_a_or_structure_liquidity": 63915.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5222,
              "ABC": 0.5807
            },
            "x_price": 60691.9,
            "x_idx": 192,
            "x_order": 8,
            "a_price": 63915.3,
            "a_idx": 200,
            "a_order": 3,
            "b_price": 62232.1,
            "b_idx": 241,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 276,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.851,
            "ratio_score": 0.935,
            "prz_score": 0.884,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61760.53,
            "prz_range": [
              61158.69,
              62362.37
            ],
            "prz_width_pct": 1.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.61,
            "price_to_prz_pct_raw": 2.6052,
            "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": "butterfly",
              "d_price": 61760.53,
              "a_price": 66419.2,
              "tp1_ad_382": 63540.14,
              "tp2_ad_618": 64639.59,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7999,
              "ABC": 0.7496
            },
            "x_price": 62315.0,
            "x_idx": 200,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 236,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 253,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 265,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.746,
            "ratio_score": 0.731,
            "prz_score": 0.884,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59060.0,
            "prz_range": [
              61158.69,
              62362.37
            ],
            "prz_width_pct": 1.949,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.61,
            "price_to_prz_pct_raw": 2.6052,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.39,
                "adverse_move_ratio_ad": 0.14,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 61760.53,
              "a_price": 66419.2,
              "tp1_ad_382": 63540.14,
              "tp2_ad_618": 64639.59,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7999,
              "ABC": 0.7496,
              "BCD": 2.6563,
              "XAD": 1.7931
            },
            "x_price": 62315.0,
            "x_idx": 200,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 236,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 253,
            "b_order": 3,
            "c_price": 65597.2,
            "c_idx": 265,
            "c_order": 8,
            "d_idx": 278
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.915,
            "ratio_score": 1.0,
            "prz_score": 0.858,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 60567.2,
            "prz_range": [
              59934.01,
              61200.4
            ],
            "prz_width_pct": 2.091,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.62,
            "price_to_prz_pct_raw": 0.6227,
            "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": 60567.2,
              "a_price": 64738.0,
              "tp1_ad_382": 62160.45,
              "tp2_ad_618": 63144.76,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3959,
              "ABC": 0.7523
            },
            "x_price": 60691.9,
            "x_idx": 192,
            "x_order": 8,
            "a_price": 64738.0,
            "a_idx": 213,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 253,
            "b_order": 3,
            "c_price": 61931.1,
            "c_idx": 281,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.885,
            "ratio_score": 1.0,
            "prz_score": 0.785,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 59631.12,
            "prz_range": [
              58886.43,
              60375.81
            ],
            "prz_width_pct": 2.498,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.93,
            "price_to_prz_pct_raw": -0.9325,
            "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": 59631.12,
              "a_price": 64738.0,
              "tp1_ad_382": 61581.95,
              "tp2_ad_618": 62787.17,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4465,
              "ABC": 0.7523
            },
            "x_price": 61150.2,
            "x_idx": 176,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 213,
            "a_order": 5,
            "b_price": 63136.2,
            "b_idx": 253,
            "b_order": 3,
            "c_price": 61931.1,
            "c_idx": 281,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.871,
            "ratio_score": 0.97,
            "prz_score": 0.815,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 59201.21,
            "prz_range": [
              58510.58,
              59891.84
            ],
            "prz_width_pct": 2.333,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.65,
            "price_to_prz_pct_raw": -1.6467,
            "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": 59201.21,
              "a_price": 66419.2,
              "tp1_ad_382": 61958.48,
              "tp2_ad_618": 63661.93,
              "tp3_a_or_structure_liquidity": 66419.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7795,
              "ABC": 0.4029
            },
            "x_price": 62315.0,
            "x_idx": 200,
            "x_order": 3,
            "a_price": 66419.2,
            "a_idx": 236,
            "a_order": 5,
            "b_price": 63220.0,
            "b_idx": 261,
            "b_order": 5,
            "c_price": 61931.1,
            "c_idx": 281,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.869,
            "ratio_score": 0.992,
            "prz_score": 0.796,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 61404.36,
            "prz_range": [
              60655.8,
              62152.92
            ],
            "prz_width_pct": 2.438,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.01,
            "price_to_prz_pct_raw": 2.0135,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 61404.36,
              "a_price": 64738.0,
              "tp1_ad_382": 62677.81,
              "tp2_ad_618": 63464.55,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6193,
              "ABC": 0.3901
            },
            "x_price": 60691.9,
            "x_idx": 192,
            "x_order": 8,
            "a_price": 64738.0,
            "a_idx": 213,
            "a_order": 5,
            "b_price": 62232.1,
            "b_idx": 241,
            "b_order": 8,
            "c_price": 63209.6,
            "c_idx": 276,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [],
        "tp_ladder": [],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "early"
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.42,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.46,\n  \"setup_signals\": [\n    \"현재가 $60,192.40은 최근 4h EMA20 $60,532.93 아래(-0.6%)이고 EMA120 $63,544.78 및 EMA240 $66,865.14 아래에 있어 확인된 추세 구조는 아직 약세 우위\",\n    \"가장 가까운 PRZ 중심은 $60,121.46이며 현재가와의 괴리는 -0.12%로 사실상 PRZ 내부/접근 상태\",\n    \"활성 bullish Bat 형성 PRZ: $60,602.82-$61,675.69, D=$61,139.25, XAB=0.5222, ABC=0.5807, AB=CD/BC_EXT/XAD 3중 수렴이나 아직 반응 확인 없음\",\n    \"bullish Butterfly/공통 PRZ 클러스터: $59,214.94-$61,027.99 및 근접 PRZ $60,767.09-$61,843.92, $61,013.80-$61,908.44가 겹쳐 단기 반등 후보 구간 형성\",\n    \"완료된 bullish Butterfly 일부는 D=$59,060.00 부근에서 PRZ 방어 및 AD 0.236 반응 도달이 기록되었으나, actionable_patterns_list=0 및 council_relevant_prz_count=0으로 방향성 투표에는 제한적\"\n  ],\n  \"reasoning\": \"하모닉 관점에서는 126개 패턴 중 49개 완료, 77개 형성-D PRZ가 감지되었고, 현재가 $60,192.40은 nearest PRZ $60,121.46에 매우 근접해 있어 반응 후보 구간에 있습니다. 다만 council_relevant_prz_count=0, directional_influence_prz_count=0, confirmed_reaction_prz_count=0, actionable_patterns_list=[]이므로 하모닉만으로 메인 경로를 bullish로 뒤집을 수 없습니다. 구조적으로는 가격이 EMA20 $60,532.93, EMA120 $63,544.78, EMA240 $66,865.14 아래에 있어 4h 확인 구조는 약세 쪽으로 기울어져 있습니다. 반면 셋업은 $58,406.59-$61,027.99 및 $60,602.82-$61,675.69에 bullish PRZ 클러스터가 있어 단기 반등 후보이나, 15m/1h MSS·CHoCH, sweep→reclaim, CVD/OI 확인 전까지는 중립 신호로 유지합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60121.46,\n      59214.94,\n      59060.0,\n      58406.59,\n      58030.0\n    ],\n    \"resistance\": [\n      60532.93,\n      61027.99,\n      61675.69,\n      62152.73,\n      62302.44,\n      63544.78\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$58,030.00\",\n  \"risk_scenario\": \"$60,121-$61,027 PRZ 재진입 후 $60,532.93 EMA20 및 $61,027.99 상단을 회복하면 bullish Bat/Butterfly PRZ 반응이 활성화되며 $62,199-$62,302, 이후 $62,854-$63,573까지 TP 래더가 열릴 수 있습니다. 반대로 $59,214.94 하단과 $58,406.59 completed Butterfly PRZ 하단을 이탈하면 D/X 방어 실패로 해석되어 7일 저점 $58,030.00 재시험 및 추가 하락 확률이 커집니다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.68,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.64,
      "active_setups": [
        "현재가 $60,192.40가 EMA20 $60,532.93 아래에서 수용 중이며, 단기 구조 회복이 아직 확인되지 않음",
        "ICT 기준 최근 핵심 하방 BOS 레벨 $62,232.10 아래에 머물러 있어 구조적 약세가 유지됨",
        "7일 레인지 EQ $61,813.60 및 Wyckoff 메인 레인지 EQ 약 $61,665 아래의 할인 구간에 있으나, 할인 자체가 반전 확인은 아님",
        "Fib ret_0.382 $60,008.61 및 Harmonic PRZ 중심 $60,121.46 부근에서 단기 반응 후보는 존재",
        "파생 포지셔닝상 롱 계정 비율 0.671, 롱 과밀 신호가 있어 반등 시 $60,900 / $61,500 / $61,900 부근 매도 압력 재출현 위험",
        "Wyckoff Spring 저점 $58,288 및 7일 저점 $58,030은 누적 구조 유지 여부를 판별할 핵심 수요 구간"
      ],
      "setup_vs_structure": "구조와 실행 셋업은 대체로 약세 쪽으로 정렬되어 있으나, 가격이 할인 구간과 Fib/Harmonic 반응 후보 구간에 있어 즉시 추격 매도 효율은 낮다. 즉, 구조는 bearish 우위지만 단기 실행은 $60,000 전후 지지 반응과 $60,900~$62,232 회복 실패 여부를 분리해서 봐야 한다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 4,
      "neutral_count": 1
    },
    "key_levels": {
      "support": [
        60121.46,
        60008.61,
        59530.7,
        59289.4,
        59252.39,
        59080.0,
        58288.0,
        58030.0,
        57200.0,
        56621.15
      ],
      "resistance": [
        60532.93,
        60619.8,
        60900.0,
        60924.7,
        61230.99,
        61500.0,
        61665.0,
        61813.6,
        61900.0,
        62101.17,
        62232.1,
        63544.78,
        64250.0
      ]
    },
    "confluences": [
      "Candlestick, ICT, Derivatives, Harmonic 모두 현재가 $60,192.40가 EMA20 $60,532.93 아래에 있다고 평가하며 단기 구조 회복 미확인을 공통적으로 지적한다.",
      "ICT와 Candlestick은 7일 레인지 EQ $61,813.60 아래의 discount 영역을 동일하게 인식한다.",
      "Wyckoff의 SOS 후보 $60,924.70와 ICT의 전일 고가 $60,924.70가 동일 레벨로 겹치며, 단기 구조 회복 여부의 1차 관문이다.",
      "Derivatives의 상방 청산/저항 $60,900은 Wyckoff·ICT의 $60,924.70과 사실상 같은 저항 클러스터를 형성한다.",
      "Fib ret_0.382 $60,008.61, Harmonic PRZ 중심 $60,121.46, 현재가 $60,192.40가 매우 근접해 있어 $60,000~$60,200 구간은 단기 반응 후보로 중첩된다.",
      "Candlestick 7일 저점 $58,030, Fibonacci 확장/스윙 저점 $58,030, ICT range low $58,030이 일치하여 $58,030은 핵심 구조 지지 및 유동성 레벨이다.",
      "Wyckoff Spring $58,288와 Derivatives 하방 청산 레벨 $58,300이 거의 일치하여 $58,288~$58,300은 Spring 방어 여부를 판별할 중요 수요 구간이다.",
      "Fib golden ratio $61,230.99, Derivatives $61,500, Wyckoff EQ $61,665, Harmonic PRZ 상단 $61,675.69, ICT/Candlestick EQ $61,813.60이 $61,200~$61,800 저항 클러스터를 구성한다."
    ],
    "conflicts": [
      "Wyckoff는 confirmed accumulation 및 Phase D 구조를 근거로 구조적 bullish를 제시하지만, ICT·Fib·Candlestick·Derivatives·Harmonic은 EMA, 하방 BOS, 하락 스윙, 중기 평균선 하회로 구조적 bearish를 제시한다.",
      "Wyckoff의 Spring $58,288 이후 SOS 후보 $60,924.70 해석은 bullish 구조 가능성을 열어두지만, 현재가는 아직 $60,924.70 및 레인지 EQ $61,665를 회복하지 못해 Phase D의 후속 LPS/BU 확인이 미완성이다.",
      "Fib와 Harmonic은 $60,000~$60,200 부근에서 반등 셋업 가능성을 제시하지만, ICT는 활성 bullish OB, 미충족 bullish FVG, 최근 liquidity sweep이 없다는 점에서 반전 근거가 부족하다고 본다.",
      "Derivatives는 롱 과밀 때문에 하방 리스크를 보지만, 동시에 CVD divergence 0.850과 CVD change +$2,262.73은 하락 중 매수 흡수 가능성을 시사해 약세 지속 신뢰도를 일부 낮춘다.",
      "가격은 discount 영역에 있어 신규 숏의 가격 효율은 낮지만, 구조적으로는 $62,232.10 하방 BOS 이후 회복이 확인되지 않아 방향성과 실행 위치가 충돌한다."
    ],
    "executive_summary": "현재 BTC/USDT 4시간 구조는 다수결 및 구조 이벤트 기준으로 bearish가 우세하다. Wyckoff는 $58,288 Spring 이후 $60,924.70 SOS 후보를 제시하며 누적 Phase D 가능성을 열어두지만, 가격은 아직 $60,924.70, $61,665~$61,813 EQ, 그리고 ICT 핵심 BOS 레벨 $62,232.10을 회복하지 못했다. 현재 위치는 $60,008.61 Fib 0.382와 $60,121.46 Harmonic PRZ 부근의 discount 반응 구간이지만, 이는 실행상 반등 후보일 뿐 confirmed 구조 전환 신호는 아니다. 구조적 조건으로는 $58,288~$58,030 방어 시 Wyckoff Spring 해석이 유지되고, 해당 구간 하방 수용 시 누적 구조가 실패하며 bearish 구조가 강화된다. 반대로 $62,232.10 회복 및 수용은 현재 bearish 구조의 1차 무효화 조건이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.68,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.64,\n    \"active_setups\": [\n      \"현재가 $60,192.40가 EMA20 $60,532.93 아래에서 수용 중이며, 단기 구조 회복이 아직 확인되지 않음\",\n      \"ICT 기준 최근 핵심 하방 BOS 레벨 $62,232.10 아래에 머물러 있어 구조적 약세가 유지됨\",\n      \"7일 레인지 EQ $61,813.60 및 Wyckoff 메인 레인지 EQ 약 $61,665 아래의 할인 구간에 있으나, 할인 자체가 반전 확인은 아님\",\n      \"Fib ret_0.382 $60,008.61 및 Harmonic PRZ 중심 $60,121.46 부근에서 단기 반응 후보는 존재\",\n      \"파생 포지셔닝상 롱 계정 비율 0.671, 롱 과밀 신호가 있어 반등 시 $60,900 / $61,500 / $61,900 부근 매도 압력 재출현 위험\",\n      \"Wyckoff Spring 저점 $58,288 및 7일 저점 $58,030은 누적 구조 유지 여부를 판별할 핵심 수요 구간\"\n    ],\n    \"setup_vs_structure\": \"구조와 실행 셋업은 대체로 약세 쪽으로 정렬되어 있으나, 가격이 할인 구간과 Fib/Harmonic 반응 후보 구간에 있어 즉시 추격 매도 효율은 낮다. 즉, 구조는 bearish 우위지만 단기 실행은 $60,000 전후 지지 반응과 $60,900~$62,232 회복 실패 여부를 분리해서 봐야 한다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 4,\n    \"neutral_count\": 1\n  },\n  \"key_levels\": {\n    \"support\": [\n      60121.46,\n      60008.61,\n      59530.7,\n      59289.4,\n      59252.39,\n      59080.0,\n      58288.0,\n      58030.0,\n      57200.0,\n      56621.15\n    ],\n    \"resistance\": [\n      60532.93,\n      60619.8,\n      60900.0,\n      60924.7,\n      61230.99,\n      61500.0,\n      61665.0,\n      61813.6,\n      61900.0,\n      62101.17,\n      62232.1,\n      63544.78,\n      64250.0\n    ]\n  },\n  \"confluences\": [\n    \"Candlestick, ICT, Derivatives, Harmonic 모두 현재가 $60,192.40가 EMA20 $60,532.93 아래에 있다고 평가하며 단기 구조 회복 미확인을 공통적으로 지적한다.\",\n    \"ICT와 Candlestick은 7일 레인지 EQ $61,813.60 아래의 discount 영역을 동일하게 인식한다.\",\n    \"Wyckoff의 SOS 후보 $60,924.70와 ICT의 전일 고가 $60,924.70가 동일 레벨로 겹치며, 단기 구조 회복 여부의 1차 관문이다.\",\n    \"Derivatives의 상방 청산/저항 $60,900은 Wyckoff·ICT의 $60,924.70과 사실상 같은 저항 클러스터를 형성한다.\",\n    \"Fib ret_0.382 $60,008.61, Harmonic PRZ 중심 $60,121.46, 현재가 $60,192.40가 매우 근접해 있어 $60,000~$60,200 구간은 단기 반응 후보로 중첩된다.\",\n    \"Candlestick 7일 저점 $58,030, Fibonacci 확장/스윙 저점 $58,030, ICT range low $58,030이 일치하여 $58,030은 핵심 구조 지지 및 유동성 레벨이다.\",\n    \"Wyckoff Spring $58,288와 Derivatives 하방 청산 레벨 $58,300이 거의 일치하여 $58,288~$58,300은 Spring 방어 여부를 판별할 중요 수요 구간이다.\",\n    \"Fib golden ratio $61,230.99, Derivatives $61,500, Wyckoff EQ $61,665, Harmonic PRZ 상단 $61,675.69, ICT/Candlestick EQ $61,813.60이 $61,200~$61,800 저항 클러스터를 구성한다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 confirmed accumulation 및 Phase D 구조를 근거로 구조적 bullish를 제시하지만, ICT·Fib·Candlestick·Derivatives·Harmonic은 EMA, 하방 BOS, 하락 스윙, 중기 평균선 하회로 구조적 bearish를 제시한다.\",\n    \"Wyckoff의 Spring $58,288 이후 SOS 후보 $60,924.70 해석은 bullish 구조 가능성을 열어두지만, 현재가는 아직 $60,924.70 및 레인지 EQ $61,665를 회복하지 못해 Phase D의 후속 LPS/BU 확인이 미완성이다.\",\n    \"Fib와 Harmonic은 $60,000~$60,200 부근에서 반등 셋업 가능성을 제시하지만, ICT는 활성 bullish OB, 미충족 bullish FVG, 최근 liquidity sweep이 없다는 점에서 반전 근거가 부족하다고 본다.\",\n    \"Derivatives는 롱 과밀 때문에 하방 리스크를 보지만, 동시에 CVD divergence 0.850과 CVD change +$2,262.73은 하락 중 매수 흡수 가능성을 시사해 약세 지속 신뢰도를 일부 낮춘다.\",\n    \"가격은 discount 영역에 있어 신규 숏의 가격 효율은 낮지만, 구조적으로는 $62,232.10 하방 BOS 이후 회복이 확인되지 않아 방향성과 실행 위치가 충돌한다.\"\n  ],\n  \"highest_conviction_analyst\": \"ICT Trader — 신뢰도 86%로 가장 높고, $78,713.80 bearish CHoCH 이후 $76,014.20, $74,203.60, $72,436.00, 최근 $62,232.10 하방 BOS까지 구조 이벤트를 구체적으로 제시한다. 또한 현재가가 EMA20 $60,532.93, EQ $61,813.60, 최근 BOS 레벨 $62,232.10 아래에 있다는 다중 구조 근거가 명확하다.\",\n  \"invalidation_level\": \"$62,232.10의 4시간봉 종가 회복 및 수용은 현재 bearish 구조 판단을 1차 무효화한다. 보수적으로는 Wyckoff AR/range high $64,250 상방 수용 시 약세 구조 판단이 크게 훼손된다.\",\n  \"executive_summary\": \"현재 BTC/USDT 4시간 구조는 다수결 및 구조 이벤트 기준으로 bearish가 우세하다. Wyckoff는 $58,288 Spring 이후 $60,924.70 SOS 후보를 제시하며 누적 Phase D 가능성을 열어두지만, 가격은 아직 $60,924.70, $61,665~$61,813 EQ, 그리고 ICT 핵심 BOS 레벨 $62,232.10을 회복하지 못했다. 현재 위치는 $60,008.61 Fib 0.382와 $60,121.46 Harmonic PRZ 부근의 discount 반응 구간이지만, 이는 실행상 반등 후보일 뿐 confirmed 구조 전환 신호는 아니다. 구조적 조건으로는 $58,288~$58,030 방어 시 Wyckoff Spring 해석이 유지되고, 해당 구간 하방 수용 시 누적 구조가 실패하며 bearish 구조가 강화된다. 반대로 $62,232.10 회복 및 수용은 현재 bearish 구조의 1차 무효화 조건이다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.68,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.64,
    "waypoints": [
      {
        "seq": 1,
        "price": 60900.0,
        "type": "resistance_test",
        "source": "Derivatives ($60,900 청산/저항), Wyckoff (SOS 후보 $60,924.70), ICT (전일 고가 $60,924.70), EMA20 $60,532.93 1차 관문",
        "description": "현재가가 $60,008.61 Fib 0.382 / $60,121.46 Harmonic PRZ 할인 반응 구간에 위치해 즉시 추격 매도 효율이 낮고, reaction_probability 0.65·doji@299·CVD divergence 0.850·OI -1.58%(언와인딩)로 단기 반등이 선행될 가능성. 다만 롱 계정 비율 0.671 과밀로 EMA20 $60,532.93 위 $60,900~$60,924.70 저항 클러스터(Wyckoff SOS·전일 고가·파생 청산대) 테스트 후 거절 공산이 큼. 이 구간 회복 실패가 약세 경로의 핵심 전제.",
        "est_hours": 5.0,
        "turning_zone": [
          60900.0,
          61180.0
        ],
        "likely_wick": 61000.0,
        "rejection_confirm": 60619.8,
        "invalid_overshoot": 61230.99,
        "calibration_reasoning": "저항 클러스터 $60,900/$60,924.70(Wyckoff SOS·전일 고가·파생 청산대)와 라운드 $61,000 자석을 zone에 포함하고 상단은 Fib 0.618 골든비율 $61,230.99 직전에서 마감(약 0.31×ATR). likely_wick은 청산대 위 라운드 넘버 $61,000으로 편향, rejection_confirm은 Fib $60,619.80 재이탈, invalid_overshoot는 골든비율 상방 수용."
      },
      {
        "seq": 2,
        "price": 59289.4,
        "type": "support_test",
        "source": "Candlestick (지지 $59,289.40), Fibonacci ($59,252.39), ICT (전일 저가 $59,530.70 경유)",
        "description": "$60,900 거절 후 EMA20 아래 수용이 재확인되며 전일 저가 $59,530.70를 경유해 $59,289.40~$59,252.39 지지 클러스터로 하락. 구조적 bearish(ICT 하방 BOS $62,232.10 미회복, EMA120/240 하회)가 유지되는 한 반등은 매도 재개 구간으로 소화됨.",
        "est_hours": 11.0,
        "turning_zone": [
          58990.0,
          59289.4
        ],
        "likely_wick": 59050.0,
        "rejection_confirm": 59530.7,
        "invalid_overshoot": 58900.0,
        "calibration_reasoning": "지지 클러스터 $59,289.40/$59,252.39 아래 회장 지지 $59,080·라운드 $59,000을 포괄해 zone 설정(약 0.33×ATR). likely_wick은 클러스터를 하향 스윕한 뒤 $59,080/$59,000 사이 $59,050, rejection_confirm은 전일 저가 $59,530.70 회복, invalid_overshoot는 $59,000 라운드 하방 수용으로 지지 실패."
      },
      {
        "seq": 3,
        "price": 58030.0,
        "type": "liquidity_sweep",
        "source": "ICT/Candlestick/Fibonacci (range low·7일 저점·스윙 저점 $58,030), Wyckoff (Spring $58,288), Derivatives ($58,300) — WP1 후보 confluence",
        "description": "$59,252.39 이탈 시 누적 매도가 가속되어 7일 저점·레인지 저점·Fib 스윙 저점이 겹치는 $58,030 유동성을 재공격(스윙 저점 아래 스톱 회수). $58,288 Wyckoff Spring·$58,300 파생 청산대가 핵심 수요 구간으로, 여기서 흡수되면 Spring 방어(누적 구조 유지), 수용·하향 이탈 시 누적 해석 실패로 약세 강화.",
        "est_hours": 19.0,
        "turning_zone": [
          57550.0,
          58030.0
        ],
        "likely_wick": 57930.0,
        "rejection_confirm": 58288.0,
        "invalid_overshoot": 57200.0,
        "calibration_reasoning": "Fib ext_1.0 컨플루언스·7일/레인지 스윙 저점 $58,030 아래 스톱 유동성 회수를 위한 하방 스윕이므로 zone을 base 아래로 확장(터미널, 약 0.53×ATR). 라운드 $58,000 자석 직하 스톱을 노리는 $57,930에 likely_wick 편향, rejection_confirm은 Wyckoff Spring 수요대 $58,288 회복(Spring 방어 확인), invalid_overshoot는 회장 지지 $57,200 하방 수용(누적 해석 실패·약세 강화)."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 60650.0,
        "expected_low": 60000.0,
        "high_first": false
      },
      "8h": {
        "expected_high": 60900.0,
        "expected_low": 59700.0,
        "high_first": true
      },
      "24h": {
        "expected_high": 60900.0,
        "expected_low": 58030.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 60924.7,
        "description": "$60,924.70(Wyckoff SOS 후보·전일 고가) 회복 및 4시간 종가 수용 시 단기 반등-거절 시나리오 약화 → $61,230.99 골든비율, EQ $61,665~$61,813 테스트로 확장. $62,232.10까지 이어지면 약세 구조 자체가 무효화."
      },
      "bearish": {
        "price": 60008.61,
        "description": "$60,008.61(Fib 0.382) 지지를 4시간 종가로 상실하면 할인 반응(반등) 시나리오 무산 → $59,530.70 전일 저가를 거쳐 $58,288/$58,030 유동성으로 직접 가속 하락."
      }
    },
    "scenario_invalidation": 62232.1,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.64,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 60900.0,\n      \"type\": \"resistance_test\",\n      \"source\": \"Derivatives ($60,900 청산/저항), Wyckoff (SOS 후보 $60,924.70), ICT (전일 고가 $60,924.70), EMA20 $60,532.93 1차 관문\",\n      \"description\": \"현재가가 $60,008.61 Fib 0.382 / $60,121.46 Harmonic PRZ 할인 반응 구간에 위치해 즉시 추격 매도 효율이 낮고, reaction_probability 0.65·doji@299·CVD divergence 0.850·OI -1.58%(언와인딩)로 단기 반등이 선행될 가능성. 다만 롱 계정 비율 0.671 과밀로 EMA20 $60,532.93 위 $60,900~$60,924.70 저항 클러스터(Wyckoff SOS·전일 고가·파생 청산대) 테스트 후 거절 공산이 큼. 이 구간 회복 실패가 약세 경로의 핵심 전제.\",\n      \"est_hours\": 5.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 59289.4,\n      \"type\": \"support_test\",\n      \"source\": \"Candlestick (지지 $59,289.40), Fibonacci ($59,252.39), ICT (전일 저가 $59,530.70 경유)\",\n      \"description\": \"$60,900 거절 후 EMA20 아래 수용이 재확인되며 전일 저가 $59,530.70를 경유해 $59,289.40~$59,252.39 지지 클러스터로 하락. 구조적 bearish(ICT 하방 BOS $62,232.10 미회복, EMA120/240 하회)가 유지되는 한 반등은 매도 재개 구간으로 소화됨.\",\n      \"est_hours\": 11.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 58030.0,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"ICT/Candlestick/Fibonacci (range low·7일 저점·스윙 저점 $58,030), Wyckoff (Spring $58,288), Derivatives ($58,300) — WP1 후보 confluence\",\n      \"description\": \"$59,252.39 이탈 시 누적 매도가 가속되어 7일 저점·레인지 저점·Fib 스윙 저점이 겹치는 $58,030 유동성을 재공격(스윙 저점 아래 스톱 회수). $58,288 Wyckoff Spring·$58,300 파생 청산대가 핵심 수요 구간으로, 여기서 흡수되면 Spring 방어(누적 구조 유지), 수용·하향 이탈 시 누적 해석 실패로 약세 강화.\",\n      \"est_hours\": 19.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 60650.0, \"expected_low\": 60000.0, \"high_first\": false},\n    \"8h\":  {\"expected_high\": 60900.0, \"expected_low\": 59700.0, \"high_first\": true},\n    \"24h\": {\"expected_high\": 60900.0, \"expected_low\": 58030.0, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 60924.7, \"description\": \"$60,924.70(Wyckoff SOS 후보·전일 고가) 회복 및 4시간 종가 수용 시 단기 반등-거절 시나리오 약화 → $61,230.99 골든비율, EQ $61,665~$61,813 테스트로 확장. $62,232.10까지 이어지면 약세 구조 자체가 무효화.\"},\n    \"bearish\": {\"price\": 60008.61, \"description\": \"$60,008.61(Fib 0.382) 지지를 4시간 종가로 상실하면 할인 반응(반등) 시나리오 무산 → $59,530.70 전일 저가를 거쳐 $58,288/$58,030 유동성으로 직접 가속 하락.\"}\n  },\n  \"scenario_invalidation\": 62232.1\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 60900.0,
        "turning_zone": [
          60900.0,
          61180.0
        ],
        "likely_wick": 61000.0,
        "rejection_confirm": 60619.8,
        "invalid_overshoot": 61230.99,
        "calibration_reasoning": "저항 클러스터 $60,900/$60,924.70(Wyckoff SOS·전일 고가·파생 청산대)와 라운드 $61,000 자석을 zone에 포함하고 상단은 Fib 0.618 골든비율 $61,230.99 직전에서 마감(약 0.31×ATR). likely_wick은 청산대 위 라운드 넘버 $61,000으로 편향, rejection_confirm은 Fib $60,619.80 재이탈, invalid_overshoot는 골든비율 상방 수용."
      },
      {
        "seq": 2,
        "base_target": 59289.4,
        "turning_zone": [
          58990.0,
          59289.4
        ],
        "likely_wick": 59050.0,
        "rejection_confirm": 59530.7,
        "invalid_overshoot": 58900.0,
        "calibration_reasoning": "지지 클러스터 $59,289.40/$59,252.39 아래 회장 지지 $59,080·라운드 $59,000을 포괄해 zone 설정(약 0.33×ATR). likely_wick은 클러스터를 하향 스윕한 뒤 $59,080/$59,000 사이 $59,050, rejection_confirm은 전일 저가 $59,530.70 회복, invalid_overshoot는 $59,000 라운드 하방 수용으로 지지 실패."
      },
      {
        "seq": 3,
        "base_target": 58030.0,
        "turning_zone": [
          57550.0,
          58030.0
        ],
        "likely_wick": 57930.0,
        "rejection_confirm": 58288.0,
        "invalid_overshoot": 57200.0,
        "calibration_reasoning": "Fib ext_1.0 컨플루언스·7일/레인지 스윙 저점 $58,030 아래 스톱 유동성 회수를 위한 하방 스윕이므로 zone을 base 아래로 확장(터미널, 약 0.53×ATR). 라운드 $58,000 자석 직하 스톱을 노리는 $57,930에 likely_wick 편향, rejection_confirm은 Wyckoff Spring 수요대 $58,288 회복(Spring 방어 확인), invalid_overshoot는 회장 지지 $57,200 하방 수용(누적 해석 실패·약세 강화)."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 60900.00,\n      \"turning_zone\": [60900.00, 61180.00],\n      \"likely_wick\": 61000.00,\n      \"rejection_confirm\": 60619.80,\n      \"invalid_overshoot\": 61230.99,\n      \"calibration_reasoning\": \"저항 클러스터 $60,900/$60,924.70(Wyckoff SOS·전일 고가·파생 청산대)와 라운드 $61,000 자석을 zone에 포함하고 상단은 Fib 0.618 골든비율 $61,230.99 직전에서 마감(약 0.31×ATR). likely_wick은 청산대 위 라운드 넘버 $61,000으로 편향, rejection_confirm은 Fib $60,619.80 재이탈, invalid_overshoot는 골든비율 상방 수용.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 59289.40,\n      \"turning_zone\": [58990.00, 59289.40],\n      \"likely_wick\": 59050.00,\n      \"rejection_confirm\": 59530.70,\n      \"invalid_overshoot\": 58900.00,\n      \"calibration_reasoning\": \"지지 클러스터 $59,289.40/$59,252.39 아래 회장 지지 $59,080·라운드 $59,000을 포괄해 zone 설정(약 0.33×ATR). likely_wick은 클러스터를 하향 스윕한 뒤 $59,080/$59,000 사이 $59,050, rejection_confirm은 전일 저가 $59,530.70 회복, invalid_overshoot는 $59,000 라운드 하방 수용으로 지지 실패.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 58030.00,\n      \"turning_zone\": [57550.00, 58030.00],\n      \"likely_wick\": 57930.00,\n      \"rejection_confirm\": 58288.00,\n      \"invalid_overshoot\": 57200.00,\n      \"calibration_reasoning\": \"Fib ext_1.0 컨플루언스·7일/레인지 스윙 저점 $58,030 아래 스톱 유동성 회수를 위한 하방 스윕이므로 zone을 base 아래로 확장(터미널, 약 0.53×ATR). 라운드 $58,000 자석 직하 스톱을 노리는 $57,930에 likely_wick 편향, rejection_confirm은 Wyckoff Spring 수요대 $58,288 회복(Spring 방어 확인), invalid_overshoot는 회장 지지 $57,200 하방 수용(누적 해석 실패·약세 강화).\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 54.3,
      "chairman": 84.7,
      "operating_path": 241.5,
      "tp_calibrator": 163.1
    },
    "agents": {},
    "total_s": 543.7
  }
}