{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-07-01 09:00 KST",
  "last_price": 58605.4,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.55,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $58,605.40가 7일 고저점 EQ $59,459.15 아래의 할인 구간에 위치",
        "7일 저점 $58,160.00 근처에서 최근 bullish_engulfing@299 후보 발생",
        "최근 doji@295~298 연속 출현으로 $58,600 부근 매도 압력 둔화 및 단기 균형 형성",
        "현재가가 EMA20 $58,605.74와 거의 동일하여 단기 평균선 재수복 시도 중"
      ],
      "reasoning": "확정 구조 관점에서는 현재가 $58,605.40가 EMA120 $59,105.55 아래 -0.8%, EMA240 $59,451.77 아래 -1.4%에 있어 아직 하락 구조가 우세합니다. 다만 셋업 관점에서는 가격이 7일 저점 $58,160.00에 가까운 할인 구간에 있고, 최근 bullish_engulfing 후보가 2개 발생했으며 bull_score 1.5 대 bear_score 0으로 단기 반등 시도는 감지됩니다. 그러나 best_pattern_quality가 0.602로 후보 수준이고, high_volume_patterns가 없어 강한 매수 확정 신호로 보기는 어렵습니다. 따라서 구조는 bearish, 셋업은 bullish로 엇갈리며, 최종 신호는 확인 대기 성격의 neutral입니다.",
      "key_levels": {
        "support": [
          58605.74,
          58160.0
        ],
        "resistance": [
          59105.55,
          59451.77,
          59459.15,
          60758.3
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$58,160.00 하향 이탈",
      "risk_scenario": "반등 셋업이 실패하고 $58,160.00을 하향 이탈하면 최근 bullish_engulfing과 도지 압축은 흡수 실패로 해석되며, EMA120 $59,105.55 아래의 기존 하락 구조가 재가속될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 157,
        "recent_patterns": 7,
        "pattern_list": [
          "bullish_engulfing@291",
          "bullish_engulfing@299",
          "doji@290",
          "doji@295",
          "doji@296",
          "doji@297",
          "doji@298"
        ],
        "atr_value": 146.75,
        "vol_avg_20": 753.16,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.602,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.595,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.602,
        "bull_score": 1.5,
        "bear_score": 0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.55,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $58,605.40가 7일 고저점 EQ $59,459.15 아래의 할인 구간에 위치\",\n    \"7일 저점 $58,160.00 근처에서 최근 bullish_engulfing@299 후보 발생\",\n    \"최근 doji@295~298 연속 출현으로 $58,600 부근 매도 압력 둔화 및 단기 균형 형성\",\n    \"현재가가 EMA20 $58,605.74와 거의 동일하여 단기 평균선 재수복 시도 중\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 현재가 $58,605.40가 EMA120 $59,105.55 아래 -0.8%, EMA240 $59,451.77 아래 -1.4%에 있어 아직 하락 구조가 우세합니다. 다만 셋업 관점에서는 가격이 7일 저점 $58,160.00에 가까운 할인 구간에 있고, 최근 bullish_engulfing 후보가 2개 발생했으며 bull_score 1.5 대 bear_score 0으로 단기 반등 시도는 감지됩니다. 그러나 best_pattern_quality가 0.602로 후보 수준이고, high_volume_patterns가 없어 강한 매수 확정 신호로 보기는 어렵습니다. 따라서 구조는 bearish, 셋업은 bullish로 엇갈리며, 최종 신호는 확인 대기 성격의 neutral입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      58605.74,\n      58160.0\n    ],\n    \"resistance\": [\n      59105.55,\n      59451.77,\n      59459.15,\n      60758.3\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$58,160.00 하향 이탈\",\n  \"risk_scenario\": \"반등 셋업이 실패하고 $58,160.00을 하향 이탈하면 최근 bullish_engulfing과 도지 압축은 흡수 실패로 해석되며, EMA120 $59,105.55 아래의 기존 하락 구조가 재가속될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bullish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.68,
      "setup_signals": [
        "현재가 $58,605.40가 스윙 EQ/ret_0.5 $58,626.15 아래에 있어 단기 디스카운트 구간 진입",
        "0.618 골든비율 지지 $58,589.84를 테스트 중이며 현재가와의 거리 0.03%로 매우 근접",
        "주요 컨플루언스 존 $58,668.17에 7개 피보나치 레벨이 밀집되어 cluster_score 1.0",
        "fib_reaction_state가 testing이고 reaction_probability가 0.65로 골든비율 반등 셋업이 활성화",
        "하방 보조 지지 ret_0.786 $58,538.15가 가까워 손익비 기준의 명확한 무효화 구간 제공"
      ],
      "reasoning": "현재 BTC는 Low→High $58,472→$58,780 상승 스윙의 0.618 되돌림인 $58,589.84를 테스트하고 있으며, 현재가 $58,605.40와의 거리가 0.03%에 불과해 골든비율 반응 구간에 위치합니다. 다만 가격은 EMA120 $59,105.55와 EMA240 $59,451.77 아래에 있어 상위 구조의 강한 bullish 전환은 아직 확인되지 않았으므로 structure_bias는 neutral로 봅니다. 실행 관점에서는 현재가가 EQ인 ret_0.5 $58,626.15 아래에 있어 디스카운트 구간이며, $58,589.84 방어 시 $58,626.15, $58,662.46, $58,707.38 순으로 단기 반등 목표가 열립니다. 반대로 $58,538.15 ret_0.786이 이탈되면 골든비율 반등 셋업이 실패하고 스윙 저점 $58,472 재테스트 위험이 커집니다.",
      "key_levels": {
        "support": [
          58589.84,
          58538.15,
          58472
        ],
        "resistance": [
          58626.15,
          58662.46,
          58707.38,
          58863.69,
          58970.16,
          59087.7
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$58,538.15",
      "risk_scenario": "$58,589.84의 0.618 지지가 반등을 만들지 못하고 $58,538.15 ret_0.786까지 이탈하면, 현재 bullish setup은 무효화되며 $58,472 스윙 저점 재시험 또는 7일 저점 $58,160.00 방향의 하방 확장이 우세해질 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $58,472 → $58,780",
        "direction": "up",
        "nearest_fib": "ret_0.618",
        "nearest_fib_price": 58589.84,
        "nearest_fib_distance": 0.03,
        "golden_ratio_level": 58589.84,
        "fib_ret_382": 58662.46,
        "fib_ret_618": 58589.84,
        "confluence_zones": [
          {
            "price": 58668.17,
            "count": 7,
            "levels": [
              "ret_0.786",
              "ret_0.618",
              "ret_0.5",
              "ret_0.382",
              "ret_0.236",
              "ret_0.236",
              "ext_1.0"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 58996.3,
            "count": 5,
            "levels": [
              "ext_1.272",
              "ext_1.414",
              "ext_1.618",
              "ext_2.0",
              "ret_0.382"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 59368.5,
            "count": 2,
            "levels": [
              "ext_2.618",
              "ret_0.5"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          58589.841400000005,
          58538.1478
        ],
        "resistance_levels": [
          58626.15,
          58662.4586,
          58707.3828
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 58707.38,
            "distance_pct": 0.17,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.382",
            "price": 58662.46,
            "distance_pct": 0.1,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.5",
            "price": 58626.15,
            "distance_pct": 0.04,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.618",
            "price": 58589.84,
            "distance_pct": 0.03,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.786",
            "price": 58538.15,
            "distance_pct": 0.11,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.0",
            "price": 58780.0,
            "distance_pct": 0.3,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.272",
            "price": 58863.69,
            "distance_pct": 0.44,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.414",
            "price": 58907.39,
            "distance_pct": 0.52,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.618",
            "price": 58970.16,
            "distance_pct": 0.62,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_2.0",
            "price": 59087.7,
            "distance_pct": 0.82,
            "is_support": false,
            "cluster_score": 1.0
          }
        ],
        "confluence_quality": 1.0,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"현재가 $58,605.40가 스윙 EQ/ret_0.5 $58,626.15 아래에 있어 단기 디스카운트 구간 진입\",\n    \"0.618 골든비율 지지 $58,589.84를 테스트 중이며 현재가와의 거리 0.03%로 매우 근접\",\n    \"주요 컨플루언스 존 $58,668.17에 7개 피보나치 레벨이 밀집되어 cluster_score 1.0\",\n    \"fib_reaction_state가 testing이고 reaction_probability가 0.65로 골든비율 반등 셋업이 활성화\",\n    \"하방 보조 지지 ret_0.786 $58,538.15가 가까워 손익비 기준의 명확한 무효화 구간 제공\"\n  ],\n  \"reasoning\": \"현재 BTC는 Low→High $58,472→$58,780 상승 스윙의 0.618 되돌림인 $58,589.84를 테스트하고 있으며, 현재가 $58,605.40와의 거리가 0.03%에 불과해 골든비율 반응 구간에 위치합니다. 다만 가격은 EMA120 $59,105.55와 EMA240 $59,451.77 아래에 있어 상위 구조의 강한 bullish 전환은 아직 확인되지 않았으므로 structure_bias는 neutral로 봅니다. 실행 관점에서는 현재가가 EQ인 ret_0.5 $58,626.15 아래에 있어 디스카운트 구간이며, $58,589.84 방어 시 $58,626.15, $58,662.46, $58,707.38 순으로 단기 반등 목표가 열립니다. 반대로 $58,538.15 ret_0.786이 이탈되면 골든비율 반등 셋업이 실패하고 스윙 저점 $58,472 재테스트 위험이 커집니다.\",\n  \"key_levels\": {\n    \"support\": [\n      58589.84,\n      58538.15,\n      58472\n    ],\n    \"resistance\": [\n      58626.15,\n      58662.46,\n      58707.38,\n      58863.69,\n      58970.16,\n      59087.7\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$58,538.15\",\n  \"risk_scenario\": \"$58,589.84의 0.618 지지가 반등을 만들지 못하고 $58,538.15 ret_0.786까지 이탈하면, 현재 bullish setup은 무효화되며 $58,472 스윙 저점 재시험 또는 7일 저점 $58,160.00 방향의 하방 확장이 우세해질 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.68,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.78,
      "setup_signals": [
        "가격 $58,605.40이 EMA120 $59,105.55 및 EMA240 $59,451.77 아래에서 수용되어 약세 구조 유지",
        "OI가 24시간 +6.33% 증가했지만 CVD는 -10,493.7470 감소하여 신규 포지션 유입이 매수 주도보다는 하방 압력으로 해석됨",
        "롱 계정 비율이 0.740까지 상승했고 long_account_crowding=1.000으로 롱 포지셔닝 과밀",
        "24시간 가격 -2.69% 하락 중 롱 계정은 +0.069 증가, 숏 계정은 -0.0693 감소하여 하락장에서 롱 물타기 가능성",
        "근접 하방 청산 유동성 $57,800에 3,398 규모가 존재하며 현재가와 가까워 단기 유동성 타깃으로 작동 가능"
      ],
      "reasoning": "현재 BTC는 $58,605.40으로 EMA20 $58,605.74 부근에 붙어 있지만 EMA120 $59,105.55와 EMA240 $59,451.77 아래에 있어 확인된 구조는 여전히 약세입니다. OI가 24시간 +6.33% 증가하는 동안 CVD는 -10,493.7470 감소해, 가격 하락 구간에서 신규 포지션이 늘었음에도 실매수 참여가 약한 형태입니다. 롱 계정 비율은 0.740, long_account_crowding은 1.000으로 과밀하며, 이는 파생 포지셔닝 관점에서 반대매매성 하방 리스크를 키웁니다. 단기적으로 $57,800 청산 클러스터가 가장 가까운 하방 타깃이며, 반대로 $59,600 위로 회복하면 숏 커버링과 함께 $60,700-$60,800 상단 유동성으로 squeeze가 열릴 수 있습니다.",
      "key_levels": {
        "support": [
          58160,
          57800,
          56100,
          56000,
          52500
        ],
        "resistance": [
          59105.55,
          59451.77,
          59600,
          60700,
          60800
        ]
      },
      "time_horizon": "단기 4-8시간",
      "invalidation_level": "$59,600 상방 수용",
      "risk_scenario": "$59,600을 강하게 회복하면 하방 청산 시나리오는 무효화되고, $60,700 및 $60,800의 상단 청산 유동성을 향한 숏 스퀴즈가 발생할 수 있습니다.",
      "data_quality": "high",
      "metrics": {
        "cvd_divergence": 0.3,
        "cvd_change": -10493.747,
        "oi_trend": 1.0,
        "oi_change_pct_24h": 6.332,
        "oi_latest": 108493.368,
        "funding_pressure": 0.44,
        "funding_avg": 5.95e-05,
        "funding_change_24h": -2.848e-05,
        "long_account_ratio": 0.721,
        "short_account_ratio": 0.279,
        "long_account_latest": 0.74,
        "short_account_latest": 0.26,
        "long_account_change_24h": 0.0693,
        "short_account_change_24h": -0.0693,
        "account_flow_label": "long_accounts_rising_short_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.492,
        "spot_futures_basis_pct": -0.0329,
        "basis_change_lookback": 0.0016,
        "aggregate_score": 0.446,
        "bull_signals": 1,
        "bear_signals": 3,
        "liq_below": [
          [
            57800,
            3398.3812081500005
          ],
          [
            56100,
            2680.1229690000005
          ],
          [
            56000,
            2710.0550430000008
          ]
        ],
        "liq_above": [
          [
            59600,
            2848.6726979999994
          ],
          [
            60700,
            2528.452848000001
          ],
          [
            60800,
            2405.0119160000004
          ]
        ],
        "strongest_liq_level": 52500,
        "fragility_score": 0.866,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.68,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.78,\n  \"setup_signals\": [\n    \"가격 $58,605.40이 EMA120 $59,105.55 및 EMA240 $59,451.77 아래에서 수용되어 약세 구조 유지\",\n    \"OI가 24시간 +6.33% 증가했지만 CVD는 -10,493.7470 감소하여 신규 포지션 유입이 매수 주도보다는 하방 압력으로 해석됨\",\n    \"롱 계정 비율이 0.740까지 상승했고 long_account_crowding=1.000으로 롱 포지셔닝 과밀\",\n    \"24시간 가격 -2.69% 하락 중 롱 계정은 +0.069 증가, 숏 계정은 -0.0693 감소하여 하락장에서 롱 물타기 가능성\",\n    \"근접 하방 청산 유동성 $57,800에 3,398 규모가 존재하며 현재가와 가까워 단기 유동성 타깃으로 작동 가능\"\n  ],\n  \"reasoning\": \"현재 BTC는 $58,605.40으로 EMA20 $58,605.74 부근에 붙어 있지만 EMA120 $59,105.55와 EMA240 $59,451.77 아래에 있어 확인된 구조는 여전히 약세입니다. OI가 24시간 +6.33% 증가하는 동안 CVD는 -10,493.7470 감소해, 가격 하락 구간에서 신규 포지션이 늘었음에도 실매수 참여가 약한 형태입니다. 롱 계정 비율은 0.740, long_account_crowding은 1.000으로 과밀하며, 이는 파생 포지셔닝 관점에서 반대매매성 하방 리스크를 키웁니다. 단기적으로 $57,800 청산 클러스터가 가장 가까운 하방 타깃이며, 반대로 $59,600 위로 회복하면 숏 커버링과 함께 $60,700-$60,800 상단 유동성으로 squeeze가 열릴 수 있습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      58160,\n      57800,\n      56100,\n      56000,\n      52500\n    ],\n    \"resistance\": [\n      59105.55,\n      59451.77,\n      59600,\n      60700,\n      60800\n    ]\n  },\n  \"time_horizon\": \"단기 4-8시간\",\n  \"invalidation_level\": \"$59,600 상방 수용\",\n  \"risk_scenario\": \"$59,600을 강하게 회복하면 하방 청산 시나리오는 무효화되고, $60,700 및 $60,800의 상단 청산 유동성을 향한 숏 스퀴즈가 발생할 수 있습니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.87,
      "setup_signals": [
        "현재가 $58,605.40이 EQ $58,738.15 아래의 discount 구간에 위치하지만, $58,200.00 이전일 저점이 이미 하향 이탈되어 sell-side liquidity가 소거됨",
        "최근 구조 이벤트가 CHoCH_bearish $59,712.80 이후 BOS_bearish $59,329.20로 이어져 하락 구조가 확인됨",
        "현재가가 EMA120 $59,105.55 및 EMA240 $59,451.77 아래에 있어 기관 플로우 기준 상위 평균가 저항이 우세함",
        "상단 $59,552.60~$60,758.30에 candidate bearish OB가 존재하며, 반등 시 공급 재진입 가능 구간으로 작용",
        "London 세션 고점 $58,780.00과 EQ $58,738.15 부근이 단기 buy-side liquidity 및 재분배 저항으로 작용 가능"
      ],
      "reasoning": "확정 구조는 bearish입니다. 최근 시퀀스가 CHoCH_bearish $59,712.80 이후 BOS_bearish $59,329.20로 마감되었고, 이전일 저점 $58,200.00까지 하향 돌파되어 매도 측 구조 우위가 확인되었습니다. 현재가 $58,605.40은 EQ $58,738.15 아래 discount에 있어 추격 숏에는 반등 리스크가 있지만, EMA120 $59,105.55와 EMA240 $59,451.77 아래에서 수용되고 있어 상방 회복보다는 재차 저점 $58,200.00 및 7일 저점 $58,160.00 유동성 재공격 가능성이 높습니다. 다만 활성 bullish/bearish OB와 미충족 FVG가 없고 최근 liquidity sweep도 감지되지 않아, 신호 강도는 높지만 데이터 품질은 중간으로 평가합니다.",
      "key_levels": {
        "support": [
          58477.1,
          58200.0,
          58160.0
        ],
        "resistance": [
          58738.15,
          58780.0,
          59105.55,
          59329.2,
          59552.6,
          59712.8,
          60758.3
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,712.80",
      "risk_scenario": "반대 시나리오는 가격이 EQ $58,738.15와 London 고점 $58,780.00을 회복한 뒤, BOS_bearish 기준선 $59,329.20 위에서 수용되는 경우입니다. 특히 $59,712.80 bearish CHoCH 레벨을 상향 돌파하면 현재 하락 구조 해석은 무효화되며, $59,552.60~$60,758.30 candidate bearish OB 내부로 재진입해 $60,666.60 이전일 고점 또는 $60,758.30 7일 고점의 buy-side liquidity를 사냥할 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 1,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 1,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 59552.6,
          "top": 60758.3,
          "quality": "candidate",
          "score": 0.54
        },
        "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": 52,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "CHoCH_bullish",
            "level": 60314.3
          },
          {
            "type": "BOS_bearish",
            "level": 60037.0
          },
          {
            "type": "BOS_bullish",
            "level": 60325.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 59712.8
          },
          {
            "type": "BOS_bearish",
            "level": 59329.2
          }
        ],
        "bos_sequence": [
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 1,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "discount",
        "eq_level": 58738.15,
        "range_high": 59316.3,
        "range_low": 58160.0,
        "bull_score": 4.7,
        "bear_score": 8.5,
        "setup_bias": "bearish",
        "setup_score": 0.87,
        "setup_signals": [
          "bearish BOS below $60,037.00",
          "bearish CHoCH below $59,712.80",
          "bearish BOS below $59,329.20",
          "broken previous day low $58,200.00"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 38.1,
        "deepest_retracement_pct": 81.5,
        "previous_day_high": 60666.6,
        "previous_day_low": 58200.0,
        "broken_prev_high": false,
        "broken_prev_low": true,
        "sessions": {
          "London": {
            "active": true,
            "high": 58780.0,
            "low": 58477.1
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.87,\n  \"setup_signals\": [\n    \"현재가 $58,605.40이 EQ $58,738.15 아래의 discount 구간에 위치하지만, $58,200.00 이전일 저점이 이미 하향 이탈되어 sell-side liquidity가 소거됨\",\n    \"최근 구조 이벤트가 CHoCH_bearish $59,712.80 이후 BOS_bearish $59,329.20로 이어져 하락 구조가 확인됨\",\n    \"현재가가 EMA120 $59,105.55 및 EMA240 $59,451.77 아래에 있어 기관 플로우 기준 상위 평균가 저항이 우세함\",\n    \"상단 $59,552.60~$60,758.30에 candidate bearish OB가 존재하며, 반등 시 공급 재진입 가능 구간으로 작용\",\n    \"London 세션 고점 $58,780.00과 EQ $58,738.15 부근이 단기 buy-side liquidity 및 재분배 저항으로 작용 가능\"\n  ],\n  \"reasoning\": \"확정 구조는 bearish입니다. 최근 시퀀스가 CHoCH_bearish $59,712.80 이후 BOS_bearish $59,329.20로 마감되었고, 이전일 저점 $58,200.00까지 하향 돌파되어 매도 측 구조 우위가 확인되었습니다. 현재가 $58,605.40은 EQ $58,738.15 아래 discount에 있어 추격 숏에는 반등 리스크가 있지만, EMA120 $59,105.55와 EMA240 $59,451.77 아래에서 수용되고 있어 상방 회복보다는 재차 저점 $58,200.00 및 7일 저점 $58,160.00 유동성 재공격 가능성이 높습니다. 다만 활성 bullish/bearish OB와 미충족 FVG가 없고 최근 liquidity sweep도 감지되지 않아, 신호 강도는 높지만 데이터 품질은 중간으로 평가합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      58477.1,\n      58200.0,\n      58160.0\n    ],\n    \"resistance\": [\n      58738.15,\n      58780.0,\n      59105.55,\n      59329.2,\n      59552.6,\n      59712.8,\n      60758.3\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,712.80\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 EQ $58,738.15와 London 고점 $58,780.00을 회복한 뒤, BOS_bearish 기준선 $59,329.20 위에서 수용되는 경우입니다. 특히 $59,712.80 bearish CHoCH 레벨을 상향 돌파하면 현재 하락 구조 해석은 무효화되며, $59,552.60~$60,758.30 candidate bearish OB 내부로 재진입해 $60,666.60 이전일 고점 또는 $60,758.30 7일 고점의 buy-side liquidity를 사냥할 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.82,
      "structure_bias": "bearish",
      "setup_bias": "neutral",
      "setup_score": 0.38,
      "setup_signals": [
        "현재가 $58,605.40은 활성 하위 분배 범위 저점 $58,200.00과 고점 $59,672.10의 EQ 약 $58,936.05 아래에 있어 할인권에 위치함",
        "UT $58,850.00 및 UTAD $58,780.00 상단 실패 구간을 아직 회복하지 못해 단기 공급 우위가 남아 있음",
        "직전 SOW $58,477.10 위로는 반등했지만, 이는 구조 전환이 아니라 Phase E 이후 약한 되돌림 가능성으로 해석됨",
        "주요 분배 범위의 BC $60,543.30 / AR $60,037.00 대비 현재가는 명확히 하방 이탈 상태이며, 본래 분배 박스 내부 수용을 회복하지 못함"
      ],
      "reasoning": "지표상 regime은 DIS, regime_state는 confirmed_dis이며, 감지된 체인은 BC $60,543.30 → AR $60,037.00 → UT $60,565.60 → LPSY $60,024.90 → SOW $59,719.60 → Phase E $58,160.00으로 확인된 분배 구조입니다. 활성 구조 15m_cycle_2도 BC $59,672.10 이후 SOW_IN_PHASE_B $58,200.00, UT $58,850.00, UTAD $58,780.00, SOW $58,477.10을 형성해 재분배성 약세가 유지됩니다. 다만 현재가 $58,605.40은 활성 범위 EQ 약 $58,936.05 아래의 할인권이며 SOW $58,477.10 위에서 반등 중이므로, 즉시 추가 하락 셋업은 강하지 않고 $58,780~$58,850 또는 $58,936 재시험 가능성을 열어둬야 합니다. 구조 편향은 명확히 bearish이나, 실행 관점의 setup_bias는 아직 추가 거절 확인 전이라 neutral로 평가합니다.",
      "key_levels": {
        "support": [
          58477.1,
          58200.0,
          58160.0
        ],
        "resistance": [
          58780.0,
          58850.0,
          58936.05,
          59423.3,
          59672.1,
          60024.9,
          60037.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,423.30",
      "risk_scenario": "$58,780.00~$58,850.00의 UT/UTAD 공급대를 회복하고, 특히 활성 AR $59,423.30 위에서 15분봉 기준 수용이 확인되면 현재 Phase E 약세 진행은 단기적으로 무효화되고 $59,672.10 또는 $60,024.90 재시험으로 되돌림이 확장될 수 있습니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 92.5,
        "dis_score": 100.0,
        "regime": "DIS",
        "regime_state": "confirmed_dis",
        "structure_bias": "bearish",
        "phase_context": "confirmed_dis / distribution / Phase E",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "LPSY",
          "SOW",
          "Phase E"
        ],
        "last_phase": "Phase E",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 46,
            "price": 60543.3,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 53,
            "price": 60037.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 100,
            "price": 59883.2,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 165,
            "price": 58988.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 195,
            "price": 60565.6,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 210,
            "price": 60024.9,
            "color": "#8338ec"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 213,
            "price": 59719.6,
            "color": "#ef476f"
          },
          {
            "label": "Phase E",
            "side": "low",
            "idx": 265,
            "price": 58160.0,
            "color": "#7209b7"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 46,
            "end_idx": 265,
            "phase_count": 8,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 46,
                "price": 60543.3,
                "color": "#ffd166",
                "dt": "2026-06-28 17:30:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 53,
                "price": 60037.0,
                "color": "#06d6a0",
                "dt": "2026-06-28 19:15:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 100,
                "price": 59883.2,
                "color": "#118ab2",
                "dt": "2026-06-29 07:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 165,
                "price": 58988.0,
                "color": "#ef476f",
                "dt": "2026-06-29 23:15:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 195,
                "price": 60565.6,
                "color": "#f9844a",
                "dt": "2026-06-30 06:45:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 210,
                "price": 60024.9,
                "color": "#8338ec",
                "dt": "2026-06-30 10:30:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 213,
                "price": 59719.6,
                "color": "#ef476f",
                "dt": "2026-06-30 11:15:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 265,
                "price": 58160.0,
                "color": "#7209b7",
                "dt": "2026-07-01 00:15:00+09:00"
              }
            ]
          },
          {
            "structure_id": "15m_cycle_2",
            "sequence": 2,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 222,
            "end_idx": 294,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 222,
                "price": 59672.1,
                "color": "#ffd166",
                "dt": "2026-06-30 13:30:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 232,
                "price": 59423.3,
                "color": "#06d6a0",
                "dt": "2026-06-30 16:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 244,
                "price": 59403.0,
                "color": "#118ab2",
                "dt": "2026-06-30 19:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 258,
                "price": 58200.0,
                "color": "#ef476f",
                "dt": "2026-06-30 22:30:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 284,
                "price": 58850.0,
                "color": "#f9844a",
                "dt": "2026-07-01 05:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 293,
                "price": 58780.0,
                "color": "#f9844a",
                "dt": "2026-07-01 07:15:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 294,
                "price": 58477.1,
                "color": "#ef476f",
                "dt": "2026-07-01 07:30:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_2",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 2,
        "regime_fitness": 1.0,
        "current_event": "Phase E",
        "major_phase": "E",
        "pos_in_range": 0.5,
        "main_range_low": 60037.0,
        "main_range_high": 60543.3
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.82,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.38,\n  \"setup_signals\": [\n    \"현재가 $58,605.40은 활성 하위 분배 범위 저점 $58,200.00과 고점 $59,672.10의 EQ 약 $58,936.05 아래에 있어 할인권에 위치함\",\n    \"UT $58,850.00 및 UTAD $58,780.00 상단 실패 구간을 아직 회복하지 못해 단기 공급 우위가 남아 있음\",\n    \"직전 SOW $58,477.10 위로는 반등했지만, 이는 구조 전환이 아니라 Phase E 이후 약한 되돌림 가능성으로 해석됨\",\n    \"주요 분배 범위의 BC $60,543.30 / AR $60,037.00 대비 현재가는 명확히 하방 이탈 상태이며, 본래 분배 박스 내부 수용을 회복하지 못함\"\n  ],\n  \"reasoning\": \"지표상 regime은 DIS, regime_state는 confirmed_dis이며, 감지된 체인은 BC $60,543.30 → AR $60,037.00 → UT $60,565.60 → LPSY $60,024.90 → SOW $59,719.60 → Phase E $58,160.00으로 확인된 분배 구조입니다. 활성 구조 15m_cycle_2도 BC $59,672.10 이후 SOW_IN_PHASE_B $58,200.00, UT $58,850.00, UTAD $58,780.00, SOW $58,477.10을 형성해 재분배성 약세가 유지됩니다. 다만 현재가 $58,605.40은 활성 범위 EQ 약 $58,936.05 아래의 할인권이며 SOW $58,477.10 위에서 반등 중이므로, 즉시 추가 하락 셋업은 강하지 않고 $58,780~$58,850 또는 $58,936 재시험 가능성을 열어둬야 합니다. 구조 편향은 명확히 bearish이나, 실행 관점의 setup_bias는 아직 추가 거절 확인 전이라 neutral로 평가합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      58477.1,\n      58200.0,\n      58160.0\n    ],\n    \"resistance\": [\n      58780.0,\n      58850.0,\n      58936.05,\n      59423.3,\n      59672.1,\n      60024.9,\n      60037.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,423.30\",\n  \"risk_scenario\": \"$58,780.00~$58,850.00의 UT/UTAD 공급대를 회복하고, 특히 활성 AR $59,423.30 위에서 15분봉 기준 수용이 확인되면 현재 Phase E 약세 진행은 단기적으로 무효화되고 $59,672.10 또는 $60,024.90 재시험으로 되돌림이 확장될 수 있습니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.53,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "고품질 strict bullish Crab 형성 PRZ 활성: $58,665.96-$59,012.34, D 예상가 $58,839.15, XAD/BC_EXT/ABCD 3중 Fib confluence",
        "하단 고품질 strict bullish Gartley 형성 PRZ 활성: $58,258.80-$58,455.64, D 예상가 $58,357.22, 현재가 $58,605.40 바로 아래의 반등 후보 구간",
        "상단 반대 방향 strict bearish Gartley PRZ 근접: $58,875.49-$59,185.91, D 예상가 $59,030.70로 단기 반등 시 저항/반락 위험 구간",
        "현재가 $58,605.40은 EMA20 $58,605.74와 거의 동일하지만 EMA120 $59,105.55 및 EMA240 $59,451.77 아래에 있어 구조적으로는 아직 약세 우위",
        "확정 반응 PRZ 수 0개, validated TP 0개이므로 harmonic은 아직 구조 전환 신호가 아니라 선행 setup 후보에 한정"
      ],
      "reasoning": "구조 관점에서는 현재가 $58,605.40이 EMA120 $59,105.55와 EMA240 $59,451.77 아래에 있고 24h 변화율도 -2.69%라서 확정 구조는 약세로 읽는다. 다만 setup 관점에서는 최고 점수의 strict high bullish Crab이 $58,665.96-$59,012.34 PRZ에 활성 상태이며 score 0.958, confluence count 3으로 반등 후보 구간이 강하다. 추가로 $58,258.80-$58,455.64의 bullish Gartley PRZ가 바로 아래에 있어 $58.2k-$58.45k는 2차 방어 구간이지만, 아직 confirmed_reaction_prz_count가 0이므로 단독 bullish 전환으로 보기는 어렵다. 위쪽에는 bearish Gartley PRZ $58,875.49-$59,185.91와 bearish Bat PRZ $58,711.23-$59,162.07이 겹쳐 있어 반등이 나오더라도 $58,875-$59,185 구간에서 거절 리스크가 크다.",
      "key_levels": {
        "support": [
          58665.96,
          58455.64,
          58357.22,
          58258.8,
          58160.0
        ],
        "resistance": [
          58875.49,
          59012.34,
          59185.91,
          59370.48,
          59698.9
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$58,160.00",
      "risk_scenario": "$58,875.49-$59,185.91의 bearish Gartley/Bat PRZ에서 15m 또는 1h 거절이 나오면 현재 bullish harmonic setup은 단순 반등 시도로 끝나고 $58,492.61, $58,223.30, 최종 $58,160.00 재시험으로 이어질 수 있다. 반대로 $59,185.91 상단을 회복하고 유지하면 bearish PRZ 방어 실패로 간주되어 bullish Crab의 TP1 $59,167.57, TP2 $59,370.48, A-leg 회귀 목표 $59,698.90까지 반등 여지가 열린다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 103,
        "completed_patterns_found": 36,
        "forming_d_prz_found": 67,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 61,
        "swing_highs_scanned": 30,
        "swing_lows_scanned": 31,
        "timeframe": "15m",
        "prz_active_threshold_pct": 0.3,
        "prz_nearby_threshold_pct": 0.6,
        "prz_watch_threshold_pct": 1.2,
        "prz_max_width_pct": 0.6,
        "quality_counts": {
          "high": 15,
          "medium": 41,
          "low": 47
        },
        "prz_status_counts": {
          "active": 25,
          "nearby": 11,
          "watch": 21,
          "far": 46,
          "forming": 34
        },
        "high_confluence_prz_count": 50,
        "strict_patterns_found": 40,
        "candidate_patterns_found": 63,
        "active_patterns_at_prz": 25,
        "nearby_patterns": 11,
        "all_patterns": [
          "crab",
          "bat",
          "gartley",
          "gartley",
          "crab",
          "bat",
          "shark",
          "crab",
          "bat",
          "crab",
          "gartley",
          "crab",
          "shark",
          "bat",
          "bat",
          "gartley",
          "crab",
          "butterfly",
          "shark",
          "bat",
          "gartley",
          "butterfly",
          "crab",
          "butterfly",
          "shark",
          "butterfly",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "bat",
          "gartley",
          "gartley",
          "butterfly",
          "bat",
          "shark",
          "bat",
          "crab",
          "shark",
          "crab",
          "gartley",
          "gartley",
          "crab",
          "crab",
          "crab",
          "crab",
          "bat",
          "bat",
          "crab",
          "crab",
          "butterfly",
          "bat",
          "butterfly",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "butterfly",
          "shark",
          "gartley",
          "butterfly",
          "gartley",
          "shark",
          "shark",
          "butterfly",
          "gartley",
          "gartley",
          "butterfly",
          "butterfly",
          "gartley",
          "crab",
          "bat",
          "gartley",
          "butterfly",
          "gartley",
          "bat",
          "gartley",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "gartley",
          "crab",
          "crab",
          "gartley",
          "butterfly",
          "shark",
          "shark",
          "butterfly",
          "gartley",
          "gartley",
          "gartley",
          "butterfly",
          "butterfly",
          "gartley",
          "shark",
          "bat",
          "gartley",
          "gartley",
          "bat",
          "crab",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "crab",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.958,
        "best_completion_status": "forming",
        "nearest_pattern": "gartley",
        "nearest_prz": 58584.21,
        "price_to_prz": -0.04,
        "prz_range": [
          58394.97,
          58773.46
        ],
        "council_relevant_prz_count": 3,
        "directional_influence_prz_count": 3,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.958,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58839.15,
            "prz_range": [
              58665.96,
              59012.34
            ],
            "prz_width_pct": 0.589,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.4,
            "price_to_prz_pct_raw": 0.3989,
            "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": 58839.15,
              "a_price": 59698.9,
              "tp1_ad_382": 59167.57,
              "tp2_ad_618": 59370.48,
              "tp3_a_or_structure_liquidity": 59698.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5169,
              "ABC": 0.5766
            },
            "x_price": 60232.1,
            "x_idx": 192,
            "x_order": 5,
            "a_price": 59698.9,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 59423.3,
            "b_idx": 232,
            "b_order": 3,
            "c_price": 59264.4,
            "c_idx": 260,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.92,
            "ratio_score": 0.96,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59030.7,
            "prz_range": [
              58875.49,
              59185.91
            ],
            "prz_width_pct": 0.526,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.73,
            "price_to_prz_pct_raw": 0.7257,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 59030.7,
              "a_price": 58160.0,
              "tp1_ad_382": 58698.09,
              "tp2_ad_618": 58492.61,
              "tp3_a_or_structure_liquidity": 58160.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6248,
              "ABC": 0.5474
            },
            "x_price": 59264.4,
            "x_idx": 260,
            "x_order": 8,
            "a_price": 58160.0,
            "a_idx": 265,
            "a_order": 8,
            "b_price": 58850.0,
            "b_idx": 284,
            "b_order": 8,
            "c_price": 58472.3,
            "c_idx": 289,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.916,
            "ratio_score": 0.909,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58357.22,
            "prz_range": [
              58258.8,
              58455.64
            ],
            "prz_width_pct": 0.337,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.42,
            "price_to_prz_pct_raw": -0.4235,
            "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": 58357.22,
              "a_price": 58850.0,
              "tp1_ad_382": 58545.46,
              "tp2_ad_618": 58661.76,
              "tp3_a_or_structure_liquidity": 58850.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6027,
              "ABC": 0.8147
            },
            "x_price": 58223.3,
            "x_idx": 269,
            "x_order": 3,
            "a_price": 58850.0,
            "a_idx": 284,
            "a_order": 8,
            "b_price": 58472.3,
            "b_idx": 289,
            "b_order": 8,
            "c_price": 58780.0,
            "c_idx": 293,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.906,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59404.26,
            "prz_range": [
              59235.33,
              59573.19
            ],
            "prz_width_pct": 0.569,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.36,
            "price_to_prz_pct_raw": 1.3631,
            "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": "crab",
              "d_price": 59404.26,
              "a_price": 60758.3,
              "tp1_ad_382": 59921.5,
              "tp2_ad_618": 60241.06,
              "tp3_a_or_structure_liquidity": 60758.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6136,
              "ABC": 0.4004
            },
            "x_price": 59900.7,
            "x_idx": 136,
            "x_order": 3,
            "a_price": 60758.3,
            "a_idx": 156,
            "a_order": 8,
            "b_price": 60232.1,
            "b_idx": 192,
            "b_order": 5,
            "c_price": 60021.4,
            "c_idx": 215,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.883,
            "ratio_score": 0.909,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59217.57,
            "prz_range": [
              59050.31,
              59384.83
            ],
            "prz_width_pct": 0.565,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.04,
            "price_to_prz_pct_raw": 1.0446,
            "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": 59217.57,
              "a_price": 60024.9,
              "tp1_ad_382": 59525.97,
              "tp2_ad_618": 59716.5,
              "tp3_a_or_structure_liquidity": 60024.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6027,
              "ABC": 0.4783
            },
            "x_price": 58988.0,
            "x_idx": 165,
            "x_order": 8,
            "a_price": 60024.9,
            "a_idx": 210,
            "a_order": 3,
            "b_price": 59400.0,
            "b_idx": 220,
            "b_order": 3,
            "c_price": 59698.9,
            "c_idx": 229,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.875,
            "ratio_score": 0.994,
            "prz_score": 0.996,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59423.3,
            "prz_range": [
              59251.48,
              59614.17
            ],
            "prz_width_pct": 0.61,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.41,
            "price_to_prz_pct_raw": 1.4119,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.25,
              "reaction_detail": {
                "reaction_score": 0.25,
                "reaction_move_ratio_ad": 0.107,
                "adverse_move_ratio_ad": 0.213,
                "bars_after_d": 12,
                "reasons": [
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59432.83,
              "a_price": 60666.6,
              "tp1_ad_382": 59904.13,
              "tp2_ad_618": 60195.3,
              "tp3_a_or_structure_liquidity": 60666.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5673,
              "ABC": 0.4769,
              "BCD": 2.9035,
              "XAD": 1.6233
            },
            "x_price": 59900.7,
            "x_idx": 136,
            "x_order": 3,
            "a_price": 60666.6,
            "a_idx": 178,
            "a_order": 8,
            "b_price": 60232.1,
            "b_idx": 192,
            "b_order": 5,
            "c_price": 60024.9,
            "c_idx": 210,
            "c_order": 3,
            "d_idx": 232
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.849,
            "ratio_score": 0.641,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58722.54,
            "prz_range": [
              58622.23,
              58822.84
            ],
            "prz_width_pct": 0.342,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.2,
            "price_to_prz_pct_raw": 0.1999,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 58722.54,
              "a_price": 58223.3,
              "tp1_ad_382": 58531.83,
              "tp2_ad_618": 58414.01,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6785,
              "ABC": 0.8252
            },
            "x_price": 58785.6,
            "x_idx": 267,
            "x_order": 3,
            "a_price": 58223.3,
            "a_idx": 269,
            "a_order": 3,
            "b_price": 58604.8,
            "b_idx": 272,
            "b_order": 3,
            "c_price": 58290.0,
            "c_idx": 275,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.932,
            "ratio_score": 1.0,
            "prz_score": 0.936,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58936.65,
            "prz_range": [
              58711.23,
              59162.07
            ],
            "prz_width_pct": 0.765,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.57,
            "price_to_prz_pct_raw": 0.5652,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 58936.65,
              "a_price": 58160.0,
              "tp1_ad_382": 58639.97,
              "tp2_ad_618": 58456.68,
              "tp3_a_or_structure_liquidity": 58160.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4028,
              "ABC": 0.7077
            },
            "x_price": 59264.4,
            "x_idx": 260,
            "x_order": 8,
            "a_price": 58160.0,
            "a_idx": 265,
            "a_order": 8,
            "b_price": 58604.8,
            "b_idx": 272,
            "b_order": 3,
            "c_price": 58290.0,
            "c_idx": 275,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.958,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58839.15,
            "prz_range": [
              58665.96,
              59012.34
            ],
            "prz_width_pct": 0.589,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.4,
            "price_to_prz_pct_raw": 0.3989,
            "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": 58839.15,
              "a_price": 59698.9,
              "tp1_ad_382": 59167.57,
              "tp2_ad_618": 59370.48,
              "tp3_a_or_structure_liquidity": 59698.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5169,
              "ABC": 0.5766
            },
            "x_price": 60232.1,
            "x_idx": 192,
            "x_order": 5,
            "a_price": 59698.9,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 59423.3,
            "b_idx": 232,
            "b_order": 3,
            "c_price": 59264.4,
            "c_idx": 260,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.92,
            "ratio_score": 0.96,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59030.7,
            "prz_range": [
              58875.49,
              59185.91
            ],
            "prz_width_pct": 0.526,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.73,
            "price_to_prz_pct_raw": 0.7257,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 59030.7,
              "a_price": 58160.0,
              "tp1_ad_382": 58698.09,
              "tp2_ad_618": 58492.61,
              "tp3_a_or_structure_liquidity": 58160.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6248,
              "ABC": 0.5474
            },
            "x_price": 59264.4,
            "x_idx": 260,
            "x_order": 8,
            "a_price": 58160.0,
            "a_idx": 265,
            "a_order": 8,
            "b_price": 58850.0,
            "b_idx": 284,
            "b_order": 8,
            "c_price": 58472.3,
            "c_idx": 289,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.916,
            "ratio_score": 0.909,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58357.22,
            "prz_range": [
              58258.8,
              58455.64
            ],
            "prz_width_pct": 0.337,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.42,
            "price_to_prz_pct_raw": -0.4235,
            "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": 58357.22,
              "a_price": 58850.0,
              "tp1_ad_382": 58545.46,
              "tp2_ad_618": 58661.76,
              "tp3_a_or_structure_liquidity": 58850.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6027,
              "ABC": 0.8147
            },
            "x_price": 58223.3,
            "x_idx": 269,
            "x_order": 3,
            "a_price": 58850.0,
            "a_idx": 284,
            "a_order": 8,
            "b_price": 58472.3,
            "b_idx": 289,
            "b_order": 8,
            "c_price": 58780.0,
            "c_idx": 293,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.958,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58839.15,
            "prz_range": [
              58665.96,
              59012.34
            ],
            "prz_width_pct": 0.589,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.4,
            "price_to_prz_pct_raw": 0.3989,
            "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": 58839.15,
              "a_price": 59698.9,
              "tp1_ad_382": 59167.57,
              "tp2_ad_618": 59370.48,
              "tp3_a_or_structure_liquidity": 59698.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5169,
              "ABC": 0.5766
            },
            "x_price": 60232.1,
            "x_idx": 192,
            "x_order": 5,
            "a_price": 59698.9,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 59423.3,
            "b_idx": 232,
            "b_order": 3,
            "c_price": 59264.4,
            "c_idx": 260,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.92,
            "ratio_score": 0.96,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59030.7,
            "prz_range": [
              58875.49,
              59185.91
            ],
            "prz_width_pct": 0.526,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.73,
            "price_to_prz_pct_raw": 0.7257,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 59030.7,
              "a_price": 58160.0,
              "tp1_ad_382": 58698.09,
              "tp2_ad_618": 58492.61,
              "tp3_a_or_structure_liquidity": 58160.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6248,
              "ABC": 0.5474
            },
            "x_price": 59264.4,
            "x_idx": 260,
            "x_order": 8,
            "a_price": 58160.0,
            "a_idx": 265,
            "a_order": 8,
            "b_price": 58850.0,
            "b_idx": 284,
            "b_order": 8,
            "c_price": 58472.3,
            "c_idx": 289,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.916,
            "ratio_score": 0.909,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58357.22,
            "prz_range": [
              58258.8,
              58455.64
            ],
            "prz_width_pct": 0.337,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.42,
            "price_to_prz_pct_raw": -0.4235,
            "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": 58357.22,
              "a_price": 58850.0,
              "tp1_ad_382": 58545.46,
              "tp2_ad_618": 58661.76,
              "tp3_a_or_structure_liquidity": 58850.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6027,
              "ABC": 0.8147
            },
            "x_price": 58223.3,
            "x_idx": 269,
            "x_order": 3,
            "a_price": 58850.0,
            "a_idx": 284,
            "a_order": 8,
            "b_price": 58472.3,
            "b_idx": 289,
            "b_order": 8,
            "c_price": 58780.0,
            "c_idx": 293,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.906,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59404.26,
            "prz_range": [
              59235.33,
              59573.19
            ],
            "prz_width_pct": 0.569,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.36,
            "price_to_prz_pct_raw": 1.3631,
            "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": "crab",
              "d_price": 59404.26,
              "a_price": 60758.3,
              "tp1_ad_382": 59921.5,
              "tp2_ad_618": 60241.06,
              "tp3_a_or_structure_liquidity": 60758.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6136,
              "ABC": 0.4004
            },
            "x_price": 59900.7,
            "x_idx": 136,
            "x_order": 3,
            "a_price": 60758.3,
            "a_idx": 156,
            "a_order": 8,
            "b_price": 60232.1,
            "b_idx": 192,
            "b_order": 5,
            "c_price": 60021.4,
            "c_idx": 215,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.883,
            "ratio_score": 0.909,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59217.57,
            "prz_range": [
              59050.31,
              59384.83
            ],
            "prz_width_pct": 0.565,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.04,
            "price_to_prz_pct_raw": 1.0446,
            "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": 59217.57,
              "a_price": 60024.9,
              "tp1_ad_382": 59525.97,
              "tp2_ad_618": 59716.5,
              "tp3_a_or_structure_liquidity": 60024.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6027,
              "ABC": 0.4783
            },
            "x_price": 58988.0,
            "x_idx": 165,
            "x_order": 8,
            "a_price": 60024.9,
            "a_idx": 210,
            "a_order": 3,
            "b_price": 59400.0,
            "b_idx": 220,
            "b_order": 3,
            "c_price": 59698.9,
            "c_idx": 229,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.875,
            "ratio_score": 0.994,
            "prz_score": 0.996,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59423.3,
            "prz_range": [
              59251.48,
              59614.17
            ],
            "prz_width_pct": 0.61,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.41,
            "price_to_prz_pct_raw": 1.4119,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_center_reclaimed_or_rejected"
              ],
              "reaction_score": 0.25,
              "reaction_detail": {
                "reaction_score": 0.25,
                "reaction_move_ratio_ad": 0.107,
                "adverse_move_ratio_ad": 0.213,
                "bars_after_d": 12,
                "reasons": [
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59432.83,
              "a_price": 60666.6,
              "tp1_ad_382": 59904.13,
              "tp2_ad_618": 60195.3,
              "tp3_a_or_structure_liquidity": 60666.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5673,
              "ABC": 0.4769,
              "BCD": 2.9035,
              "XAD": 1.6233
            },
            "x_price": 59900.7,
            "x_idx": 136,
            "x_order": 3,
            "a_price": 60666.6,
            "a_idx": 178,
            "a_order": 8,
            "b_price": 60232.1,
            "b_idx": 192,
            "b_order": 5,
            "c_price": 60024.9,
            "c_idx": 210,
            "c_order": 3,
            "d_idx": 232
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.849,
            "ratio_score": 0.641,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58722.54,
            "prz_range": [
              58622.23,
              58822.84
            ],
            "prz_width_pct": 0.342,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.2,
            "price_to_prz_pct_raw": 0.1999,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 58722.54,
              "a_price": 58223.3,
              "tp1_ad_382": 58531.83,
              "tp2_ad_618": 58414.01,
              "tp3_a_or_structure_liquidity": 58223.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6785,
              "ABC": 0.8252
            },
            "x_price": 58785.6,
            "x_idx": 267,
            "x_order": 3,
            "a_price": 58223.3,
            "a_idx": 269,
            "a_order": 3,
            "b_price": 58604.8,
            "b_idx": 272,
            "b_order": 3,
            "c_price": 58290.0,
            "c_idx": 275,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.932,
            "ratio_score": 1.0,
            "prz_score": 0.936,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58936.65,
            "prz_range": [
              58711.23,
              59162.07
            ],
            "prz_width_pct": 0.765,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.57,
            "price_to_prz_pct_raw": 0.5652,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 58936.65,
              "a_price": 58160.0,
              "tp1_ad_382": 58639.97,
              "tp2_ad_618": 58456.68,
              "tp3_a_or_structure_liquidity": 58160.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4028,
              "ABC": 0.7077
            },
            "x_price": 59264.4,
            "x_idx": 260,
            "x_order": 8,
            "a_price": 58160.0,
            "a_idx": 265,
            "a_order": 8,
            "b_price": 58604.8,
            "b_idx": 272,
            "b_order": 3,
            "c_price": 58290.0,
            "c_idx": 275,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.899,
            "ratio_score": 1.0,
            "prz_score": 0.877,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 58221.88,
            "prz_range": [
              57955.27,
              58488.49
            ],
            "prz_width_pct": 0.916,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.65,
            "price_to_prz_pct_raw": -0.6544,
            "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": 58221.88,
              "a_price": 58604.8,
              "tp1_ad_382": 58368.15,
              "tp2_ad_618": 58458.52,
              "tp3_a_or_structure_liquidity": 58604.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.568,
              "ABC": 1.5565
            },
            "x_price": 59159.0,
            "x_idx": 239,
            "x_order": 8,
            "a_price": 58604.8,
            "a_idx": 272,
            "a_order": 3,
            "b_price": 58290.0,
            "b_idx": 275,
            "b_order": 3,
            "c_price": 58780.0,
            "c_idx": 293,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.88,
            "ratio_score": 0.977,
            "prz_score": 0.929,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 59245.23,
            "prz_range": [
              59013.4,
              59477.05
            ],
            "prz_width_pct": 0.783,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.09,
            "price_to_prz_pct_raw": 1.0918,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 59245.23,
              "a_price": 58290.0,
              "tp1_ad_382": 58880.33,
              "tp2_ad_618": 58654.9,
              "tp3_a_or_structure_liquidity": 58290.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5031,
              "ABC": 0.6659
            },
            "x_price": 59403.0,
            "x_idx": 244,
            "x_order": 5,
            "a_price": 58290.0,
            "a_idx": 275,
            "a_order": 3,
            "b_price": 58850.0,
            "b_idx": 284,
            "b_order": 8,
            "c_price": 58477.1,
            "c_idx": 294,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.877,
            "ratio_score": 0.876,
            "prz_score": 0.953,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59037.44,
            "prz_range": [
              58824.78,
              59250.1
            ],
            "prz_width_pct": 0.72,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.74,
            "price_to_prz_pct_raw": 0.7372,
            "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": 59037.44,
              "a_price": 59698.9,
              "tp1_ad_382": 59290.12,
              "tp2_ad_618": 59446.22,
              "tp3_a_or_structure_liquidity": 59698.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5169,
              "ABC": 0.5766
            },
            "x_price": 60232.1,
            "x_idx": 192,
            "x_order": 5,
            "a_price": 59698.9,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 59423.3,
            "b_idx": 232,
            "b_order": 3,
            "c_price": 59264.4,
            "c_idx": 260,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.853,
            "ratio_score": 0.811,
            "prz_score": 0.951,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59038.89,
            "prz_range": [
              58824.78,
              59253.0
            ],
            "prz_width_pct": 0.725,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.74,
            "price_to_prz_pct_raw": 0.7397,
            "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": 59038.89,
              "a_price": 59698.9,
              "tp1_ad_382": 59291.01,
              "tp2_ad_618": 59446.78,
              "tp3_a_or_structure_liquidity": 59698.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7455,
              "ABC": 0.5766
            },
            "x_price": 59329.2,
            "x_idx": 224,
            "x_order": 8,
            "a_price": 59698.9,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 59423.3,
            "b_idx": 232,
            "b_order": 3,
            "c_price": 59264.4,
            "c_idx": 260,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.958,
            "prz_proximity": "active",
            "prz_range": [
              58665.96,
              59012.34
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.4,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 58839.15,
              "a_price": 59698.9,
              "tp1_ad_382": 59167.57,
              "tp2_ad_618": 59370.48,
              "tp3_a_or_structure_liquidity": 59698.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "CRAB FORMING HIGH PRZ $58,665.96-$59,012.34: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.92,
            "prz_proximity": "nearby",
            "prz_range": [
              58875.49,
              59185.91
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.73,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 59030.7,
              "a_price": 58160.0,
              "tp1_ad_382": 58698.09,
              "tp2_ad_618": 58492.61,
              "tp3_a_or_structure_liquidity": 58160.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $58,875.49-$59,185.91: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.916,
            "prz_proximity": "active",
            "prz_range": [
              58258.8,
              58455.64
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.42,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 58357.22,
              "a_price": 58850.0,
              "tp1_ad_382": 58545.46,
              "tp2_ad_618": 58661.76,
              "tp3_a_or_structure_liquidity": 58850.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $58,258.80-$58,455.64: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "crab",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.958,
          "ratio_score": 1.0,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 58839.15,
          "prz_range": [
            58665.96,
            59012.34
          ],
          "prz_width_pct": 0.589,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 0.4,
          "price_to_prz_pct_raw": 0.3989,
          "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": 58839.15,
            "a_price": 59698.9,
            "tp1_ad_382": 59167.57,
            "tp2_ad_618": 59370.48,
            "tp3_a_or_structure_liquidity": 59698.9,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.5169,
            "ABC": 0.5766
          },
          "x_price": 60232.1,
          "x_idx": 192,
          "x_order": 5,
          "a_price": 59698.9,
          "a_idx": 229,
          "a_order": 8,
          "b_price": 59423.3,
          "b_idx": 232,
          "b_order": 3,
          "c_price": 59264.4,
          "c_idx": 260,
          "c_order": 8,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "crab",
          "d_price": 58839.15,
          "a_price": 59698.9,
          "tp1_ad_382": 59167.57,
          "tp2_ad_618": 59370.48,
          "tp3_a_or_structure_liquidity": 59698.9,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 58839.15,
            "a_price": 59698.9,
            "tp1_ad_382": 59167.57,
            "tp2_ad_618": 59370.48,
            "tp3_a_or_structure_liquidity": 59698.9,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "gartley",
            "d_price": 59030.7,
            "a_price": 58160.0,
            "tp1_ad_382": 58698.09,
            "tp2_ad_618": 58492.61,
            "tp3_a_or_structure_liquidity": 58160.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 58357.22,
            "a_price": 58850.0,
            "tp1_ad_382": 58545.46,
            "tp2_ad_618": 58661.76,
            "tp3_a_or_structure_liquidity": 58850.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 0.397,
          "bearish": 0.136
        },
        "directional_score_total": 0.533,
        "directional_dominance": 0.488
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.53,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"고품질 strict bullish Crab 형성 PRZ 활성: $58,665.96-$59,012.34, D 예상가 $58,839.15, XAD/BC_EXT/ABCD 3중 Fib confluence\",\n    \"하단 고품질 strict bullish Gartley 형성 PRZ 활성: $58,258.80-$58,455.64, D 예상가 $58,357.22, 현재가 $58,605.40 바로 아래의 반등 후보 구간\",\n    \"상단 반대 방향 strict bearish Gartley PRZ 근접: $58,875.49-$59,185.91, D 예상가 $59,030.70로 단기 반등 시 저항/반락 위험 구간\",\n    \"현재가 $58,605.40은 EMA20 $58,605.74와 거의 동일하지만 EMA120 $59,105.55 및 EMA240 $59,451.77 아래에 있어 구조적으로는 아직 약세 우위\",\n    \"확정 반응 PRZ 수 0개, validated TP 0개이므로 harmonic은 아직 구조 전환 신호가 아니라 선행 setup 후보에 한정\"\n  ],\n  \"reasoning\": \"구조 관점에서는 현재가 $58,605.40이 EMA120 $59,105.55와 EMA240 $59,451.77 아래에 있고 24h 변화율도 -2.69%라서 확정 구조는 약세로 읽는다. 다만 setup 관점에서는 최고 점수의 strict high bullish Crab이 $58,665.96-$59,012.34 PRZ에 활성 상태이며 score 0.958, confluence count 3으로 반등 후보 구간이 강하다. 추가로 $58,258.80-$58,455.64의 bullish Gartley PRZ가 바로 아래에 있어 $58.2k-$58.45k는 2차 방어 구간이지만, 아직 confirmed_reaction_prz_count가 0이므로 단독 bullish 전환으로 보기는 어렵다. 위쪽에는 bearish Gartley PRZ $58,875.49-$59,185.91와 bearish Bat PRZ $58,711.23-$59,162.07이 겹쳐 있어 반등이 나오더라도 $58,875-$59,185 구간에서 거절 리스크가 크다.\",\n  \"key_levels\": {\n    \"support\": [\n      58665.96,\n      58455.64,\n      58357.22,\n      58258.8,\n      58160.0\n    ],\n    \"resistance\": [\n      58875.49,\n      59012.34,\n      59185.91,\n      59370.48,\n      59698.9\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$58,160.00\",\n  \"risk_scenario\": \"$58,875.49-$59,185.91의 bearish Gartley/Bat PRZ에서 15m 또는 1h 거절이 나오면 현재 bullish harmonic setup은 단순 반등 시도로 끝나고 $58,492.61, $58,223.30, 최종 $58,160.00 재시험으로 이어질 수 있다. 반대로 $59,185.91 상단을 회복하고 유지하면 bearish PRZ 방어 실패로 간주되어 bullish Crab의 TP1 $59,167.57, TP2 $59,370.48, A-leg 회귀 목표 $59,698.90까지 반등 여지가 열린다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.76,
    "execution_setup": {
      "setup_bias": "bullish",
      "setup_strength": 0.62,
      "active_setups": [
        "피보나치 0.618 골든비율 지지 $58,589.84 테스트 중이며 현재가 $58,605.40와 0.03% 거리",
        "현재가가 단기 스윙 EQ $58,626.15 아래의 discount 구간에 위치",
        "캔들상 $58,160.00 7일 저점 근처에서 bullish engulfing 후보 2개 및 $58,600 부근 doji 연속 출현",
        "하모닉 strict high bullish Crab PRZ $58,665.96-$59,012.34 활성, 다만 반응 확인 전 후보성 신호",
        "하단 strict high bullish Gartley PRZ $58,258.80-$58,455.64가 2차 방어 후보 구간",
        "반대 방향으로 $58,875.49-$59,185.91 bearish Gartley PRZ 및 $58,711.23-$59,162.07 bearish Bat PRZ가 겹쳐 반등 시 저항 조건 존재"
      ],
      "setup_vs_structure": "구조는 명확히 bearish이나, 실행 셋업은 단기 discount·피보나치 0.618·하모닉 bullish PRZ·저점권 캔들 둔화가 겹치며 bullish 반응 후보가 우세하다. 이는 구조적 하락장 안의 반등 후보 조건이며, 구조 전환으로 보려면 $59,329.20-$59,600 회복과 파생/시장구조 확인이 필요하다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 3,
      "neutral_count": 2
    },
    "key_levels": {
      "support": [
        58589.84,
        58538.15,
        58477.1,
        58455.64,
        58258.8,
        58200.0,
        58160.0,
        57800.0
      ],
      "resistance": [
        58626.15,
        58662.46,
        58707.38,
        58780.0,
        58850.0,
        58936.05,
        59105.55,
        59329.2,
        59451.77,
        59600.0
      ]
    },
    "confluences": [
      "ICT와 Wyckoff가 모두 $58,200.00 이전일 저점 및 $58,160.00 7일 저점을 핵심 sell-side liquidity / 구조 저점으로 식별한다.",
      "Candlestick, Derivatives, ICT, Harmonic 모두 현재가가 EMA120 $59,105.55 및 EMA240 $59,451.77 아래에 있어 상위 구조가 아직 bearish임에 동의한다.",
      "Wyckoff의 UTAD $58,780.00, ICT의 London high $58,780.00, Fibonacci의 스윙 고점 $58,780.00이 동일 가격대에 겹쳐 단기 구조 저항으로 작동한다.",
      "Wyckoff의 UT $58,850.00과 Harmonic bearish Gartley PRZ $58,875.49-$59,185.91, bearish Bat PRZ $58,711.23-$59,162.07이 겹쳐 $58,850-$59,185 구간은 반등 시 공급 확인 구간이다.",
      "Fibonacci 0.618 지지 $58,589.84, Candlestick EMA20 $58,605.74, 현재가 $58,605.40이 거의 동일 구간에 있어 $58,590-$58,606은 단기 균형·반응 구간이다.",
      "Wyckoff SOW $58,477.10, ICT London low $58,477.10, Harmonic 하단 bullish PRZ $58,258.80-$58,455.64가 근접해 $58,455-$58,477은 하단 방어 후보 구간이다.",
      "Derivatives의 가장 가까운 하방 청산 클러스터 $57,800은 구조 저점 $58,160.00 이탈 시 유동성 리스크로 별도 확인된다."
    ],
    "conflicts": [
      "구조 진단과 실행 셋업이 충돌한다: Wyckoff, ICT, Derivatives는 bearish 구조를 강하게 제시하지만 Fibonacci, Candlestick, Harmonic은 현재가가 discount와 PRZ에 있어 단기 bullish 반응 후보를 제시한다.",
      "Harmonic은 최고 점수 strict bullish Crab PRZ $58,665.96-$59,012.34를 제시하지만, 같은 상단 구간에 bearish Gartley $58,875.49-$59,185.91 및 bearish Bat $58,711.23-$59,162.07도 존재해 하모닉 내부에서도 방향성이 혼재한다.",
      "Fibonacci는 $58,589.84 0.618 반응 가능성을 bullish로 평가하지만, ICT는 이미 $58,200.00 이전일 저점이 깨졌고 CHoCH_bearish $59,712.80 이후 BOS_bearish $59,329.20가 발생해 구조적으로는 매도 우위라고 본다.",
      "Candlestick의 bullish engulfing은 후보 등급이고 고거래량 확인이 없어, Derivatives의 OI 증가 + CVD 감소 + 롱 계정 과밀이라는 bearish 포지셔닝 신호와 충돌한다."
    ],
    "executive_summary": "현재 BTC 15분 구조는 confirmed distribution 이후 하위 재분배 구조가 진행 중인 bearish regime으로 판단된다. 이전 큰 분배 사이클은 Phase E 저점 $58,160.00까지 진행된 뒤, 현재는 하위 구조에서 BC $59,672.10 이후 UT $58,850.00, UTAD $58,780.00, SOW $58,477.10이 확인된 상태이며 가격은 활성 범위 EQ 약 $58,936.05 아래 discount에 있다. 구조적으로는 $59,105.55 EMA120 및 $59,451.77 EMA240 아래 수용, ICT의 CHoCH_bearish $59,712.80 이후 BOS_bearish $59,329.20, 그리고 $58,200.00 이전일 저점 훼손이 매도 우위 조건이다. 다만 실행 조건은 $58,589.84 피보나치 0.618, $58,600 부근 캔들 균형, 하모닉 bullish PRZ가 겹쳐 단기 반응 후보가 존재하며 이는 구조 전환이 아니라 하락 구조 내부의 반등 리스크로 분류한다. 구조적 bearish 진단은 $59,600 위 수용이 발생할 경우 약화되며, 그 전까지 $58,780-$59,185 및 $59,329-$59,600 구간은 공급 확인과 무효화 판단의 핵심 저항대다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.76,\n  \"execution_setup\": {\n    \"setup_bias\": \"bullish\",\n    \"setup_strength\": 0.62,\n    \"active_setups\": [\n      \"피보나치 0.618 골든비율 지지 $58,589.84 테스트 중이며 현재가 $58,605.40와 0.03% 거리\",\n      \"현재가가 단기 스윙 EQ $58,626.15 아래의 discount 구간에 위치\",\n      \"캔들상 $58,160.00 7일 저점 근처에서 bullish engulfing 후보 2개 및 $58,600 부근 doji 연속 출현\",\n      \"하모닉 strict high bullish Crab PRZ $58,665.96-$59,012.34 활성, 다만 반응 확인 전 후보성 신호\",\n      \"하단 strict high bullish Gartley PRZ $58,258.80-$58,455.64가 2차 방어 후보 구간\",\n      \"반대 방향으로 $58,875.49-$59,185.91 bearish Gartley PRZ 및 $58,711.23-$59,162.07 bearish Bat PRZ가 겹쳐 반등 시 저항 조건 존재\"\n    ],\n    \"setup_vs_structure\": \"구조는 명확히 bearish이나, 실행 셋업은 단기 discount·피보나치 0.618·하모닉 bullish PRZ·저점권 캔들 둔화가 겹치며 bullish 반응 후보가 우세하다. 이는 구조적 하락장 안의 반등 후보 조건이며, 구조 전환으로 보려면 $59,329.20-$59,600 회복과 파생/시장구조 확인이 필요하다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 3,\n    \"neutral_count\": 2\n  },\n  \"key_levels\": {\n    \"support\": [\n      58589.84,\n      58538.15,\n      58477.1,\n      58455.64,\n      58258.8,\n      58200.0,\n      58160.0,\n      57800.0\n    ],\n    \"resistance\": [\n      58626.15,\n      58662.46,\n      58707.38,\n      58780.0,\n      58850.0,\n      58936.05,\n      59105.55,\n      59329.2,\n      59451.77,\n      59600.0\n    ]\n  },\n  \"confluences\": [\n    \"ICT와 Wyckoff가 모두 $58,200.00 이전일 저점 및 $58,160.00 7일 저점을 핵심 sell-side liquidity / 구조 저점으로 식별한다.\",\n    \"Candlestick, Derivatives, ICT, Harmonic 모두 현재가가 EMA120 $59,105.55 및 EMA240 $59,451.77 아래에 있어 상위 구조가 아직 bearish임에 동의한다.\",\n    \"Wyckoff의 UTAD $58,780.00, ICT의 London high $58,780.00, Fibonacci의 스윙 고점 $58,780.00이 동일 가격대에 겹쳐 단기 구조 저항으로 작동한다.\",\n    \"Wyckoff의 UT $58,850.00과 Harmonic bearish Gartley PRZ $58,875.49-$59,185.91, bearish Bat PRZ $58,711.23-$59,162.07이 겹쳐 $58,850-$59,185 구간은 반등 시 공급 확인 구간이다.\",\n    \"Fibonacci 0.618 지지 $58,589.84, Candlestick EMA20 $58,605.74, 현재가 $58,605.40이 거의 동일 구간에 있어 $58,590-$58,606은 단기 균형·반응 구간이다.\",\n    \"Wyckoff SOW $58,477.10, ICT London low $58,477.10, Harmonic 하단 bullish PRZ $58,258.80-$58,455.64가 근접해 $58,455-$58,477은 하단 방어 후보 구간이다.\",\n    \"Derivatives의 가장 가까운 하방 청산 클러스터 $57,800은 구조 저점 $58,160.00 이탈 시 유동성 리스크로 별도 확인된다.\"\n  ],\n  \"conflicts\": [\n    \"구조 진단과 실행 셋업이 충돌한다: Wyckoff, ICT, Derivatives는 bearish 구조를 강하게 제시하지만 Fibonacci, Candlestick, Harmonic은 현재가가 discount와 PRZ에 있어 단기 bullish 반응 후보를 제시한다.\",\n    \"Harmonic은 최고 점수 strict bullish Crab PRZ $58,665.96-$59,012.34를 제시하지만, 같은 상단 구간에 bearish Gartley $58,875.49-$59,185.91 및 bearish Bat $58,711.23-$59,162.07도 존재해 하모닉 내부에서도 방향성이 혼재한다.\",\n    \"Fibonacci는 $58,589.84 0.618 반응 가능성을 bullish로 평가하지만, ICT는 이미 $58,200.00 이전일 저점이 깨졌고 CHoCH_bearish $59,712.80 이후 BOS_bearish $59,329.20가 발생해 구조적으로는 매도 우위라고 본다.\",\n    \"Candlestick의 bullish engulfing은 후보 등급이고 고거래량 확인이 없어, Derivatives의 OI 증가 + CVD 감소 + 롱 계정 과밀이라는 bearish 포지셔닝 신호와 충돌한다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 신뢰도 82%로 가장 높고, BC $60,543.30 → AR $60,037.00 → UT $60,565.60 → LPSY $60,024.90 → SOW $59,719.60 → Phase E $58,160.00의 확인된 분배 체인을 제시했다. 또한 현재 활성 하위 구조에서도 BC $59,672.10 이후 UT $58,850.00, UTAD $58,780.00, SOW $58,477.10이 형성되어 재분배성 bearish 구조라는 진단이 ICT의 bearish CHoCH/BOS 및 파생 포지셔닝과 정합적이다.\",\n  \"invalidation_level\": \"$59,600 상방 수용. 이 구간은 EMA240 $59,451.77, ICT bearish BOS 기준 $59,329.20 상단, Derivatives의 상방 청산 트리거 $59,600이 겹치는 구조 무효화 기준이다.\",\n  \"executive_summary\": \"현재 BTC 15분 구조는 confirmed distribution 이후 하위 재분배 구조가 진행 중인 bearish regime으로 판단된다. 이전 큰 분배 사이클은 Phase E 저점 $58,160.00까지 진행된 뒤, 현재는 하위 구조에서 BC $59,672.10 이후 UT $58,850.00, UTAD $58,780.00, SOW $58,477.10이 확인된 상태이며 가격은 활성 범위 EQ 약 $58,936.05 아래 discount에 있다. 구조적으로는 $59,105.55 EMA120 및 $59,451.77 EMA240 아래 수용, ICT의 CHoCH_bearish $59,712.80 이후 BOS_bearish $59,329.20, 그리고 $58,200.00 이전일 저점 훼손이 매도 우위 조건이다. 다만 실행 조건은 $58,589.84 피보나치 0.618, $58,600 부근 캔들 균형, 하모닉 bullish PRZ가 겹쳐 단기 반응 후보가 존재하며 이는 구조 전환이 아니라 하락 구조 내부의 반등 리스크로 분류한다. 구조적 bearish 진단은 $59,600 위 수용이 발생할 경우 약화되며, 그 전까지 $58,780-$59,185 및 $59,329-$59,600 구간은 공급 확인과 무효화 판단의 핵심 저항대다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.76,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.58,
    "waypoints": [
      {
        "seq": 1,
        "price": 58780.0,
        "type": "resistance_test",
        "source": "Wyckoff UTAD $58,780 / ICT London high $58,780 / Fibonacci 스윙 고점 $58,780 / Harmonic bullish Crab PRZ 상단·bearish Gartley PRZ 하단",
        "description": "실행 셋업이 bullish(62%, strength≥0.5)로 구조 bearish와 충돌하므로 첫 waypoint는 셋업 방향(상방) 반등. 현재가 $58,605.40이 피보나치 0.618 $58,589.84를 방어하며 $58,668 피보나치 컨플루언스(strict, 1.0)를 통과, UTAD·London high·스윙 고점이 겹치는 삼중 공급 $58,780에서 거절 예상. 이는 상단 harmonic bearish Gartley($58,875-$59,185)·Bat PRZ 진입 직전의 첫 공급 확인 구간으로, 구조 전환이 아닌 하락장 내부 반등 후보.",
        "est_hours": 4.0,
        "turning_zone": [
          58780.0,
          58850.0
        ],
        "likely_wick": 58820.0,
        "rejection_confirm": 58662.46,
        "invalid_overshoot": 58900.0,
        "calibration_reasoning": "스윙 고점·UTAD·London high 삼중 공급 $58,780을 존 하단으로, 상단은 Chairman 저항 $58,850(strict crab PRZ $58,839.15가 컨플루언스로 중첩되나 pre-confirmation이라 waypoint 이동엔 미사용)로 마감해 폭 $70(≈0.48 ATR); likely_wick는 스윙 고점 위 스톱 확보 후 PRZ 직전 $58,820, fib 0.382 $58,662 이탈 시 거절 확인, $58,900(상단 harmonic Gartley 하한) 돌파 시 무효."
      },
      {
        "seq": 2,
        "price": 58477.1,
        "type": "support_test",
        "source": "Wyckoff SOW $58,477.10 / ICT London low $58,477.10 / Fibonacci 0.786 $58,538.15 이탈",
        "description": "$58,780 공급 거절 후 구조적 bearish 재개. Fibonacci Analyst 기준 ret_0.786 $58,538.15 하향 이탈 시 골든비율 반등 셋업 실패가 확정되며, Wyckoff SOW·ICT London low가 겹치는 $58,477.10 하단 방어 구간 재시험. EMA120 $59,105.55·EMA240 $59,451.77 아래 수용이 유지되는 매도 우위 흐름.",
        "est_hours": 8.0,
        "turning_zone": [
          58428.0,
          58477.1
        ],
        "likely_wick": 58450.0,
        "rejection_confirm": 58538.15,
        "invalid_overshoot": 58357.22,
        "calibration_reasoning": "Chairman 지지 $58,455.64와 스윙 저점 $58,472 바로 아래 스톱 확보를 반영해 존 하단 $58,428(≈0.33 ATR); likely_wick $58,450, ret_0.786 $58,538 회복 시 방어 성공(반등) 확인, 아래 gartley PRZ 셸프 $58,357 이탈 시 지지 상실로 무효화(WP3 연장)."
      },
      {
        "seq": 3,
        "price": 58160.0,
        "type": "liquidity_sweep",
        "source": "Wyckoff Phase E 저점 $58,160 / ICT 7일 저점·sell-side liquidity $58,160 / $58,200 이전일 저점(1차 훼손)",
        "description": "$58,477.10 상실 시 이미 1차 훼손된 이전일 저점 $58,200과 7일 저점·Phase E 저점 $58,160의 sell-side 유동성 재공격. ICT·Wyckoff가 공통으로 지목한 핵심 구조 저점으로, 이 구간에서 유동성 소거가 진행됨.",
        "est_hours": 15.0,
        "turning_zone": [
          58090.0,
          58160.0
        ],
        "likely_wick": 58110.0,
        "rejection_confirm": 58200.0,
        "invalid_overshoot": 58050.0,
        "calibration_reasoning": "하방 sell-side 스윕(하락 타깃)이므로 존을 base 아래로 확장; 7일·Phase E 저점 $58,160 아래 유동성 소거와 라운드 $58,100 자석을 반영해 존 [58,090, 58,160](≈0.48 ATR), likely_wick $58,110(≈0.3 ATR 관통); 이전일 저점 $58,200 회복 시 스윕 반전 확인, $58,050 이탈 시 $57,800로 연장."
      },
      {
        "seq": 4,
        "price": 57800.0,
        "type": "extension",
        "source": "Derivatives 최근접 하방 청산 클러스터 $57,800 / long_account_ratio 0.740·crowding 1.0",
        "description": "$58,160 구조 저점 하향 이탈 시 파생 롱 과밀(비율 0.740, crowding 1.0)의 반대매매성 청산 연쇄로 최근접 청산 클러스터 $57,800까지 확장. OI +6.33% 대비 CVD -10,493의 약한 실매수 구조가 하방 가속을 뒷받침.",
        "est_hours": 23.0,
        "turning_zone": [
          57690.0,
          57800.0
        ],
        "likely_wick": 57720.0,
        "rejection_confirm": 57900.0,
        "invalid_overshoot": 57650.0,
        "calibration_reasoning": "터미널 하방 익스텐션으로 존을 넓게 [57,690, 57,800](≈0.75 ATR); 최근접 청산 클러스터 $57,800 하향 관통 + 라운드 $57,700 자석으로 likely_wick $57,720, $57,900 회복 시 반전 확인, $57,650(라운드 $57,700 하향 이탈) 붕괴 시 추가 캐스케이드로 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 58780.0,
        "expected_low": 58589.0,
        "high_first": false
      },
      "8h": {
        "expected_high": 58780.0,
        "expected_low": 58477.1,
        "high_first": true
      },
      "24h": {
        "expected_high": 58780.0,
        "expected_low": 57800.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 59329.2,
        "description": "BOS_bearish $59,329.20 재탈환 후 EMA240 $59,451.77·$59,600 상방 수용 시 구조적 약세가 약화·무효화. 숏 커버링과 함께 $60,700-$60,800 상단 유동성까지 squeeze 가능."
      },
      "bearish": {
        "price": 58160.0,
        "description": "7일 저점·Phase E 저점 $58,160 하향 이탈 시 sell-side 유동성 소거 및 롱 청산 연쇄로 $57,800 청산 클러스터까지 하방 가속."
      }
    },
    "scenario_invalidation": 59600.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.58,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 58780.0,\n      \"type\": \"resistance_test\",\n      \"source\": \"Wyckoff UTAD $58,780 / ICT London high $58,780 / Fibonacci 스윙 고점 $58,780 / Harmonic bullish Crab PRZ 상단·bearish Gartley PRZ 하단\",\n      \"description\": \"실행 셋업이 bullish(62%, strength≥0.5)로 구조 bearish와 충돌하므로 첫 waypoint는 셋업 방향(상방) 반등. 현재가 $58,605.40이 피보나치 0.618 $58,589.84를 방어하며 $58,668 피보나치 컨플루언스(strict, 1.0)를 통과, UTAD·London high·스윙 고점이 겹치는 삼중 공급 $58,780에서 거절 예상. 이는 상단 harmonic bearish Gartley($58,875-$59,185)·Bat PRZ 진입 직전의 첫 공급 확인 구간으로, 구조 전환이 아닌 하락장 내부 반등 후보.\",\n      \"est_hours\": 4.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 58477.1,\n      \"type\": \"support_test\",\n      \"source\": \"Wyckoff SOW $58,477.10 / ICT London low $58,477.10 / Fibonacci 0.786 $58,538.15 이탈\",\n      \"description\": \"$58,780 공급 거절 후 구조적 bearish 재개. Fibonacci Analyst 기준 ret_0.786 $58,538.15 하향 이탈 시 골든비율 반등 셋업 실패가 확정되며, Wyckoff SOW·ICT London low가 겹치는 $58,477.10 하단 방어 구간 재시험. EMA120 $59,105.55·EMA240 $59,451.77 아래 수용이 유지되는 매도 우위 흐름.\",\n      \"est_hours\": 8.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 58160.0,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Wyckoff Phase E 저점 $58,160 / ICT 7일 저점·sell-side liquidity $58,160 / $58,200 이전일 저점(1차 훼손)\",\n      \"description\": \"$58,477.10 상실 시 이미 1차 훼손된 이전일 저점 $58,200과 7일 저점·Phase E 저점 $58,160의 sell-side 유동성 재공격. ICT·Wyckoff가 공통으로 지목한 핵심 구조 저점으로, 이 구간에서 유동성 소거가 진행됨.\",\n      \"est_hours\": 15.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 57800.0,\n      \"type\": \"extension\",\n      \"source\": \"Derivatives 최근접 하방 청산 클러스터 $57,800 / long_account_ratio 0.740·crowding 1.0\",\n      \"description\": \"$58,160 구조 저점 하향 이탈 시 파생 롱 과밀(비율 0.740, crowding 1.0)의 반대매매성 청산 연쇄로 최근접 청산 클러스터 $57,800까지 확장. OI +6.33% 대비 CVD -10,493의 약한 실매수 구조가 하방 가속을 뒷받침.\",\n      \"est_hours\": 23.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 58780.0, \"expected_low\": 58589.0, \"high_first\": false},\n    \"8h\":  {\"expected_high\": 58780.0, \"expected_low\": 58477.1, \"high_first\": true},\n    \"24h\": {\"expected_high\": 58780.0, \"expected_low\": 57800.0, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 59329.2, \"description\": \"BOS_bearish $59,329.20 재탈환 후 EMA240 $59,451.77·$59,600 상방 수용 시 구조적 약세가 약화·무효화. 숏 커버링과 함께 $60,700-$60,800 상단 유동성까지 squeeze 가능.\"},\n    \"bearish\": {\"price\": 58160.0, \"description\": \"7일 저점·Phase E 저점 $58,160 하향 이탈 시 sell-side 유동성 소거 및 롱 청산 연쇄로 $57,800 청산 클러스터까지 하방 가속.\"}\n  },\n  \"scenario_invalidation\": 59600.0\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 58780.0,
        "turning_zone": [
          58780.0,
          58850.0
        ],
        "likely_wick": 58820.0,
        "rejection_confirm": 58662.46,
        "invalid_overshoot": 58900.0,
        "calibration_reasoning": "스윙 고점·UTAD·London high 삼중 공급 $58,780을 존 하단으로, 상단은 Chairman 저항 $58,850(strict crab PRZ $58,839.15가 컨플루언스로 중첩되나 pre-confirmation이라 waypoint 이동엔 미사용)로 마감해 폭 $70(≈0.48 ATR); likely_wick는 스윙 고점 위 스톱 확보 후 PRZ 직전 $58,820, fib 0.382 $58,662 이탈 시 거절 확인, $58,900(상단 harmonic Gartley 하한) 돌파 시 무효."
      },
      {
        "seq": 2,
        "base_target": 58477.1,
        "turning_zone": [
          58428.0,
          58477.1
        ],
        "likely_wick": 58450.0,
        "rejection_confirm": 58538.15,
        "invalid_overshoot": 58357.22,
        "calibration_reasoning": "Chairman 지지 $58,455.64와 스윙 저점 $58,472 바로 아래 스톱 확보를 반영해 존 하단 $58,428(≈0.33 ATR); likely_wick $58,450, ret_0.786 $58,538 회복 시 방어 성공(반등) 확인, 아래 gartley PRZ 셸프 $58,357 이탈 시 지지 상실로 무효화(WP3 연장)."
      },
      {
        "seq": 3,
        "base_target": 58160.0,
        "turning_zone": [
          58090.0,
          58160.0
        ],
        "likely_wick": 58110.0,
        "rejection_confirm": 58200.0,
        "invalid_overshoot": 58050.0,
        "calibration_reasoning": "하방 sell-side 스윕(하락 타깃)이므로 존을 base 아래로 확장; 7일·Phase E 저점 $58,160 아래 유동성 소거와 라운드 $58,100 자석을 반영해 존 [58,090, 58,160](≈0.48 ATR), likely_wick $58,110(≈0.3 ATR 관통); 이전일 저점 $58,200 회복 시 스윕 반전 확인, $58,050 이탈 시 $57,800로 연장."
      },
      {
        "seq": 4,
        "base_target": 57800.0,
        "turning_zone": [
          57690.0,
          57800.0
        ],
        "likely_wick": 57720.0,
        "rejection_confirm": 57900.0,
        "invalid_overshoot": 57650.0,
        "calibration_reasoning": "터미널 하방 익스텐션으로 존을 넓게 [57,690, 57,800](≈0.75 ATR); 최근접 청산 클러스터 $57,800 하향 관통 + 라운드 $57,700 자석으로 likely_wick $57,720, $57,900 회복 시 반전 확인, $57,650(라운드 $57,700 하향 이탈) 붕괴 시 추가 캐스케이드로 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 58780.00,\n      \"turning_zone\": [58780.00, 58850.00],\n      \"likely_wick\": 58820.00,\n      \"rejection_confirm\": 58662.46,\n      \"invalid_overshoot\": 58900.00,\n      \"calibration_reasoning\": \"스윙 고점·UTAD·London high 삼중 공급 $58,780을 존 하단으로, 상단은 Chairman 저항 $58,850(strict crab PRZ $58,839.15가 컨플루언스로 중첩되나 pre-confirmation이라 waypoint 이동엔 미사용)로 마감해 폭 $70(≈0.48 ATR); likely_wick는 스윙 고점 위 스톱 확보 후 PRZ 직전 $58,820, fib 0.382 $58,662 이탈 시 거절 확인, $58,900(상단 harmonic Gartley 하한) 돌파 시 무효.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 58477.10,\n      \"turning_zone\": [58428.00, 58477.10],\n      \"likely_wick\": 58450.00,\n      \"rejection_confirm\": 58538.15,\n      \"invalid_overshoot\": 58357.22,\n      \"calibration_reasoning\": \"Chairman 지지 $58,455.64와 스윙 저점 $58,472 바로 아래 스톱 확보를 반영해 존 하단 $58,428(≈0.33 ATR); likely_wick $58,450, ret_0.786 $58,538 회복 시 방어 성공(반등) 확인, 아래 gartley PRZ 셸프 $58,357 이탈 시 지지 상실로 무효화(WP3 연장).\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 58160.00,\n      \"turning_zone\": [58090.00, 58160.00],\n      \"likely_wick\": 58110.00,\n      \"rejection_confirm\": 58200.00,\n      \"invalid_overshoot\": 58050.00,\n      \"calibration_reasoning\": \"하방 sell-side 스윕(하락 타깃)이므로 존을 base 아래로 확장; 7일·Phase E 저점 $58,160 아래 유동성 소거와 라운드 $58,100 자석을 반영해 존 [58,090, 58,160](≈0.48 ATR), likely_wick $58,110(≈0.3 ATR 관통); 이전일 저점 $58,200 회복 시 스윕 반전 확인, $58,050 이탈 시 $57,800로 연장.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 57800.00,\n      \"turning_zone\": [57690.00, 57800.00],\n      \"likely_wick\": 57720.00,\n      \"rejection_confirm\": 57900.00,\n      \"invalid_overshoot\": 57650.00,\n      \"calibration_reasoning\": \"터미널 하방 익스텐션으로 존을 넓게 [57,690, 57,800](≈0.75 ATR); 최근접 청산 클러스터 $57,800 하향 관통 + 라운드 $57,700 자석으로 likely_wick $57,720, $57,900 회복 시 반전 확인, $57,650(라운드 $57,700 하향 이탈) 붕괴 시 추가 캐스케이드로 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 55.0,
      "chairman": 85.3,
      "operating_path": 323.2,
      "tp_calibrator": 337.9
    },
    "agents": {},
    "total_s": 801.5
  }
}