{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-06-17 01:00 KST",
  "last_price": 65846.8,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bullish",
      "confidence": 0.66,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.65,
      "setup_signals": [
        "고거래량 bullish_harami 감지: pattern_quality 0.770, strict tier",
        "고거래량 piercing_pattern 감지: pattern_quality 0.715, strict tier",
        "bull_score 2.2500이 bear_score 0.600을 크게 상회",
        "현재가 $65,846.80이 EMA240 $65,708.56 위에서 유지되며 단기 지지 반응",
        "현재가가 7일 범위 EQ $65,452.70 위에 있어 완전한 약세 구조 붕괴는 아직 미확정"
      ],
      "reasoning": "15분봉 기준 최근 패턴은 bullish_harami, piercing_pattern, bullish_engulfing 등 매수 반전 신호가 우세하며, 특히 bullish_harami의 품질이 0.770이고 고거래량으로 확인된 점이 긍정적입니다. 다만 현재가 $65,846.80은 EMA20 $66,021.97 및 EMA120 $66,099.62 아래에 있어 구조적으로는 아직 상승 전환이 확정되지 않았고, 명확한 BOS/CHoCH 확인도 없습니다. 따라서 structure_bias는 neutral로 보되, EMA240 $65,708.56 및 7일 EQ $65,452.70 위에서 매수 반전 캔들이 나온 점을 근거로 setup_bias는 bullish입니다. 단기적으로 $66,021.97~$66,099.62 EMA 저항대를 회복하면 $67,255.40 7일 고점 재시험 가능성이 열립니다.",
      "key_levels": {
        "support": [
          65708.56,
          65452.7,
          63650.0
        ],
        "resistance": [
          66021.97,
          66099.62,
          67255.4
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$65,452.70",
      "risk_scenario": "반대로 가격이 7일 범위 EQ $65,452.70 아래로 15분봉 종가 기준 이탈하면 최근 bullish_harami와 piercing_pattern의 반전 setup은 실패로 해석됩니다. 이 경우 EMA240 $65,708.56 회복 실패까지 겹치며 $63,650.00 7일 저점 방향으로 하락 압력이 확대될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 135,
        "recent_patterns": 5,
        "pattern_list": [
          "bullish_engulfing@296",
          "doji@292",
          "bullish_harami@294",
          "bearish_harami@297",
          "piercing_pattern@290"
        ],
        "atr_value": 245.4,
        "vol_avg_20": 2209.64,
        "high_volume_patterns": [
          "bullish_harami",
          "piercing_pattern"
        ],
        "pattern_candidates": [
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.77,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "piercing_pattern",
            "signal": "bullish",
            "pattern_quality": 0.715,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.604,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_harami",
            "signal": "bearish",
            "pattern_quality": 0.411,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.77,
        "bull_score": 2.25,
        "bear_score": 0.6
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.66,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.65,\n  \"setup_signals\": [\n    \"고거래량 bullish_harami 감지: pattern_quality 0.770, strict tier\",\n    \"고거래량 piercing_pattern 감지: pattern_quality 0.715, strict tier\",\n    \"bull_score 2.2500이 bear_score 0.600을 크게 상회\",\n    \"현재가 $65,846.80이 EMA240 $65,708.56 위에서 유지되며 단기 지지 반응\",\n    \"현재가가 7일 범위 EQ $65,452.70 위에 있어 완전한 약세 구조 붕괴는 아직 미확정\"\n  ],\n  \"reasoning\": \"15분봉 기준 최근 패턴은 bullish_harami, piercing_pattern, bullish_engulfing 등 매수 반전 신호가 우세하며, 특히 bullish_harami의 품질이 0.770이고 고거래량으로 확인된 점이 긍정적입니다. 다만 현재가 $65,846.80은 EMA20 $66,021.97 및 EMA120 $66,099.62 아래에 있어 구조적으로는 아직 상승 전환이 확정되지 않았고, 명확한 BOS/CHoCH 확인도 없습니다. 따라서 structure_bias는 neutral로 보되, EMA240 $65,708.56 및 7일 EQ $65,452.70 위에서 매수 반전 캔들이 나온 점을 근거로 setup_bias는 bullish입니다. 단기적으로 $66,021.97~$66,099.62 EMA 저항대를 회복하면 $67,255.40 7일 고점 재시험 가능성이 열립니다.\",\n  \"key_levels\": {\n    \"support\": [\n      65708.56,\n      65452.7,\n      63650.0\n    ],\n    \"resistance\": [\n      66021.97,\n      66099.62,\n      67255.4\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$65,452.70\",\n  \"risk_scenario\": \"반대로 가격이 7일 범위 EQ $65,452.70 아래로 15분봉 종가 기준 이탈하면 최근 bullish_harami와 piercing_pattern의 반전 setup은 실패로 해석됩니다. 이 경우 EMA240 $65,708.56 회복 실패까지 겹치며 $63,650.00 7일 저점 방향으로 하락 압력이 확대될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bullish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.762,
      "setup_signals": [
        "현재가 $65,846.80가 EQ $66,142.75 아래에 위치하여 discount zone 진입",
        "상승 구조 후보: bullish BOS $65,996.80 및 bullish CHoCH $66,426.90 발생 이력",
        "현재 되돌림 87.2%로 깊은 discount retracement 구간",
        "range low $65,328.80 / previous day low $65,328.80 위에서 아직 하방 유동성 이탈 미확정",
        "Asian kill zone 저점 $65,580.00 위에서 단기 반등 시도 가능"
      ],
      "reasoning": "확정 구조 관점에서는 최근 이벤트가 BOS_bearish 이후 CHoCH_bullish $66,426.90로 전환 신호를 만들었지만, 현재가 $65,846.80는 EQ $66,142.75와 bullish BOS 레벨 $65,996.80 아래에 있어 구조적 수용이 완전히 확인되었다고 보기 어렵습니다. 따라서 structure_bias는 bullish 확정보다는 neutral로 평가합니다. 반면 setup 관점에서는 가격이 range high $66,956.70 대비 깊게 되돌려 현재 discount zone에 있으며, current retracement가 87.2%로 매수 셋업 조건이 우세합니다. 다만 활성 OB/FVG가 없고 최근 liquidity sweep도 감지되지 않아 강한 기관 주문흐름 컨펌은 부족하므로 신뢰도는 중간 수준입니다.",
      "key_levels": {
        "support": [
          65580.0,
          65328.8,
          64640.6,
          64338.8,
          64186.5,
          63650.0
        ],
        "resistance": [
          65981.5,
          65996.8,
          66142.75,
          66426.9,
          66956.7,
          67255.4
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$65,328.80",
      "risk_scenario": "가격이 $65,328.80 range low이자 previous day low를 하향 이탈하고 그 아래에서 15분봉 기준 수용되면, 현재 discount 매수 셋업은 실패로 봐야 합니다. 이 경우 sell-side liquidity sweep 이후 반등이 나오지 않는 약세 수용으로 해석되며, 다음 하방 유동성은 $64,640.60, $64,338.80, $64,186.50 방향으로 열릴 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 0,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 2,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 65,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bearish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bullish",
          "BOS_bearish",
          "CHoCH_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bearish",
            "level": 64338.8
          },
          {
            "type": "BOS_bearish",
            "level": 64186.5
          },
          {
            "type": "CHoCH_bullish",
            "level": 64640.6
          },
          {
            "type": "BOS_bullish",
            "level": 65996.8
          },
          {
            "type": "BOS_bearish",
            "level": 66065.1
          },
          {
            "type": "CHoCH_bullish",
            "level": 66426.9
          }
        ],
        "bos_sequence": [
          "BOS_bearish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bullish",
          "BOS_bearish",
          "CHoCH_bullish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "discount",
        "eq_level": 66142.75,
        "range_high": 66956.7,
        "range_low": 65328.8,
        "bull_score": 8.4,
        "bear_score": 7.5,
        "setup_bias": "bullish",
        "setup_score": 0.762,
        "setup_signals": [
          "bullish CHoCH above $64,640.60",
          "bullish BOS above $65,996.80",
          "bullish CHoCH above $66,426.90",
          "deep retracement 87.2% in discount zone"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 87.2,
        "deepest_retracement_pct": 120.6,
        "previous_day_high": 67255.4,
        "previous_day_low": 65328.8,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": false,
            "high": null,
            "low": null
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": true,
            "high": 65981.5,
            "low": 65580.0
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.762,\n  \"setup_signals\": [\n    \"현재가 $65,846.80가 EQ $66,142.75 아래에 위치하여 discount zone 진입\",\n    \"상승 구조 후보: bullish BOS $65,996.80 및 bullish CHoCH $66,426.90 발생 이력\",\n    \"현재 되돌림 87.2%로 깊은 discount retracement 구간\",\n    \"range low $65,328.80 / previous day low $65,328.80 위에서 아직 하방 유동성 이탈 미확정\",\n    \"Asian kill zone 저점 $65,580.00 위에서 단기 반등 시도 가능\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 최근 이벤트가 BOS_bearish 이후 CHoCH_bullish $66,426.90로 전환 신호를 만들었지만, 현재가 $65,846.80는 EQ $66,142.75와 bullish BOS 레벨 $65,996.80 아래에 있어 구조적 수용이 완전히 확인되었다고 보기 어렵습니다. 따라서 structure_bias는 bullish 확정보다는 neutral로 평가합니다. 반면 setup 관점에서는 가격이 range high $66,956.70 대비 깊게 되돌려 현재 discount zone에 있으며, current retracement가 87.2%로 매수 셋업 조건이 우세합니다. 다만 활성 OB/FVG가 없고 최근 liquidity sweep도 감지되지 않아 강한 기관 주문흐름 컨펌은 부족하므로 신뢰도는 중간 수준입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      65580.0,\n      65328.8,\n      64640.6,\n      64338.8,\n      64186.5,\n      63650.0\n    ],\n    \"resistance\": [\n      65981.5,\n      65996.8,\n      66142.75,\n      66426.9,\n      66956.7,\n      67255.4\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$65,328.80\",\n  \"risk_scenario\": \"가격이 $65,328.80 range low이자 previous day low를 하향 이탈하고 그 아래에서 15분봉 기준 수용되면, 현재 discount 매수 셋업은 실패로 봐야 합니다. 이 경우 sell-side liquidity sweep 이후 반등이 나오지 않는 약세 수용으로 해석되며, 다음 하방 유동성은 $64,640.60, $64,338.80, $64,186.50 방향으로 열릴 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "현재가 $65,846.80이 EMA20 $66,021.97 및 EMA120 $66,099.62 아래에 위치해 단기 반등 수용 실패",
        "24시간 OI -1.2480%로 신규 매도 확장보다는 포지션 언와인딩이 진행 중이나, 가격도 -2.08% 하락해 수요 흡수 약함",
        "CVD 변화 -2332.1010으로 가격 반등 구간에서도 매수 주도권이 약한 상태",
        "롱 계정 비율 0.585, 24시간 +0.005 상승 및 account_long_crowding 0.637로 롱 포지셔닝이 상대적으로 crowded",
        "현물-선물 basis -0.0197%로 선물이 소폭 할인되어 파생 수요가 강하지 않음",
        "하방 청산 유동성 $65,200이 현재가와 가까워 단기 유동성 자석으로 작용 가능"
      ],
      "reasoning": "확인된 구조 관점에서는 $63,650 저점과 $67,255.40 고점 사이 박스 내부에 있어 명확한 BOS 또는 CHoCH가 확인되지 않았으므로 structure_bias는 neutral로 본다. 다만 setup 관점에서는 현재가 $65,846.80이 EMA20 $66,021.97와 EMA120 $66,099.62 아래에 있고, CVD가 -2332.1010으로 약해 반등 참여가 부족하다. 롱 계정 비율이 0.585까지 상승했고 account_long_crowding 0.637로 롱 쏠림이 존재해, 반등 실패 시 $65,200 하방 청산 레벨을 먼저 테스트할 가능성이 높다. OI가 24시간 -1.2480% 감소한 점은 강한 신규 숏 구축이라기보다 언와인딩 성격이라 확신도는 중간 수준이며, $66,800 상방 유동성 회수 및 안착 시 bearish setup은 약화된다.",
      "key_levels": {
        "support": [
          65708.56,
          65200,
          63650,
          63500,
          63200
        ],
        "resistance": [
          66021.97,
          66099.62,
          66800,
          67255.4,
          72100,
          72400
        ]
      },
      "time_horizon": "short term, 향후 4-8시간",
      "invalidation_level": "$66,800",
      "risk_scenario": "$66,800 상방 유동성을 회수한 뒤 가격이 EMA20 $66,021.97와 EMA120 $66,099.62 위에서 유지되면 숏 커버링이 붙으면서 $67,255.40 7일 고점 재테스트로 전환될 수 있다. 특히 OI가 다시 증가하면서 CVD가 양전환하면 현재의 롱 crowded 신호는 단기 squeeze 연료로 바뀔 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.15,
        "cvd_change": -2332.101,
        "oi_trend": 0.375,
        "oi_change_pct_24h": -1.248,
        "oi_latest": 103261.452,
        "funding_pressure": 0.525,
        "funding_avg": -2.539e-05,
        "funding_change_24h": 4.969e-05,
        "long_account_ratio": 0.576,
        "short_account_ratio": 0.424,
        "long_account_latest": 0.585,
        "short_account_latest": 0.415,
        "long_account_change_24h": 0.0049,
        "short_account_change_24h": -0.0049,
        "account_flow_label": "long_accounts_rising_short_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 0.637,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.495,
        "spot_futures_basis_pct": -0.0197,
        "basis_change_lookback": 0.0256,
        "aggregate_score": 0.309,
        "bull_signals": 0,
        "bear_signals": 3,
        "liq_below": [
          [
            65200,
            1566.4378839
          ],
          [
            63500,
            1556.591392
          ],
          [
            63200,
            1678.546322
          ]
        ],
        "liq_above": [
          [
            66800,
            1869.4518521999998
          ],
          [
            72100,
            1559.161695
          ],
          [
            72400,
            2098.1829024999997
          ]
        ],
        "strongest_liq_level": 72400,
        "fragility_score": 0.523,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"현재가 $65,846.80이 EMA20 $66,021.97 및 EMA120 $66,099.62 아래에 위치해 단기 반등 수용 실패\",\n    \"24시간 OI -1.2480%로 신규 매도 확장보다는 포지션 언와인딩이 진행 중이나, 가격도 -2.08% 하락해 수요 흡수 약함\",\n    \"CVD 변화 -2332.1010으로 가격 반등 구간에서도 매수 주도권이 약한 상태\",\n    \"롱 계정 비율 0.585, 24시간 +0.005 상승 및 account_long_crowding 0.637로 롱 포지셔닝이 상대적으로 crowded\",\n    \"현물-선물 basis -0.0197%로 선물이 소폭 할인되어 파생 수요가 강하지 않음\",\n    \"하방 청산 유동성 $65,200이 현재가와 가까워 단기 유동성 자석으로 작용 가능\"\n  ],\n  \"reasoning\": \"확인된 구조 관점에서는 $63,650 저점과 $67,255.40 고점 사이 박스 내부에 있어 명확한 BOS 또는 CHoCH가 확인되지 않았으므로 structure_bias는 neutral로 본다. 다만 setup 관점에서는 현재가 $65,846.80이 EMA20 $66,021.97와 EMA120 $66,099.62 아래에 있고, CVD가 -2332.1010으로 약해 반등 참여가 부족하다. 롱 계정 비율이 0.585까지 상승했고 account_long_crowding 0.637로 롱 쏠림이 존재해, 반등 실패 시 $65,200 하방 청산 레벨을 먼저 테스트할 가능성이 높다. OI가 24시간 -1.2480% 감소한 점은 강한 신규 숏 구축이라기보다 언와인딩 성격이라 확신도는 중간 수준이며, $66,800 상방 유동성 회수 및 안착 시 bearish setup은 약화된다.\",\n  \"key_levels\": {\n    \"support\": [\n      65708.56,\n      65200,\n      63650,\n      63500,\n      63200\n    ],\n    \"resistance\": [\n      66021.97,\n      66099.62,\n      66800,\n      67255.4,\n      72100,\n      72400\n    ]\n  },\n  \"time_horizon\": \"short term, 향후 4-8시간\",\n  \"invalidation_level\": \"$66,800\",\n  \"risk_scenario\": \"$66,800 상방 유동성을 회수한 뒤 가격이 EMA20 $66,021.97와 EMA120 $66,099.62 위에서 유지되면 숏 커버링이 붙으면서 $67,255.40 7일 고점 재테스트로 전환될 수 있다. 특히 OI가 다시 증가하면서 CVD가 양전환하면 현재의 롱 crowded 신호는 단기 squeeze 연료로 바뀔 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.76,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.72,
      "setup_signals": [
        "분배 레짐(DIS) 우세: dis_score 96.2, regime_fitness 0.963, 현재 구조는 distribution Phase D",
        "UTAD $67,255.40 이후 LPSY $66,787.10 형성, 현재가 $65,846.80은 LPSY 하단에 위치",
        "확장 범위 기준 EQ 약 $65,452.70 상단의 프리미엄 영역에서 하락 반응 진행",
        "현재가가 EMA20 $66,021.97 및 EMA120 $66,099.62 아래에 있어 단기 재공급 압력 우위",
        "하방 확인 구간은 기존 BC/AR 앵커 $64,738.00~$64,338.80 재진입 여부"
      ],
      "reasoning": "현재 메트릭은 DIS 레짐이며, phase chain은 BC $64,738.00 → AR $64,338.80 → ST $64,640.60 → SOW_IN_PHASE_B $63,650.00 → UTAD $67,255.40 → LPSY $66,787.10으로 분배 Phase D 구조를 가리킨다. 구조적으로는 UTAD 이후 LPSY가 확인된 상태이므로 structure_bias는 bearish로 판단하지만, 아직 $64,338.80~$64,738.00의 원래 앵커 범위 하단 이탈까지 확정된 Phase E로 보지는 않는다. 현재가 $65,846.80은 LPSY $66,787.10 아래에 있고 EMA20 $66,021.97 및 EMA120 $66,099.62 아래에서 머물러 있어 즉각 경로도 하단 재시험 쪽이 우세하다. 단기 핵심은 $64,738.00 재진입 및 $64,338.80 이탈 여부이며, 반대로 $66,787.10을 회복하면 LPSY 실패 가능성이 커진다.",
      "key_levels": {
        "support": [
          65452.7,
          64738.0,
          64338.8,
          63650.0
        ],
        "resistance": [
          66021.97,
          66099.62,
          66787.1,
          67255.4
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "15분 종가 기준 $67,255.40 상방 수용 시 분배 Phase D/LPSY bearish 해석은 무효화된다. 그 전 단계의 경고 레벨은 $66,787.10 LPSY 회복이다.",
      "risk_scenario": "$66,787.10을 회복하고 그 위에서 수용되면 LPSY가 실패한 공급 테스트가 되어 $67,255.40 UTAD 고점 재시험으로 이어질 수 있다. 특히 $67,255.40 상방 수용이 나오면 현재 분배 구조는 재평가가 필요하며, 상단 유동성 흡수 이후 재축적 또는 확장형 박스 가능성을 열어야 한다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 92.5,
        "dis_score": 96.2,
        "regime": "DIS",
        "regime_state": "dis_candidate",
        "structure_bias": "bearish",
        "phase_context": "dis_candidate / distribution / Phase D",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "UTAD",
          "LPSY"
        ],
        "last_phase": "LPSY",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 34,
            "price": 64738.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 44,
            "price": 64338.8,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 86,
            "price": 64640.6,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 115,
            "price": 63650.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 121,
            "price": 63830.9,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 203,
            "price": 67255.4,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 286,
            "price": 66787.1,
            "color": "#8338ec"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "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": 34,
            "end_idx": 286,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 34,
                "price": 64738.0,
                "color": "#ffd166",
                "dt": "2026-06-14 06:30:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 44,
                "price": 64338.8,
                "color": "#06d6a0",
                "dt": "2026-06-14 09:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 86,
                "price": 64640.6,
                "color": "#118ab2",
                "dt": "2026-06-14 19:30:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 115,
                "price": 63650.0,
                "color": "#ef476f",
                "dt": "2026-06-15 02:45:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 121,
                "price": 63830.9,
                "color": "#f9844a",
                "dt": "2026-06-15 04:15:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 203,
                "price": 67255.4,
                "color": "#f9844a",
                "dt": "2026-06-16 00:45:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 286,
                "price": 66787.1,
                "color": "#8338ec",
                "dt": "2026-06-16 21:30:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_1",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.9625,
        "current_event": "LPSY",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 64338.8,
        "main_range_high": 64738.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.76,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"분배 레짐(DIS) 우세: dis_score 96.2, regime_fitness 0.963, 현재 구조는 distribution Phase D\",\n    \"UTAD $67,255.40 이후 LPSY $66,787.10 형성, 현재가 $65,846.80은 LPSY 하단에 위치\",\n    \"확장 범위 기준 EQ 약 $65,452.70 상단의 프리미엄 영역에서 하락 반응 진행\",\n    \"현재가가 EMA20 $66,021.97 및 EMA120 $66,099.62 아래에 있어 단기 재공급 압력 우위\",\n    \"하방 확인 구간은 기존 BC/AR 앵커 $64,738.00~$64,338.80 재진입 여부\"\n  ],\n  \"reasoning\": \"현재 메트릭은 DIS 레짐이며, phase chain은 BC $64,738.00 → AR $64,338.80 → ST $64,640.60 → SOW_IN_PHASE_B $63,650.00 → UTAD $67,255.40 → LPSY $66,787.10으로 분배 Phase D 구조를 가리킨다. 구조적으로는 UTAD 이후 LPSY가 확인된 상태이므로 structure_bias는 bearish로 판단하지만, 아직 $64,338.80~$64,738.00의 원래 앵커 범위 하단 이탈까지 확정된 Phase E로 보지는 않는다. 현재가 $65,846.80은 LPSY $66,787.10 아래에 있고 EMA20 $66,021.97 및 EMA120 $66,099.62 아래에서 머물러 있어 즉각 경로도 하단 재시험 쪽이 우세하다. 단기 핵심은 $64,738.00 재진입 및 $64,338.80 이탈 여부이며, 반대로 $66,787.10을 회복하면 LPSY 실패 가능성이 커진다.\",\n  \"key_levels\": {\n    \"support\": [\n      65452.7,\n      64738.0,\n      64338.8,\n      63650.0\n    ],\n    \"resistance\": [\n      66021.97,\n      66099.62,\n      66787.1,\n      67255.4\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"15분 종가 기준 $67,255.40 상방 수용 시 분배 Phase D/LPSY bearish 해석은 무효화된다. 그 전 단계의 경고 레벨은 $66,787.10 LPSY 회복이다.\",\n  \"risk_scenario\": \"$66,787.10을 회복하고 그 위에서 수용되면 LPSY가 실패한 공급 테스트가 되어 $67,255.40 UTAD 고점 재시험으로 이어질 수 있다. 특히 $67,255.40 상방 수용이 나오면 현재 분배 구조는 재평가가 필요하며, 상단 유동성 흡수 이후 재축적 또는 확장형 박스 가능성을 열어야 한다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.64,
      "setup_signals": [
        "현재가 $65,846.80가 0.382 되돌림 저항 $65,885.87 바로 아래에서 테스트 중이며 거리 0.06%로 매우 근접",
        "스윙 High→Low $66,787→$65,329 기준 하락 구조의 되돌림 구간이며, 0.5 EQ $66,057.95 아래에 머물러 매수 수용이 아직 확인되지 않음",
        "상단 $65,812.32 부근에 ret_0.236/ret_0.382/ret_0.382 3중 피보나치 클러스터가 존재하고 cluster_score 0.85로 저항 신뢰도 높음",
        "핵심 골든비율 0.618 되돌림 $66,230.03이 미도달 상태로 남아 있으나, 그 전 단계인 $65,885.87 및 $66,057.95에서 공급 반응이 먼저 확인될 수 있음",
        "가격이 EMA20 $66,021.97 및 EMA120 $66,099.62 아래에 있어 단기 반등이 아직 구조적 전환으로 확인되지 않음"
      ],
      "reasoning": "현재 BTC/USDT는 하락 스윙 $66,787→$65,329 이후 되돌림 국면이며, 현재가 $65,846.80는 0.382 되돌림 $65,885.87에 0.06% 거리로 붙어 있어 피보나치 저항 테스트 상태입니다. 구조적으로는 0.5 레벨 $66,057.95와 골든비율 0.618 레벨 $66,230.03을 회복하지 못했기 때문에 하락 되돌림 내 저항 우위로 판단합니다. 특히 $65,812.32 부근의 3중 클러스터와 confluence_quality 0.850은 현재 구간의 반응 확률을 높이며, reaction_probability 0.65도 단기 변곡 가능성을 지지합니다. 단, $65,885.87 위로 안착하면 $66,057.95, 이후 $66,230.03까지 되돌림 확장 가능성이 열리므로 즉각적인 추격 매도보다는 저항 반응 확인이 필요합니다.",
      "key_levels": {
        "support": [
          65672.96,
          65328.8,
          64932.14,
          64725.06,
          64427.57,
          63870.5
        ],
        "resistance": [
          65885.87,
          66057.95,
          66230.03,
          66475.02
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$66,230.03",
      "risk_scenario": "$65,885.87를 상향 돌파하고 0.5 레벨 $66,057.95 위에서 수용이 발생하면 현재의 저항 반응 시나리오는 약화됩니다. 특히 골든비율 0.618인 $66,230.03까지 회복하면 하락 되돌림 매도 관점은 무효화되고, $66,475.02의 0.786 되돌림까지 추가 상승 확장 가능성이 커집니다.",
      "data_quality": "high",
      "metrics": {
        "swing_pair": "High→Low: $66,787 → $65,329",
        "direction": "down",
        "nearest_fib": "ret_0.382",
        "nearest_fib_price": 65885.87,
        "nearest_fib_distance": 0.06,
        "golden_ratio_level": 66230.03,
        "fib_ret_382": 65885.87,
        "fib_ret_618": 66230.03,
        "confluence_zones": [
          {
            "price": 64524.73,
            "count": 3,
            "levels": [
              "ret_0.786",
              "ext_1.618",
              "ext_1.414"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 65812.32,
            "count": 3,
            "levels": [
              "ret_0.236",
              "ret_0.382",
              "ret_0.382"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 64979.7,
            "count": 2,
            "levels": [
              "ext_1.272",
              "ret_0.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 65390.75,
            "count": 2,
            "levels": [
              "ext_1.0",
              "ret_0.5"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 66143.99,
            "count": 2,
            "levels": [
              "ret_0.5",
              "ret_0.618"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          65672.95880000001,
          65328.8,
          64932.142400000004
        ],
        "resistance_levels": [
          65885.87060000001,
          66057.95000000001,
          66230.0294
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 65672.96,
            "distance_pct": 0.26,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.382",
            "price": 65885.87,
            "distance_pct": 0.06,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.5",
            "price": 66057.95,
            "distance_pct": 0.32,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.618",
            "price": 66230.03,
            "distance_pct": 0.58,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.786",
            "price": 66475.02,
            "distance_pct": 0.95,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.0",
            "price": 65328.8,
            "distance_pct": 0.79,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.272",
            "price": 64932.14,
            "distance_pct": 1.39,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 64725.06,
            "distance_pct": 1.7,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.618",
            "price": 64427.57,
            "distance_pct": 2.16,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_2.0",
            "price": 63870.5,
            "distance_pct": 3.0,
            "is_support": true,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.85,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"현재가 $65,846.80가 0.382 되돌림 저항 $65,885.87 바로 아래에서 테스트 중이며 거리 0.06%로 매우 근접\",\n    \"스윙 High→Low $66,787→$65,329 기준 하락 구조의 되돌림 구간이며, 0.5 EQ $66,057.95 아래에 머물러 매수 수용이 아직 확인되지 않음\",\n    \"상단 $65,812.32 부근에 ret_0.236/ret_0.382/ret_0.382 3중 피보나치 클러스터가 존재하고 cluster_score 0.85로 저항 신뢰도 높음\",\n    \"핵심 골든비율 0.618 되돌림 $66,230.03이 미도달 상태로 남아 있으나, 그 전 단계인 $65,885.87 및 $66,057.95에서 공급 반응이 먼저 확인될 수 있음\",\n    \"가격이 EMA20 $66,021.97 및 EMA120 $66,099.62 아래에 있어 단기 반등이 아직 구조적 전환으로 확인되지 않음\"\n  ],\n  \"reasoning\": \"현재 BTC/USDT는 하락 스윙 $66,787→$65,329 이후 되돌림 국면이며, 현재가 $65,846.80는 0.382 되돌림 $65,885.87에 0.06% 거리로 붙어 있어 피보나치 저항 테스트 상태입니다. 구조적으로는 0.5 레벨 $66,057.95와 골든비율 0.618 레벨 $66,230.03을 회복하지 못했기 때문에 하락 되돌림 내 저항 우위로 판단합니다. 특히 $65,812.32 부근의 3중 클러스터와 confluence_quality 0.850은 현재 구간의 반응 확률을 높이며, reaction_probability 0.65도 단기 변곡 가능성을 지지합니다. 단, $65,885.87 위로 안착하면 $66,057.95, 이후 $66,230.03까지 되돌림 확장 가능성이 열리므로 즉각적인 추격 매도보다는 저항 반응 확인이 필요합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      65672.96,\n      65328.8,\n      64932.14,\n      64725.06,\n      64427.57,\n      63870.5\n    ],\n    \"resistance\": [\n      65885.87,\n      66057.95,\n      66230.03,\n      66475.02\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$66,230.03\",\n  \"risk_scenario\": \"$65,885.87를 상향 돌파하고 0.5 레벨 $66,057.95 위에서 수용이 발생하면 현재의 저항 반응 시나리오는 약화됩니다. 특히 골든비율 0.618인 $66,230.03까지 회복하면 하락 되돌림 매도 관점은 무효화되고, $66,475.02의 0.786 되돌림까지 추가 상승 확장 가능성이 커집니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.66,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.72,
      "setup_signals": [
        "완성된 bullish Bat PRZ $65,717.64-$66,016.63에서 반응 확인: D $65,768.70, 현재가 $65,846.80, reaction_score 0.90",
        "완성된 bullish Crab PRZ $65,471.42-$65,863.35에서 방어 확인: D $65,607.10, D/PRZ failure-zone defended, reaction_score 1.00",
        "완성된 bullish Gartley PRZ $65,332.11-$65,557.80에서 강한 사후 반응 확인: AD 0.382 이상 반응, reaction_move_ratio_ad 1.842",
        "현재가가 핵심 활성 PRZ 클러스터 내부/상단에 위치: nearest PRZ $65,867.14와 거리 0.03%",
        "형성 중인 고품질 bullish Gartley PRZ $65,688.55-$66,053.55, score 0.981, XAB 0.6196로 0.618 Gartley 조건에 근접",
        "하모닉 방향 점수 bullish 2.463 vs bearish 0.404, directional_dominance 0.718"
      ],
      "reasoning": "15분봉 하모닉 관점에서는 bullish 쪽이 우세하지만, 확인된 BOS/CHoCH 또는 상위 구조 수용 데이터가 없으므로 structure_bias는 neutral로 둔다. 현재가 $65,846.80은 완성된 bullish Bat PRZ $65,717.64-$66,016.63 및 bullish Crab PRZ $65,471.42-$65,863.35와 겹치는 반응 구간에 있으며, 두 패턴 모두 PRZ 방어와 AD 0.382 반응을 충족했다. 특히 confirmed Bat의 TP는 $66,397.45, $66,725.08, $67,255.40이고, confirmed Crab의 TP는 $66,274.01, $66,648.78, $67,255.40으로 상방 TP 클러스터가 뚜렷하다. 다만 $65,896.37-$66,278.48에는 형성 중인 bearish Butterfly PRZ가 겹쳐 있어, $66,000-$66,280 구간에서는 즉시 추격보다 재수용 여부 확인이 필요하다.",
      "key_levels": {
        "support": [
          65863.35,
          65717.64,
          65688.55,
          65471.42,
          65332.11
        ],
        "resistance": [
          66016.63,
          66053.55,
          66278.48,
          66397.45,
          66648.78,
          66725.08,
          67255.4
        ]
      },
      "time_horizon": "단기, 15분봉 기준 다음 수 시간 내 PRZ 반응 지속 여부",
      "invalidation_level": "$65,332.11 하향 이탈",
      "risk_scenario": "$65,896.37-$66,278.48의 bearish Butterfly PRZ와 $65,630.77-$66,005.22의 bearish Shark 후보가 방어되면, 현재 bullish 반응은 실패한 되돌림이 되고 $65,727.08, $65,670.91, 최종 $65,580.00 방향으로 재하락할 수 있다. 특히 $65,471.42-$65,557.80 아래로 15분봉 종가가 안착하면 bullish PRZ 클러스터 방어 실패로 해석한다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 59,
        "completed_patterns_found": 24,
        "forming_d_prz_found": 35,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 56,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 27,
        "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": 19,
          "medium": 18,
          "low": 22
        },
        "prz_status_counts": {
          "active": 25,
          "nearby": 6,
          "watch": 17,
          "far": 11,
          "forming": 8
        },
        "high_confluence_prz_count": 35,
        "strict_patterns_found": 32,
        "candidate_patterns_found": 27,
        "active_patterns_at_prz": 25,
        "nearby_patterns": 6,
        "all_patterns": [
          "gartley",
          "shark",
          "bat",
          "crab",
          "bat",
          "gartley",
          "butterfly",
          "crab",
          "shark",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "gartley",
          "gartley",
          "bat",
          "crab",
          "shark",
          "crab",
          "gartley",
          "bat",
          "butterfly",
          "gartley",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "butterfly",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "gartley",
          "butterfly",
          "shark",
          "gartley",
          "shark",
          "crab",
          "butterfly",
          "butterfly",
          "shark",
          "crab",
          "shark",
          "crab",
          "gartley",
          "gartley",
          "butterfly",
          "butterfly",
          "shark",
          "butterfly",
          "bat",
          "crab",
          "crab",
          "gartley",
          "crab",
          "gartley",
          "butterfly",
          "crab"
        ],
        "all_signals": [
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish"
        ],
        "best_pattern": "gartley",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.981,
        "best_completion_status": "forming",
        "nearest_pattern": "bat",
        "nearest_prz": 65867.14,
        "price_to_prz": 0.03,
        "prz_range": [
          65717.64,
          66016.63
        ],
        "council_relevant_prz_count": 10,
        "directional_influence_prz_count": 10,
        "confirmed_reaction_prz_count": 3,
        "validated_harmonic_tp_count": 3,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.981,
            "ratio_score": 0.991,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 65871.05,
            "prz_range": [
              65688.55,
              66053.55
            ],
            "prz_width_pct": 0.554,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.04,
            "price_to_prz_pct_raw": 0.0368,
            "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": 65871.05,
              "a_price": 66915.2,
              "tp1_ad_382": 66269.92,
              "tp2_ad_618": 66516.34,
              "tp3_a_or_structure_liquidity": 66915.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6196,
              "ABC": 0.5514
            },
            "x_price": 65577.8,
            "x_idx": 160,
            "x_order": 5,
            "a_price": 66915.2,
            "a_idx": 193,
            "a_order": 8,
            "b_price": 66086.6,
            "b_idx": 234,
            "b_order": 3,
            "c_price": 66543.5,
            "c_idx": 262,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.975,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 65817.99,
            "prz_range": [
              65630.77,
              66005.22
            ],
            "prz_width_pct": 0.569,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.04,
            "price_to_prz_pct_raw": -0.0437,
            "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": "shark",
              "d_price": 65817.99,
              "a_price": 65580.0,
              "tp1_ad_382": 65727.08,
              "tp2_ad_618": 65670.91,
              "tp3_a_or_structure_liquidity": 65580.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5329,
              "ABC": 1.5901
            },
            "x_price": 65933.0,
            "x_idx": 165,
            "x_order": 3,
            "a_price": 65580.0,
            "a_idx": 171,
            "a_order": 5,
            "b_price": 65768.1,
            "b_idx": 175,
            "b_order": 3,
            "c_price": 65469.0,
            "c_idx": 178,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.962,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 66074.66,
            "prz_range": [
              65877.7,
              66271.61
            ],
            "prz_width_pct": 0.596,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.35,
            "price_to_prz_pct_raw": 0.346,
            "harmonic_vote_state": {
              "authority": "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": 66074.66,
              "a_price": 66956.7,
              "tp1_ad_382": 66411.6,
              "tp2_ad_618": 66619.76,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4348,
              "ABC": 0.6105
            },
            "x_price": 65768.7,
            "x_idx": 254,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 271,
            "a_order": 8,
            "b_price": 66440.1,
            "b_idx": 275,
            "b_order": 3,
            "c_price": 66755.5,
            "c_idx": 277,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.948,
            "ratio_score": 0.951,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 65667.39,
            "prz_range": [
              65471.42,
              65863.35
            ],
            "prz_width_pct": 0.597,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.27,
            "price_to_prz_pct_raw": -0.2725,
            "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": 65667.39,
              "a_price": 67255.4,
              "tp1_ad_382": 66274.01,
              "tp2_ad_618": 66648.78,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6263,
              "ABC": 0.3971
            },
            "x_price": 66265.0,
            "x_idx": 196,
            "x_order": 5,
            "a_price": 67255.4,
            "a_idx": 203,
            "a_order": 8,
            "b_price": 66635.1,
            "b_idx": 210,
            "b_order": 5,
            "c_price": 66388.8,
            "c_idx": 243,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.935,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 66465.3,
            "prz_range": [
              66401.4,
              66529.21
            ],
            "prz_width_pct": 0.192,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.94,
            "price_to_prz_pct_raw": 0.9393,
            "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": 66465.3,
              "a_price": 66265.0,
              "tp1_ad_382": 66388.79,
              "tp2_ad_618": 66341.52,
              "tp3_a_or_structure_liquidity": 66265.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4616,
              "ABC": 0.5121
            },
            "x_price": 65996.8,
            "x_idx": 155,
            "x_order": 8,
            "a_price": 66265.0,
            "a_idx": 196,
            "a_order": 5,
            "b_price": 66388.8,
            "b_idx": 243,
            "b_order": 3,
            "c_price": 66325.4,
            "c_idx": 282,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.935,
            "ratio_score": 0.976,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 65444.96,
            "prz_range": [
              65332.11,
              65557.8
            ],
            "prz_width_pct": 0.345,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.61,
            "price_to_prz_pct_raw": -0.6103,
            "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": 65444.96,
              "a_price": 65996.8,
              "tp1_ad_382": 65655.76,
              "tp2_ad_618": 65786.0,
              "tp3_a_or_structure_liquidity": 65996.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6139,
              "ABC": 0.8477
            },
            "x_price": 65314.3,
            "x_idx": 144,
            "x_order": 5,
            "a_price": 65996.8,
            "a_idx": 155,
            "a_order": 8,
            "b_price": 65577.8,
            "b_idx": 160,
            "b_order": 5,
            "c_price": 65933.0,
            "c_idx": 165,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.934,
            "ratio_score": 0.924,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 66087.42,
            "prz_range": [
              65896.37,
              66278.48
            ],
            "prz_width_pct": 0.578,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.37,
            "price_to_prz_pct_raw": 0.3654,
            "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": "butterfly",
              "d_price": 66087.42,
              "a_price": 65314.3,
              "tp1_ad_382": 65792.09,
              "tp2_ad_618": 65609.63,
              "tp3_a_or_structure_liquidity": 65314.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8022,
              "ABC": 0.6591
            },
            "x_price": 65880.0,
            "x_idx": 140,
            "x_order": 8,
            "a_price": 65314.3,
            "a_idx": 144,
            "a_order": 5,
            "b_price": 65768.1,
            "b_idx": 175,
            "b_order": 3,
            "c_price": 65469.0,
            "c_idx": 178,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.933,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 66574.07,
            "prz_range": [
              66422.57,
              66725.58
            ],
            "prz_width_pct": 0.455,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.1,
            "price_to_prz_pct_raw": 1.1045,
            "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": "crab",
              "d_price": 66574.07,
              "a_price": 66265.0,
              "tp1_ad_382": 66456.01,
              "tp2_ad_618": 66383.07,
              "tp3_a_or_structure_liquidity": 66265.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4616,
              "ABC": 0.5121
            },
            "x_price": 65996.8,
            "x_idx": 155,
            "x_order": 8,
            "a_price": 66265.0,
            "a_idx": 196,
            "a_order": 5,
            "b_price": 66388.8,
            "b_idx": 243,
            "b_order": 3,
            "c_price": 66325.4,
            "c_idx": 282,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.928,
            "ratio_score": 0.949,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 65768.7,
            "prz_range": [
              65717.64,
              66016.63
            ],
            "prz_width_pct": 0.454,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.03,
            "price_to_prz_pct_raw": 0.0309,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.521,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 65867.14,
              "a_price": 67255.4,
              "tp1_ad_382": 66397.45,
              "tp2_ad_618": 66725.08,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3698,
              "ABC": 0.3971,
              "BCD": 2.5177,
              "XAD": 0.8862
            },
            "x_price": 65577.8,
            "x_idx": 160,
            "x_order": 5,
            "a_price": 67255.4,
            "a_idx": 203,
            "a_order": 8,
            "b_price": 66635.1,
            "b_idx": 210,
            "b_order": 5,
            "c_price": 66388.8,
            "c_idx": 243,
            "c_order": 3,
            "d_idx": 254
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.916,
            "ratio_score": 0.923,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 65607.1,
            "prz_range": [
              65471.42,
              65863.35
            ],
            "prz_width_pct": 0.597,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.27,
            "price_to_prz_pct_raw": -0.2725,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.435,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 65667.39,
              "a_price": 67255.4,
              "tp1_ad_382": 66274.01,
              "tp2_ad_618": 66648.78,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6263,
              "ABC": 0.3971,
              "BCD": 3.1738,
              "XAD": 1.6643
            },
            "x_price": 66265.0,
            "x_idx": 196,
            "x_order": 5,
            "a_price": 67255.4,
            "a_idx": 203,
            "a_order": 8,
            "b_price": 66635.1,
            "b_idx": 210,
            "b_order": 5,
            "c_price": 66388.8,
            "c_idx": 243,
            "c_order": 3,
            "d_idx": 249
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.909,
            "ratio_score": 0.958,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 65469.0,
            "prz_range": [
              65332.11,
              65557.8
            ],
            "prz_width_pct": 0.345,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.61,
            "price_to_prz_pct_raw": -0.6103,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.842,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 65444.96,
              "a_price": 65996.8,
              "tp1_ad_382": 65655.76,
              "tp2_ad_618": 65786.0,
              "tp3_a_or_structure_liquidity": 65996.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6139,
              "ABC": 0.8477,
              "BCD": 1.3063,
              "XAD": 0.7733
            },
            "x_price": 65314.3,
            "x_idx": 144,
            "x_order": 5,
            "a_price": 65996.8,
            "a_idx": 155,
            "a_order": 8,
            "b_price": 65577.8,
            "b_idx": 160,
            "b_order": 5,
            "c_price": 65933.0,
            "c_idx": 165,
            "c_order": 3,
            "d_idx": 178
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.981,
            "ratio_score": 0.991,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 65871.05,
            "prz_range": [
              65688.55,
              66053.55
            ],
            "prz_width_pct": 0.554,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.04,
            "price_to_prz_pct_raw": 0.0368,
            "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": 65871.05,
              "a_price": 66915.2,
              "tp1_ad_382": 66269.92,
              "tp2_ad_618": 66516.34,
              "tp3_a_or_structure_liquidity": 66915.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6196,
              "ABC": 0.5514
            },
            "x_price": 65577.8,
            "x_idx": 160,
            "x_order": 5,
            "a_price": 66915.2,
            "a_idx": 193,
            "a_order": 8,
            "b_price": 66086.6,
            "b_idx": 234,
            "b_order": 3,
            "c_price": 66543.5,
            "c_idx": 262,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.975,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 65817.99,
            "prz_range": [
              65630.77,
              66005.22
            ],
            "prz_width_pct": 0.569,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.04,
            "price_to_prz_pct_raw": -0.0437,
            "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": "shark",
              "d_price": 65817.99,
              "a_price": 65580.0,
              "tp1_ad_382": 65727.08,
              "tp2_ad_618": 65670.91,
              "tp3_a_or_structure_liquidity": 65580.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5329,
              "ABC": 1.5901
            },
            "x_price": 65933.0,
            "x_idx": 165,
            "x_order": 3,
            "a_price": 65580.0,
            "a_idx": 171,
            "a_order": 5,
            "b_price": 65768.1,
            "b_idx": 175,
            "b_order": 3,
            "c_price": 65469.0,
            "c_idx": 178,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.962,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 66074.66,
            "prz_range": [
              65877.7,
              66271.61
            ],
            "prz_width_pct": 0.596,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.35,
            "price_to_prz_pct_raw": 0.346,
            "harmonic_vote_state": {
              "authority": "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": 66074.66,
              "a_price": 66956.7,
              "tp1_ad_382": 66411.6,
              "tp2_ad_618": 66619.76,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4348,
              "ABC": 0.6105
            },
            "x_price": 65768.7,
            "x_idx": 254,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 271,
            "a_order": 8,
            "b_price": 66440.1,
            "b_idx": 275,
            "b_order": 3,
            "c_price": 66755.5,
            "c_idx": 277,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.948,
            "ratio_score": 0.951,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 65667.39,
            "prz_range": [
              65471.42,
              65863.35
            ],
            "prz_width_pct": 0.597,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.27,
            "price_to_prz_pct_raw": -0.2725,
            "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": 65667.39,
              "a_price": 67255.4,
              "tp1_ad_382": 66274.01,
              "tp2_ad_618": 66648.78,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6263,
              "ABC": 0.3971
            },
            "x_price": 66265.0,
            "x_idx": 196,
            "x_order": 5,
            "a_price": 67255.4,
            "a_idx": 203,
            "a_order": 8,
            "b_price": 66635.1,
            "b_idx": 210,
            "b_order": 5,
            "c_price": 66388.8,
            "c_idx": 243,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.935,
            "ratio_score": 0.976,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 65444.96,
            "prz_range": [
              65332.11,
              65557.8
            ],
            "prz_width_pct": 0.345,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.61,
            "price_to_prz_pct_raw": -0.6103,
            "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": 65444.96,
              "a_price": 65996.8,
              "tp1_ad_382": 65655.76,
              "tp2_ad_618": 65786.0,
              "tp3_a_or_structure_liquidity": 65996.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6139,
              "ABC": 0.8477
            },
            "x_price": 65314.3,
            "x_idx": 144,
            "x_order": 5,
            "a_price": 65996.8,
            "a_idx": 155,
            "a_order": 8,
            "b_price": 65577.8,
            "b_idx": 160,
            "b_order": 5,
            "c_price": 65933.0,
            "c_idx": 165,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.934,
            "ratio_score": 0.924,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 66087.42,
            "prz_range": [
              65896.37,
              66278.48
            ],
            "prz_width_pct": 0.578,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.37,
            "price_to_prz_pct_raw": 0.3654,
            "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": "butterfly",
              "d_price": 66087.42,
              "a_price": 65314.3,
              "tp1_ad_382": 65792.09,
              "tp2_ad_618": 65609.63,
              "tp3_a_or_structure_liquidity": 65314.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8022,
              "ABC": 0.6591
            },
            "x_price": 65880.0,
            "x_idx": 140,
            "x_order": 8,
            "a_price": 65314.3,
            "a_idx": 144,
            "a_order": 5,
            "b_price": 65768.1,
            "b_idx": 175,
            "b_order": 3,
            "c_price": 65469.0,
            "c_idx": 178,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.879,
            "ratio_score": 0.856,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 66310.32,
            "prz_range": [
              66199.13,
              66421.51
            ],
            "prz_width_pct": 0.335,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.7,
            "price_to_prz_pct_raw": 0.7039,
            "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": 66310.32,
              "a_price": 66956.7,
              "tp1_ad_382": 66557.24,
              "tp2_ad_618": 66709.78,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5937,
              "ABC": 0.6717
            },
            "x_price": 66086.6,
            "x_idx": 234,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 271,
            "a_order": 8,
            "b_price": 66440.1,
            "b_idx": 275,
            "b_order": 3,
            "c_price": 66787.1,
            "c_idx": 286,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.981,
            "ratio_score": 0.991,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 65871.05,
            "prz_range": [
              65688.55,
              66053.55
            ],
            "prz_width_pct": 0.554,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.04,
            "price_to_prz_pct_raw": 0.0368,
            "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": 65871.05,
              "a_price": 66915.2,
              "tp1_ad_382": 66269.92,
              "tp2_ad_618": 66516.34,
              "tp3_a_or_structure_liquidity": 66915.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6196,
              "ABC": 0.5514
            },
            "x_price": 65577.8,
            "x_idx": 160,
            "x_order": 5,
            "a_price": 66915.2,
            "a_idx": 193,
            "a_order": 8,
            "b_price": 66086.6,
            "b_idx": 234,
            "b_order": 3,
            "c_price": 66543.5,
            "c_idx": 262,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.975,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 65817.99,
            "prz_range": [
              65630.77,
              66005.22
            ],
            "prz_width_pct": 0.569,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.04,
            "price_to_prz_pct_raw": -0.0437,
            "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": "shark",
              "d_price": 65817.99,
              "a_price": 65580.0,
              "tp1_ad_382": 65727.08,
              "tp2_ad_618": 65670.91,
              "tp3_a_or_structure_liquidity": 65580.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5329,
              "ABC": 1.5901
            },
            "x_price": 65933.0,
            "x_idx": 165,
            "x_order": 3,
            "a_price": 65580.0,
            "a_idx": 171,
            "a_order": 5,
            "b_price": 65768.1,
            "b_idx": 175,
            "b_order": 3,
            "c_price": 65469.0,
            "c_idx": 178,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.962,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 66074.66,
            "prz_range": [
              65877.7,
              66271.61
            ],
            "prz_width_pct": 0.596,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.35,
            "price_to_prz_pct_raw": 0.346,
            "harmonic_vote_state": {
              "authority": "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": 66074.66,
              "a_price": 66956.7,
              "tp1_ad_382": 66411.6,
              "tp2_ad_618": 66619.76,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4348,
              "ABC": 0.6105
            },
            "x_price": 65768.7,
            "x_idx": 254,
            "x_order": 3,
            "a_price": 66956.7,
            "a_idx": 271,
            "a_order": 8,
            "b_price": 66440.1,
            "b_idx": 275,
            "b_order": 3,
            "c_price": 66755.5,
            "c_idx": 277,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.948,
            "ratio_score": 0.951,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 65667.39,
            "prz_range": [
              65471.42,
              65863.35
            ],
            "prz_width_pct": 0.597,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.27,
            "price_to_prz_pct_raw": -0.2725,
            "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": 65667.39,
              "a_price": 67255.4,
              "tp1_ad_382": 66274.01,
              "tp2_ad_618": 66648.78,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6263,
              "ABC": 0.3971
            },
            "x_price": 66265.0,
            "x_idx": 196,
            "x_order": 5,
            "a_price": 67255.4,
            "a_idx": 203,
            "a_order": 8,
            "b_price": 66635.1,
            "b_idx": 210,
            "b_order": 5,
            "c_price": 66388.8,
            "c_idx": 243,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.935,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 66465.3,
            "prz_range": [
              66401.4,
              66529.21
            ],
            "prz_width_pct": 0.192,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.94,
            "price_to_prz_pct_raw": 0.9393,
            "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": 66465.3,
              "a_price": 66265.0,
              "tp1_ad_382": 66388.79,
              "tp2_ad_618": 66341.52,
              "tp3_a_or_structure_liquidity": 66265.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4616,
              "ABC": 0.5121
            },
            "x_price": 65996.8,
            "x_idx": 155,
            "x_order": 8,
            "a_price": 66265.0,
            "a_idx": 196,
            "a_order": 5,
            "b_price": 66388.8,
            "b_idx": 243,
            "b_order": 3,
            "c_price": 66325.4,
            "c_idx": 282,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.935,
            "ratio_score": 0.976,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 65444.96,
            "prz_range": [
              65332.11,
              65557.8
            ],
            "prz_width_pct": 0.345,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.61,
            "price_to_prz_pct_raw": -0.6103,
            "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": 65444.96,
              "a_price": 65996.8,
              "tp1_ad_382": 65655.76,
              "tp2_ad_618": 65786.0,
              "tp3_a_or_structure_liquidity": 65996.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6139,
              "ABC": 0.8477
            },
            "x_price": 65314.3,
            "x_idx": 144,
            "x_order": 5,
            "a_price": 65996.8,
            "a_idx": 155,
            "a_order": 8,
            "b_price": 65577.8,
            "b_idx": 160,
            "b_order": 5,
            "c_price": 65933.0,
            "c_idx": 165,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.934,
            "ratio_score": 0.924,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 66087.42,
            "prz_range": [
              65896.37,
              66278.48
            ],
            "prz_width_pct": 0.578,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.37,
            "price_to_prz_pct_raw": 0.3654,
            "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": "butterfly",
              "d_price": 66087.42,
              "a_price": 65314.3,
              "tp1_ad_382": 65792.09,
              "tp2_ad_618": 65609.63,
              "tp3_a_or_structure_liquidity": 65314.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8022,
              "ABC": 0.6591
            },
            "x_price": 65880.0,
            "x_idx": 140,
            "x_order": 8,
            "a_price": 65314.3,
            "a_idx": 144,
            "a_order": 5,
            "b_price": 65768.1,
            "b_idx": 175,
            "b_order": 3,
            "c_price": 65469.0,
            "c_idx": 178,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.933,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 66574.07,
            "prz_range": [
              66422.57,
              66725.58
            ],
            "prz_width_pct": 0.455,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.1,
            "price_to_prz_pct_raw": 1.1045,
            "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": "crab",
              "d_price": 66574.07,
              "a_price": 66265.0,
              "tp1_ad_382": 66456.01,
              "tp2_ad_618": 66383.07,
              "tp3_a_or_structure_liquidity": 66265.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4616,
              "ABC": 0.5121
            },
            "x_price": 65996.8,
            "x_idx": 155,
            "x_order": 8,
            "a_price": 66265.0,
            "a_idx": 196,
            "a_order": 5,
            "b_price": 66388.8,
            "b_idx": 243,
            "b_order": 3,
            "c_price": 66325.4,
            "c_idx": 282,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.928,
            "ratio_score": 0.949,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 65768.7,
            "prz_range": [
              65717.64,
              66016.63
            ],
            "prz_width_pct": 0.454,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.03,
            "price_to_prz_pct_raw": 0.0309,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.521,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 65867.14,
              "a_price": 67255.4,
              "tp1_ad_382": 66397.45,
              "tp2_ad_618": 66725.08,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3698,
              "ABC": 0.3971,
              "BCD": 2.5177,
              "XAD": 0.8862
            },
            "x_price": 65577.8,
            "x_idx": 160,
            "x_order": 5,
            "a_price": 67255.4,
            "a_idx": 203,
            "a_order": 8,
            "b_price": 66635.1,
            "b_idx": 210,
            "b_order": 5,
            "c_price": 66388.8,
            "c_idx": 243,
            "c_order": 3,
            "d_idx": 254
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.916,
            "ratio_score": 0.923,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 65607.1,
            "prz_range": [
              65471.42,
              65863.35
            ],
            "prz_width_pct": 0.597,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.27,
            "price_to_prz_pct_raw": -0.2725,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.435,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 65667.39,
              "a_price": 67255.4,
              "tp1_ad_382": 66274.01,
              "tp2_ad_618": 66648.78,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6263,
              "ABC": 0.3971,
              "BCD": 3.1738,
              "XAD": 1.6643
            },
            "x_price": 66265.0,
            "x_idx": 196,
            "x_order": 5,
            "a_price": 67255.4,
            "a_idx": 203,
            "a_order": 8,
            "b_price": 66635.1,
            "b_idx": 210,
            "b_order": 5,
            "c_price": 66388.8,
            "c_idx": 243,
            "c_order": 3,
            "d_idx": 249
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.911,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 66510.61,
            "prz_range": [
              66342.19,
              66679.03
            ],
            "prz_width_pct": 0.506,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.01,
            "price_to_prz_pct_raw": 1.0081,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 66510.61,
              "a_price": 66086.6,
              "tp1_ad_382": 66348.64,
              "tp2_ad_618": 66248.57,
              "tp3_a_or_structure_liquidity": 66086.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5199,
              "ABC": 1.1347
            },
            "x_price": 65768.1,
            "x_idx": 175,
            "x_order": 3,
            "a_price": 66086.6,
            "a_idx": 234,
            "a_order": 3,
            "b_price": 66252.2,
            "b_idx": 252,
            "b_order": 5,
            "c_price": 66440.1,
            "c_idx": 275,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.909,
            "ratio_score": 0.958,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 65469.0,
            "prz_range": [
              65332.11,
              65557.8
            ],
            "prz_width_pct": 0.345,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.61,
            "price_to_prz_pct_raw": -0.6103,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.842,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 65444.96,
              "a_price": 65996.8,
              "tp1_ad_382": 65655.76,
              "tp2_ad_618": 65786.0,
              "tp3_a_or_structure_liquidity": 65996.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6139,
              "ABC": 0.8477,
              "BCD": 1.3063,
              "XAD": 0.7733
            },
            "x_price": 65314.3,
            "x_idx": 144,
            "x_order": 5,
            "a_price": 65996.8,
            "a_idx": 155,
            "a_order": 8,
            "b_price": 65577.8,
            "b_idx": 160,
            "b_order": 5,
            "c_price": 65933.0,
            "c_idx": 165,
            "c_order": 3,
            "d_idx": 178
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.981,
            "prz_proximity": "active",
            "prz_range": [
              65688.55,
              66053.55
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.04,
            "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": 65871.05,
              "a_price": 66915.2,
              "tp1_ad_382": 66269.92,
              "tp2_ad_618": 66516.34,
              "tp3_a_or_structure_liquidity": 66915.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $65,688.55-$66,053.55: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.975,
            "prz_proximity": "active",
            "prz_range": [
              65630.77,
              66005.22
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": -0.04,
            "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": "shark",
              "d_price": 65817.99,
              "a_price": 65580.0,
              "tp1_ad_382": 65727.08,
              "tp2_ad_618": 65670.91,
              "tp3_a_or_structure_liquidity": 65580.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "SHARK FORMING HIGH PRZ $65,630.77-$66,005.22: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.962,
            "prz_proximity": "active",
            "prz_range": [
              65877.7,
              66271.61
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.35,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 66074.66,
              "a_price": 66956.7,
              "tp1_ad_382": 66411.6,
              "tp2_ad_618": 66619.76,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $65,877.70-$66,271.61: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.948,
            "prz_proximity": "active",
            "prz_range": [
              65471.42,
              65863.35
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.27,
            "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": 65667.39,
              "a_price": 67255.4,
              "tp1_ad_382": 66274.01,
              "tp2_ad_618": 66648.78,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "CRAB FORMING HIGH PRZ $65,471.42-$65,863.35: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.935,
            "prz_proximity": "nearby",
            "prz_range": [
              65332.11,
              65557.8
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.61,
            "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": 65444.96,
              "a_price": 65996.8,
              "tp1_ad_382": 65655.76,
              "tp2_ad_618": 65786.0,
              "tp3_a_or_structure_liquidity": 65996.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $65,332.11-$65,557.80: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.934,
            "prz_proximity": "active",
            "prz_range": [
              65896.37,
              66278.48
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.37,
            "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": "butterfly",
              "d_price": 66087.42,
              "a_price": 65314.3,
              "tp1_ad_382": 65792.09,
              "tp2_ad_618": 65609.63,
              "tp3_a_or_structure_liquidity": 65314.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY FORMING HIGH PRZ $65,896.37-$66,278.48: expected reversal DOWN if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.981,
          "ratio_score": 0.991,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 65871.05,
          "prz_range": [
            65688.55,
            66053.55
          ],
          "prz_width_pct": 0.554,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 0.04,
          "price_to_prz_pct_raw": 0.0368,
          "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": 65871.05,
            "a_price": 66915.2,
            "tp1_ad_382": 66269.92,
            "tp2_ad_618": 66516.34,
            "tp3_a_or_structure_liquidity": 66915.2,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.6196,
            "ABC": 0.5514
          },
          "x_price": 65577.8,
          "x_idx": 160,
          "x_order": 5,
          "a_price": 66915.2,
          "a_idx": 193,
          "a_order": 8,
          "b_price": 66086.6,
          "b_idx": 234,
          "b_order": 3,
          "c_price": 66543.5,
          "c_idx": 262,
          "c_order": 5,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 65871.05,
          "a_price": 66915.2,
          "tp1_ad_382": 66269.92,
          "tp2_ad_618": 66516.34,
          "tp3_a_or_structure_liquidity": 66915.2,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "crab",
          "d_price": 65667.39,
          "a_price": 67255.4,
          "tp1_ad_382": 66274.01,
          "tp2_ad_618": 66648.78,
          "tp3_a_or_structure_liquidity": 67255.4,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 65871.05,
            "a_price": 66915.2,
            "tp1_ad_382": 66269.92,
            "tp2_ad_618": 66516.34,
            "tp3_a_or_structure_liquidity": 66915.2,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "shark",
            "d_price": 65817.99,
            "a_price": 65580.0,
            "tp1_ad_382": 65727.08,
            "tp2_ad_618": 65670.91,
            "tp3_a_or_structure_liquidity": 65580.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 66074.66,
            "a_price": 66956.7,
            "tp1_ad_382": 66411.6,
            "tp2_ad_618": 66619.76,
            "tp3_a_or_structure_liquidity": 66956.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 65667.39,
            "a_price": 67255.4,
            "tp1_ad_382": 66274.01,
            "tp2_ad_618": 66648.78,
            "tp3_a_or_structure_liquidity": 67255.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 65444.96,
            "a_price": 65996.8,
            "tp1_ad_382": 65655.76,
            "tp2_ad_618": 65786.0,
            "tp3_a_or_structure_liquidity": 65996.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "butterfly",
            "d_price": 66087.42,
            "a_price": 65314.3,
            "tp1_ad_382": 65792.09,
            "tp2_ad_618": 65609.63,
            "tp3_a_or_structure_liquidity": 65314.3,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 65867.14,
            "a_price": 67255.4,
            "tp1_ad_382": 66397.45,
            "tp2_ad_618": 66725.08,
            "tp3_a_or_structure_liquidity": 67255.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 65667.39,
            "a_price": 67255.4,
            "tp1_ad_382": 66274.01,
            "tp2_ad_618": 66648.78,
            "tp3_a_or_structure_liquidity": 67255.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 65444.96,
            "a_price": 65996.8,
            "tp1_ad_382": 65655.76,
            "tp2_ad_618": 65786.0,
            "tp3_a_or_structure_liquidity": 65996.8,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 2.463,
          "bearish": 0.404
        },
        "directional_score_total": 2.868,
        "directional_dominance": 0.718
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.66,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"완성된 bullish Bat PRZ $65,717.64-$66,016.63에서 반응 확인: D $65,768.70, 현재가 $65,846.80, reaction_score 0.90\",\n    \"완성된 bullish Crab PRZ $65,471.42-$65,863.35에서 방어 확인: D $65,607.10, D/PRZ failure-zone defended, reaction_score 1.00\",\n    \"완성된 bullish Gartley PRZ $65,332.11-$65,557.80에서 강한 사후 반응 확인: AD 0.382 이상 반응, reaction_move_ratio_ad 1.842\",\n    \"현재가가 핵심 활성 PRZ 클러스터 내부/상단에 위치: nearest PRZ $65,867.14와 거리 0.03%\",\n    \"형성 중인 고품질 bullish Gartley PRZ $65,688.55-$66,053.55, score 0.981, XAB 0.6196로 0.618 Gartley 조건에 근접\",\n    \"하모닉 방향 점수 bullish 2.463 vs bearish 0.404, directional_dominance 0.718\"\n  ],\n  \"reasoning\": \"15분봉 하모닉 관점에서는 bullish 쪽이 우세하지만, 확인된 BOS/CHoCH 또는 상위 구조 수용 데이터가 없으므로 structure_bias는 neutral로 둔다. 현재가 $65,846.80은 완성된 bullish Bat PRZ $65,717.64-$66,016.63 및 bullish Crab PRZ $65,471.42-$65,863.35와 겹치는 반응 구간에 있으며, 두 패턴 모두 PRZ 방어와 AD 0.382 반응을 충족했다. 특히 confirmed Bat의 TP는 $66,397.45, $66,725.08, $67,255.40이고, confirmed Crab의 TP는 $66,274.01, $66,648.78, $67,255.40으로 상방 TP 클러스터가 뚜렷하다. 다만 $65,896.37-$66,278.48에는 형성 중인 bearish Butterfly PRZ가 겹쳐 있어, $66,000-$66,280 구간에서는 즉시 추격보다 재수용 여부 확인이 필요하다.\",\n  \"key_levels\": {\n    \"support\": [\n      65863.35,\n      65717.64,\n      65688.55,\n      65471.42,\n      65332.11\n    ],\n    \"resistance\": [\n      66016.63,\n      66053.55,\n      66278.48,\n      66397.45,\n      66648.78,\n      66725.08,\n      67255.4\n    ]\n  },\n  \"time_horizon\": \"단기, 15분봉 기준 다음 수 시간 내 PRZ 반응 지속 여부\",\n  \"invalidation_level\": \"$65,332.11 하향 이탈\",\n  \"risk_scenario\": \"$65,896.37-$66,278.48의 bearish Butterfly PRZ와 $65,630.77-$66,005.22의 bearish Shark 후보가 방어되면, 현재 bullish 반응은 실패한 되돌림이 되고 $65,727.08, $65,670.91, 최종 $65,580.00 방향으로 재하락할 수 있다. 특히 $65,471.42-$65,557.80 아래로 15분봉 종가가 안착하면 bullish PRZ 클러스터 방어 실패로 해석한다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.64,
    "execution_setup": {
      "setup_bias": "bullish",
      "setup_strength": 0.58,
      "active_setups": [
        "현재가 $65,846.80은 ICT 기준 EQ $66,142.75 아래의 discount 구간이며, 되돌림 87.2%로 깊은 매수 반응 후보 구간",
        "고거래량 bullish_harami 품질 0.770 및 piercing_pattern 품질 0.715가 EMA240 $65,708.56 위에서 발생",
        "완성된 bullish Bat PRZ $65,717.64-$66,016.63 및 bullish Crab PRZ $65,471.42-$65,863.35에서 방어 반응 확인",
        "단, $65,885.87 0.382 피보나치 저항과 $66,021.97-$66,099.62 EMA 저항대 아래에 있어 즉시 구조 전환은 미확정",
        "파생 포지셔닝은 CVD -2332.1010, 롱 계정 비율 0.585로 반등 실패 시 롱 청산 취약성을 동반"
      ],
      "setup_vs_structure": "구조는 Wyckoff 분배 Phase D/LPSY 이후의 약세 해석이 우세하지만, 실행 셋업은 discount·PRZ 방어·고거래량 반전 캔들로 단기 매수 반응이 더 많이 포착된다. 즉, 구조와 셋업이 분리되어 있으며 현재 구간은 약세 구조 내부의 반등/재수용 테스트 성격이 강하다."
    },
    "signal_breakdown": {
      "bullish_count": 0,
      "bearish_count": 2,
      "neutral_count": 4
    },
    "key_levels": {
      "support": [
        65708.56,
        65672.96,
        65580.0,
        65452.7,
        65328.8,
        64738.0,
        64338.8,
        63650.0
      ],
      "resistance": [
        65885.87,
        66016.63,
        66021.97,
        66057.95,
        66099.62,
        66142.75,
        66230.03,
        66426.9,
        66787.1,
        67255.4
      ]
    },
    "confluences": [
      "Candlestick, Derivatives, Wyckoff가 모두 $66,021.97 EMA20과 $66,099.62 EMA120 부근을 단기 구조 저항으로 식별한다.",
      "Wyckoff의 LPSY $66,787.10, Derivatives의 상방 유동성 $66,800, Harmonic의 상단 TP/PRZ $66,648.78-$66,725.08이 $66,650-$66,800 구간을 중요 공급/검증대로 만든다.",
      "Wyckoff의 UTAD $67,255.40, Candlestick의 7일 고점 $67,255.40, ICT의 전일 고점 $67,255.40, Harmonic의 상위 TP $67,255.40이 동일한 상단 구조 기준으로 일치한다.",
      "ICT range low $65,328.80, Fibonacci ext_1.0 $65,328.80, Harmonic bullish Gartley PRZ $65,332.11-$65,557.80이 $65,330-$65,560 구간을 하단 반응/방어 후보로 공통 지목한다.",
      "Candlestick의 EMA240 $65,708.56, Fibonacci support $65,672.96, Harmonic bullish Bat/Crab PRZ $65,717.64 및 $65,863.35가 현재가 인근 $65,670-$65,865를 단기 PRZ·지지 혼합 구간으로 형성한다.",
      "Fibonacci 0.382 저항 $65,885.87, Harmonic bearish Butterfly PRZ $65,896.37-$66,278.48, EMA 저항 $66,021.97-$66,099.62가 $65,885-$66,280 구간에서 매수 반응의 품질을 검증하는 저항 클러스터를 만든다."
    ],
    "conflicts": [
      "Wyckoff와 Fibonacci는 구조적으로 약세를 제시하지만, Candlestick·ICT·Harmonic은 현재 가격 위치와 PRZ 반응을 근거로 실행 셋업은 매수 우위라고 본다.",
      "Harmonic은 완성된 bullish Bat/Crab/Gartley 반응을 근거로 $66,274-$66,725 상방 TP 클러스터를 제시하지만, 동일 구간 안에 bearish Butterfly PRZ $65,896.37-$66,278.48도 존재해 단독 방향성 근거로 쓰기 어렵다.",
      "ICT는 discount 87.2% 되돌림을 매수 조건으로 해석하지만, 파생 데이터는 CVD -2332.1010과 롱 계정 쏠림 0.585로 매수 주도권이 약하다고 판단한다.",
      "Candlestick의 고거래량 bullish_harami 및 piercing_pattern은 단기 반전 품질이 높지만, 현재가가 EMA20 $66,021.97 및 EMA120 $66,099.62 아래에 있어 구조 전환 확인과 충돌한다."
    ],
    "executive_summary": "현재 15분 구조는 완성된 상승 전환이라기보다 Wyckoff 분배 후보 구조의 Phase D, 즉 UTAD $67,255.40 이후 LPSY $66,787.10 아래에서 거래되는 약세 구조로 진단된다. 다만 가격은 $65,330-$65,865의 discount·하모닉 PRZ·단기 지지 클러스터 안에 있어 실행 레벨에서는 매수 반응 후보가 강하게 나타나며, 이는 구조적 약세와 단기 셋업이 충돌하는 구간이다. 핵심 구조 저항은 $66,021.97-$66,099.62 EMA대와 ICT EQ $66,142.75, 이후 CHoCH $66,426.90 및 LPSY $66,787.10이며, 이 구간을 회복하지 못하면 분배 구조 해석은 유지된다. 하단에서는 $65,452.70, $65,328.80, $64,738.00-$64,338.80이 구조적 방어·붕괴 판단 구간이며, 상단 $67,255.40 회복은 현재 약세 분배 논리를 무효화하는 핵심 조건이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.64,\n  \"execution_setup\": {\n    \"setup_bias\": \"bullish\",\n    \"setup_strength\": 0.58,\n    \"active_setups\": [\n      \"현재가 $65,846.80은 ICT 기준 EQ $66,142.75 아래의 discount 구간이며, 되돌림 87.2%로 깊은 매수 반응 후보 구간\",\n      \"고거래량 bullish_harami 품질 0.770 및 piercing_pattern 품질 0.715가 EMA240 $65,708.56 위에서 발생\",\n      \"완성된 bullish Bat PRZ $65,717.64-$66,016.63 및 bullish Crab PRZ $65,471.42-$65,863.35에서 방어 반응 확인\",\n      \"단, $65,885.87 0.382 피보나치 저항과 $66,021.97-$66,099.62 EMA 저항대 아래에 있어 즉시 구조 전환은 미확정\",\n      \"파생 포지셔닝은 CVD -2332.1010, 롱 계정 비율 0.585로 반등 실패 시 롱 청산 취약성을 동반\"\n    ],\n    \"setup_vs_structure\": \"구조는 Wyckoff 분배 Phase D/LPSY 이후의 약세 해석이 우세하지만, 실행 셋업은 discount·PRZ 방어·고거래량 반전 캔들로 단기 매수 반응이 더 많이 포착된다. 즉, 구조와 셋업이 분리되어 있으며 현재 구간은 약세 구조 내부의 반등/재수용 테스트 성격이 강하다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 0,\n    \"bearish_count\": 2,\n    \"neutral_count\": 4\n  },\n  \"key_levels\": {\n    \"support\": [\n      65708.56,\n      65672.96,\n      65580.0,\n      65452.7,\n      65328.8,\n      64738.0,\n      64338.8,\n      63650.0\n    ],\n    \"resistance\": [\n      65885.87,\n      66016.63,\n      66021.97,\n      66057.95,\n      66099.62,\n      66142.75,\n      66230.03,\n      66426.9,\n      66787.1,\n      67255.4\n    ]\n  },\n  \"confluences\": [\n    \"Candlestick, Derivatives, Wyckoff가 모두 $66,021.97 EMA20과 $66,099.62 EMA120 부근을 단기 구조 저항으로 식별한다.\",\n    \"Wyckoff의 LPSY $66,787.10, Derivatives의 상방 유동성 $66,800, Harmonic의 상단 TP/PRZ $66,648.78-$66,725.08이 $66,650-$66,800 구간을 중요 공급/검증대로 만든다.\",\n    \"Wyckoff의 UTAD $67,255.40, Candlestick의 7일 고점 $67,255.40, ICT의 전일 고점 $67,255.40, Harmonic의 상위 TP $67,255.40이 동일한 상단 구조 기준으로 일치한다.\",\n    \"ICT range low $65,328.80, Fibonacci ext_1.0 $65,328.80, Harmonic bullish Gartley PRZ $65,332.11-$65,557.80이 $65,330-$65,560 구간을 하단 반응/방어 후보로 공통 지목한다.\",\n    \"Candlestick의 EMA240 $65,708.56, Fibonacci support $65,672.96, Harmonic bullish Bat/Crab PRZ $65,717.64 및 $65,863.35가 현재가 인근 $65,670-$65,865를 단기 PRZ·지지 혼합 구간으로 형성한다.\",\n    \"Fibonacci 0.382 저항 $65,885.87, Harmonic bearish Butterfly PRZ $65,896.37-$66,278.48, EMA 저항 $66,021.97-$66,099.62가 $65,885-$66,280 구간에서 매수 반응의 품질을 검증하는 저항 클러스터를 만든다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff와 Fibonacci는 구조적으로 약세를 제시하지만, Candlestick·ICT·Harmonic은 현재 가격 위치와 PRZ 반응을 근거로 실행 셋업은 매수 우위라고 본다.\",\n    \"Harmonic은 완성된 bullish Bat/Crab/Gartley 반응을 근거로 $66,274-$66,725 상방 TP 클러스터를 제시하지만, 동일 구간 안에 bearish Butterfly PRZ $65,896.37-$66,278.48도 존재해 단독 방향성 근거로 쓰기 어렵다.\",\n    \"ICT는 discount 87.2% 되돌림을 매수 조건으로 해석하지만, 파생 데이터는 CVD -2332.1010과 롱 계정 쏠림 0.585로 매수 주도권이 약하다고 판단한다.\",\n    \"Candlestick의 고거래량 bullish_harami 및 piercing_pattern은 단기 반전 품질이 높지만, 현재가가 EMA20 $66,021.97 및 EMA120 $66,099.62 아래에 있어 구조 전환 확인과 충돌한다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — DIS 점수 96.2, regime fitness 0.963, UTAD $67,255.40 이후 LPSY $66,787.10 형성이라는 명확한 분배 Phase D 구조를 제시하며, 다른 분석보다 구조 해석의 일관성과 레벨 정밀도가 가장 높다.\",\n  \"invalidation_level\": \"1차 구조 약화는 LPSY $66,787.10 회복, 최종 약세 구조 무효화는 UTAD/전일 고점 $67,255.40 상방 안착\",\n  \"executive_summary\": \"현재 15분 구조는 완성된 상승 전환이라기보다 Wyckoff 분배 후보 구조의 Phase D, 즉 UTAD $67,255.40 이후 LPSY $66,787.10 아래에서 거래되는 약세 구조로 진단된다. 다만 가격은 $65,330-$65,865의 discount·하모닉 PRZ·단기 지지 클러스터 안에 있어 실행 레벨에서는 매수 반응 후보가 강하게 나타나며, 이는 구조적 약세와 단기 셋업이 충돌하는 구간이다. 핵심 구조 저항은 $66,021.97-$66,099.62 EMA대와 ICT EQ $66,142.75, 이후 CHoCH $66,426.90 및 LPSY $66,787.10이며, 이 구간을 회복하지 못하면 분배 구조 해석은 유지된다. 하단에서는 $65,452.70, $65,328.80, $64,738.00-$64,338.80이 구조적 방어·붕괴 판단 구간이며, 상단 $67,255.40 회복은 현재 약세 분배 논리를 무효화하는 핵심 조건이다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.64,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.55,
    "waypoints": [
      {
        "seq": 1,
        "price": 66099.62,
        "type": "resistance_test",
        "source": "Candlestick(EMA20 $66,021.97/EMA120 $66,099.62 저항), Derivatives(동일 EMA대 반등 수용 실패), Wyckoff(EMA 저항), ICT(EQ $66,142.75 인접), Harmonic(Bat PRZ 상단 $66,016.63 및 TP)",
        "description": "셋업 우위(BULLISH 58%)를 우선 반영한 교정적 반등. 고거래량 bullish_harami 0.770·piercing 0.715와 방어된 Bat/Crab PRZ가 단기 매수 반응을 지지하나, Candlestick·Derivatives·Wyckoff가 공통 지목한 EMA20 $66,021.97~EMA120 $66,099.62 저항대와 ICT EQ $66,142.75는 약세 구조의 핵심 거부 구간. 즉시 추격이 아닌 반등 후 거부 검증 자리.",
        "est_hours": 4.0,
        "turning_zone": [
          66099.62,
          66230.03
        ],
        "likely_wick": 66143.99,
        "rejection_confirm": 66021.97,
        "invalid_overshoot": 66274.01,
        "calibration_reasoning": "상승 거부 테스트로 EMA120 $66,099.62를 존 하단, ICT EQ $66,142.75·fib 0.5/0.618 합류 $66,143.99를 1차 거부 자석, golden ratio 0.618 $66,230.03(+0.53 ATR)을 상단으로 설정. EMA20 $66,021.97 이탈로 거부 확정, 상승 정렬 crab TP1 $66,274.01 상회 시 단순 저항거부 논리 무효."
      },
      {
        "seq": 2,
        "price": 65328.8,
        "type": "liquidity_sweep",
        "source": "ICT(range low $65,328.80), Fibonacci(ext_1.0 $65,328.80), Harmonic(Gartley PRZ $65,332.11), Wyckoff(EQ $65,452.70 경유)",
        "description": "EMA 저항대 거부 후 분배 Phase D 약세 구조 재개. 7일 EQ $65,452.70을 경유해 ICT range low·fib ext_1.0 $65,328.80과 bullish Gartley PRZ $65,332.11 하단의 유동성을 스윕. discount 지지 클러스터($65,330~$65,471)의 방어 여부를 가르는 1차 검증 구간으로, 파생 롱쏠림(0.585, CVD -2332)이 청산 압력을 더한다.",
        "est_hours": 12.0,
        "turning_zone": [
          65231.0,
          65332.11
        ],
        "likely_wick": 65255.0,
        "rejection_confirm": 65390.75,
        "invalid_overshoot": 65180.0,
        "calibration_reasoning": "하락 유동성 스윕이라 fib ext_1.0 $65,328.80·bullish Gartley PRZ $65,332.11을 존 상단, 지지 하단 청산 유동성을 ATR 0.4배(~$65,231)로 잡아 likely_wick $65,255 설정. fib 합류 $65,390.75 회복 시 스윕 반응(방어) 확정, $65,180 종가 이탈 시 분배 연속으로 전환되어 무효."
      },
      {
        "seq": 3,
        "price": 64738.0,
        "type": "extension",
        "source": "Wyckoff(BC $64,738.00 재진입 핵심), Candlestick(support), Fibonacci(인근 confluence $64,979.70/$64,524.73)",
        "description": "$65,328.80 종가 이탈 시 Wyckoff 분배 Phase D→E 연장. 원앵커 범위 하단 BC $64,738.00 재진입을 목표로 하며 도중 fib confluence $64,979.70(candidate)·$64,524.73(strict)가 중간 반응 후보. 약세 시나리오의 24시간 저점 영역이며, $64,338.80 이탈 시 Phase E 확정으로 추가 가속.",
        "est_hours": 21.0,
        "turning_zone": [
          64524.73,
          64738.0
        ],
        "likely_wick": 64524.73,
        "rejection_confirm": 64979.7,
        "invalid_overshoot": 64338.8,
        "calibration_reasoning": "터미널 하락 연장으로 원앵커 BC $64,738.00을 존 상단, 3중 fib 합류 $64,524.73(ret_0.786·ext_1.618·ext_1.414)+라운드 $64,500 자석을 최유력 wick 겸 하단으로 0.87 ATR 확장. fib 합류 $64,979.70 회복 시 반전 확정, Phase E 가속 트리거 $64,338.80 종가 이탈 시 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 66099.62,
        "expected_low": 65708.56,
        "high_first": true
      },
      "8h": {
        "expected_high": 66099.62,
        "expected_low": 65452.7,
        "high_first": true
      },
      "24h": {
        "expected_high": 66142.75,
        "expected_low": 64738.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 66426.9,
        "description": "CHoCH $66,426.90 위 종가 안착 시 구조가 불리시로 전환. 반등 거부 논리가 무효화되며 LPSY $66,787.10·UTAD $67,255.40 재시험 경로가 열린다. 이는 셋업(매수)이 구조(약세)를 이기는 시나리오."
      },
      "bearish": {
        "price": 65328.8,
        "description": "ICT range low·fib ext_1.0 $65,328.80 및 Gartley PRZ $65,332.11을 종가 기준 하향 이탈하면 discount 지지 전부 상실. WP2 스윕이 단순 스윕이 아닌 붕괴로 확정되며 $64,738.00~$64,338.80 구간으로 가속."
      }
    },
    "scenario_invalidation": 66787.1,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.55,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 66099.62,\n      \"type\": \"resistance_test\",\n      \"source\": \"Candlestick(EMA20 $66,021.97/EMA120 $66,099.62 저항), Derivatives(동일 EMA대 반등 수용 실패), Wyckoff(EMA 저항), ICT(EQ $66,142.75 인접), Harmonic(Bat PRZ 상단 $66,016.63 및 TP)\",\n      \"description\": \"셋업 우위(BULLISH 58%)를 우선 반영한 교정적 반등. 고거래량 bullish_harami 0.770·piercing 0.715와 방어된 Bat/Crab PRZ가 단기 매수 반응을 지지하나, Candlestick·Derivatives·Wyckoff가 공통 지목한 EMA20 $66,021.97~EMA120 $66,099.62 저항대와 ICT EQ $66,142.75는 약세 구조의 핵심 거부 구간. 즉시 추격이 아닌 반등 후 거부 검증 자리.\",\n      \"est_hours\": 4.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 65328.8,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"ICT(range low $65,328.80), Fibonacci(ext_1.0 $65,328.80), Harmonic(Gartley PRZ $65,332.11), Wyckoff(EQ $65,452.70 경유)\",\n      \"description\": \"EMA 저항대 거부 후 분배 Phase D 약세 구조 재개. 7일 EQ $65,452.70을 경유해 ICT range low·fib ext_1.0 $65,328.80과 bullish Gartley PRZ $65,332.11 하단의 유동성을 스윕. discount 지지 클러스터($65,330~$65,471)의 방어 여부를 가르는 1차 검증 구간으로, 파생 롱쏠림(0.585, CVD -2332)이 청산 압력을 더한다.\",\n      \"est_hours\": 12.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 64738.0,\n      \"type\": \"extension\",\n      \"source\": \"Wyckoff(BC $64,738.00 재진입 핵심), Candlestick(support), Fibonacci(인근 confluence $64,979.70/$64,524.73)\",\n      \"description\": \"$65,328.80 종가 이탈 시 Wyckoff 분배 Phase D→E 연장. 원앵커 범위 하단 BC $64,738.00 재진입을 목표로 하며 도중 fib confluence $64,979.70(candidate)·$64,524.73(strict)가 중간 반응 후보. 약세 시나리오의 24시간 저점 영역이며, $64,338.80 이탈 시 Phase E 확정으로 추가 가속.\",\n      \"est_hours\": 21.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 66099.62, \"expected_low\": 65708.56, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 66099.62, \"expected_low\": 65452.70, \"high_first\": true},\n    \"24h\": {\"expected_high\": 66142.75, \"expected_low\": 64738.00, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 66426.90, \"description\": \"CHoCH $66,426.90 위 종가 안착 시 구조가 불리시로 전환. 반등 거부 논리가 무효화되며 LPSY $66,787.10·UTAD $67,255.40 재시험 경로가 열린다. 이는 셋업(매수)이 구조(약세)를 이기는 시나리오.\"},\n    \"bearish\": {\"price\": 65328.80, \"description\": \"ICT range low·fib ext_1.0 $65,328.80 및 Gartley PRZ $65,332.11을 종가 기준 하향 이탈하면 discount 지지 전부 상실. WP2 스윕이 단순 스윕이 아닌 붕괴로 확정되며 $64,738.00~$64,338.80 구간으로 가속.\"}\n  },\n  \"scenario_invalidation\": 66787.10\n}\n```\n\n**경로 요약 (한국어):** 셋업(BULLISH 58%, ≥0.5)이 구조(BEARISH 64%)와 분리되어 있으므로, 규칙에 따라 **WP1은 셋업 방향(상방 반등)**으로 먼저 배치하고 이후 구조적 약세 연장을 따른다. 단, 셋업 강도가 0.7 미만이라 고확신 선반영이 아닌 **약세 구조 내부의 교정 반등**으로 해석했다.\n\n- **핵심 흐름:** EMA대($66,022~$66,100)·ICT EQ($66,143) 반등 거부 → 7일 EQ 경유 range low $65,328.80 스윕 → BC $64,738 연장.\n- **WP1 후보 처리:** 표 최상위 $65,812.32(strict 0.85)는 현재가 0.05% 거리로 독립 웨이포인트 스윙(≥0.5·ATR) 미달이라 즉시 지지/노이즈로만 반영했고, 하단 strict fib confluence($64,524.73)는 WP3 연장 영역의 turning zone으로 흡수했다.\n- **하모닉 처리:** 확정 PRZ 반응은 TP 래더 입력으로만 사용했고 WP1을 상방으로 띄우는 근거로는 쓰지 않았다(파생·구조가 모두 약세이므로).\n- **신뢰도 0.55:** 셋업↔구조 충돌과 방어된 discount PRZ가 하방 쿠션으로 작용해 깔끔한 추세 대비 낮게 책정했다."
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 66099.62,
        "turning_zone": [
          66099.62,
          66230.03
        ],
        "likely_wick": 66143.99,
        "rejection_confirm": 66021.97,
        "invalid_overshoot": 66274.01,
        "calibration_reasoning": "상승 거부 테스트로 EMA120 $66,099.62를 존 하단, ICT EQ $66,142.75·fib 0.5/0.618 합류 $66,143.99를 1차 거부 자석, golden ratio 0.618 $66,230.03(+0.53 ATR)을 상단으로 설정. EMA20 $66,021.97 이탈로 거부 확정, 상승 정렬 crab TP1 $66,274.01 상회 시 단순 저항거부 논리 무효."
      },
      {
        "seq": 2,
        "base_target": 65328.8,
        "turning_zone": [
          65231.0,
          65332.11
        ],
        "likely_wick": 65255.0,
        "rejection_confirm": 65390.75,
        "invalid_overshoot": 65180.0,
        "calibration_reasoning": "하락 유동성 스윕이라 fib ext_1.0 $65,328.80·bullish Gartley PRZ $65,332.11을 존 상단, 지지 하단 청산 유동성을 ATR 0.4배(~$65,231)로 잡아 likely_wick $65,255 설정. fib 합류 $65,390.75 회복 시 스윕 반응(방어) 확정, $65,180 종가 이탈 시 분배 연속으로 전환되어 무효."
      },
      {
        "seq": 3,
        "base_target": 64738.0,
        "turning_zone": [
          64524.73,
          64738.0
        ],
        "likely_wick": 64524.73,
        "rejection_confirm": 64979.7,
        "invalid_overshoot": 64338.8,
        "calibration_reasoning": "터미널 하락 연장으로 원앵커 BC $64,738.00을 존 상단, 3중 fib 합류 $64,524.73(ret_0.786·ext_1.618·ext_1.414)+라운드 $64,500 자석을 최유력 wick 겸 하단으로 0.87 ATR 확장. fib 합류 $64,979.70 회복 시 반전 확정, Phase E 가속 트리거 $64,338.80 종가 이탈 시 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 66099.62,\n      \"turning_zone\": [66099.62, 66230.03],\n      \"likely_wick\": 66143.99,\n      \"rejection_confirm\": 66021.97,\n      \"invalid_overshoot\": 66274.01,\n      \"calibration_reasoning\": \"상승 거부 테스트로 EMA120 $66,099.62를 존 하단, ICT EQ $66,142.75·fib 0.5/0.618 합류 $66,143.99를 1차 거부 자석, golden ratio 0.618 $66,230.03(+0.53 ATR)을 상단으로 설정. EMA20 $66,021.97 이탈로 거부 확정, 상승 정렬 crab TP1 $66,274.01 상회 시 단순 저항거부 논리 무효.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 65328.80,\n      \"turning_zone\": [65231.00, 65332.11],\n      \"likely_wick\": 65255.00,\n      \"rejection_confirm\": 65390.75,\n      \"invalid_overshoot\": 65180.00,\n      \"calibration_reasoning\": \"하락 유동성 스윕이라 fib ext_1.0 $65,328.80·bullish Gartley PRZ $65,332.11을 존 상단, 지지 하단 청산 유동성을 ATR 0.4배(~$65,231)로 잡아 likely_wick $65,255 설정. fib 합류 $65,390.75 회복 시 스윕 반응(방어) 확정, $65,180 종가 이탈 시 분배 연속으로 전환되어 무효.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 64738.00,\n      \"turning_zone\": [64524.73, 64738.00],\n      \"likely_wick\": 64524.73,\n      \"rejection_confirm\": 64979.70,\n      \"invalid_overshoot\": 64338.80,\n      \"calibration_reasoning\": \"터미널 하락 연장으로 원앵커 BC $64,738.00을 존 상단, 3중 fib 합류 $64,524.73(ret_0.786·ext_1.618·ext_1.414)+라운드 $64,500 자석을 최유력 wick 겸 하단으로 0.87 ATR 확장. fib 합류 $64,979.70 회복 시 반전 확정, Phase E 가속 트리거 $64,338.80 종가 이탈 시 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 26.7,
      "chairman": 40.4,
      "operating_path": 297.2,
      "tp_calibrator": 230.4
    },
    "agents": {},
    "total_s": 594.9
  }
}