{
  "symbol": "BTC/USDT",
  "timeframe": "1h",
  "timestamp": "2026-06-20 09:00 KST",
  "last_price": 63512.9,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.56,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $63,512.90는 7일 범위 EQ $64,743.75 아래의 디스카운트 구간에 위치",
        "현재가가 EMA20 $63,082.18 위에 재진입하여 단기 매수 반응 확인",
        "최근 패턴에서 bullish_engulfing@296 및 bullish_engulfing@298이 연속적으로 출현했으나 품질은 0.484, 0.466으로 후보 수준",
        "7일 저점 $62,232.10 근처에서 반등 시도 중이며, 최근 5개 캔들 중 마지막 2개가 각각 +0.4%, +0.4% 양봉",
        "doji@290, doji@291 및 고거래량 doji 출현으로 하락 추세 말미의 방향성 둔화 가능성"
      ],
      "reasoning": "현재 BTC는 $63,512.90로 EMA20 $63,082.18 위에 있지만 EMA120 $64,022.89와 EMA240 $63,923.78 아래에 있어 구조적으로는 아직 상승 전환이 확인되지 않았습니다. 7일 고점 $67,255.40와 저점 $62,232.10의 중간값인 EQ $64,743.75 아래에 있어 디스카운트 구간의 반등 setup은 존재하지만, 명확한 BOS나 CHoCH가 없어 structure_bias는 neutral로 봅니다. 최근 bullish_engulfing@296, @298이 나왔고 bull_score 1.50이 bear_score 1.35를 소폭 앞서지만, best_pattern_quality가 0.555로 낮아 신뢰도는 제한적입니다. 상방은 EMA240 $63,923.78, EMA120 $64,022.89, EQ $64,743.75를 순차적으로 회복해야 하며, 하방은 EMA20 $63,082.18 이탈 시 $62,232.10 재테스트 위험이 커집니다.",
      "key_levels": {
        "support": [
          63082.18,
          62232.1
        ],
        "resistance": [
          63923.78,
          64022.89,
          64743.75,
          67255.4
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$62,232.10 하향 이탈 시 현재의 디스카운트 반등 setup은 무효화",
      "risk_scenario": "만약 가격이 EMA20 $63,082.18 아래로 다시 밀리고 7일 저점 $62,232.10을 이탈하면, 최근 bullish engulfing 후보들은 실패 신호가 되며 bearish_engulfing@292와 bearish_harami@294의 약세 압력이 재부각될 수 있습니다. 반대로 $64,022.89와 EQ $64,743.75를 강하게 회복하면 중립 구조가 단기 bullish 구조로 전환될 가능성이 높아집니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 143,
        "recent_patterns": 6,
        "pattern_list": [
          "bearish_engulfing@292",
          "bullish_engulfing@296",
          "bullish_engulfing@298",
          "doji@290",
          "doji@291",
          "bearish_harami@294"
        ],
        "atr_value": 366.46,
        "vol_avg_20": 4671.49,
        "high_volume_patterns": [
          "doji"
        ],
        "pattern_candidates": [
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.555,
            "tier": "candidate",
            "high_volume": true
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.546,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_harami",
            "signal": "bearish",
            "pattern_quality": 0.506,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.484,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.466,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.555,
        "bull_score": 1.5,
        "bear_score": 1.35
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $63,512.90는 7일 범위 EQ $64,743.75 아래의 디스카운트 구간에 위치\",\n    \"현재가가 EMA20 $63,082.18 위에 재진입하여 단기 매수 반응 확인\",\n    \"최근 패턴에서 bullish_engulfing@296 및 bullish_engulfing@298이 연속적으로 출현했으나 품질은 0.484, 0.466으로 후보 수준\",\n    \"7일 저점 $62,232.10 근처에서 반등 시도 중이며, 최근 5개 캔들 중 마지막 2개가 각각 +0.4%, +0.4% 양봉\",\n    \"doji@290, doji@291 및 고거래량 doji 출현으로 하락 추세 말미의 방향성 둔화 가능성\"\n  ],\n  \"reasoning\": \"현재 BTC는 $63,512.90로 EMA20 $63,082.18 위에 있지만 EMA120 $64,022.89와 EMA240 $63,923.78 아래에 있어 구조적으로는 아직 상승 전환이 확인되지 않았습니다. 7일 고점 $67,255.40와 저점 $62,232.10의 중간값인 EQ $64,743.75 아래에 있어 디스카운트 구간의 반등 setup은 존재하지만, 명확한 BOS나 CHoCH가 없어 structure_bias는 neutral로 봅니다. 최근 bullish_engulfing@296, @298이 나왔고 bull_score 1.50이 bear_score 1.35를 소폭 앞서지만, best_pattern_quality가 0.555로 낮아 신뢰도는 제한적입니다. 상방은 EMA240 $63,923.78, EMA120 $64,022.89, EQ $64,743.75를 순차적으로 회복해야 하며, 하방은 EMA20 $63,082.18 이탈 시 $62,232.10 재테스트 위험이 커집니다.\",\n  \"key_levels\": {\n    \"support\": [\n      63082.18,\n      62232.1\n    ],\n    \"resistance\": [\n      63923.78,\n      64022.89,\n      64743.75,\n      67255.4\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$62,232.10 하향 이탈 시 현재의 디스카운트 반등 setup은 무효화\",\n  \"risk_scenario\": \"만약 가격이 EMA20 $63,082.18 아래로 다시 밀리고 7일 저점 $62,232.10을 이탈하면, 최근 bullish engulfing 후보들은 실패 신호가 되며 bearish_engulfing@292와 bearish_harami@294의 약세 압력이 재부각될 수 있습니다. 반대로 $64,022.89와 EQ $64,743.75를 강하게 회복하면 중립 구조가 단기 bullish 구조로 전환될 가능성이 높아집니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "neutral",
      "confidence": 0.54,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $63,512.90은 7일 레인지 EQ 약 $64,743.75 아래의 할인 구간이지만, EMA120 $64,022.89 및 EMA240 $63,923.78 아래에서 구조적 수용이 아직 확인되지 않음",
        "상단 근접 청산 클러스터 $63,600 / $63,800이 바로 위에 있어 단기 유동성 스윕 후 되돌림 리스크 존재",
        "롱 계정 비율 0.651, account_long_crowding 1.000으로 롱 포지셔닝이 혼잡하며 contrarian bearish 압력",
        "CVD 변화 +$4,289.27 및 cvd_divergence 0.700에도 가격은 EMA120 $64,022.89 아래에 머물러 있어 매수 체결이 가격 상승으로 충분히 전이되지 않는 흡수 가능성",
        "OI 24h 변화 -0.2080으로 신규 추세 포지션 유입보다 포지션 언와인딩 성격이 강함"
      ],
      "reasoning": "확정 구조 관점에서는 BTC가 EMA20 $63,082.18 위로는 회복했지만 EMA120 $64,022.89와 EMA240 $63,923.78 아래에 있어 명확한 BOS나 상단 수용이 확인되지 않았으므로 structure_bias는 neutral이다. 다만 세팅 관점에서는 현재가 $63,512.90 바로 위의 $63,600/$63,800 청산 유동성과 장기 EMA 저항대가 겹치며, 롱 계정 비율 0.651 및 account_long_crowding 1.000은 단기 반대매매성 하락 리스크를 높인다. CVD가 +$4,289.27 개선되었음에도 가격이 $64,000대 위로 안착하지 못하는 점은 공격적 매수가 흡수되고 있다는 신호로 해석된다. 하방에서는 $61,900/$61,700 청산 클러스터가 1차 자석이며, 이 구간 이탈 시 더 큰 유동성 포켓인 $56,900까지 꼬리 리스크가 열린다.",
      "key_levels": {
        "support": [
          63082.18,
          62232.1,
          61900,
          61700,
          56900
        ],
        "resistance": [
          63600,
          63800,
          63923.78,
          64022.89,
          64800,
          67255.4
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$64,800 위 1시간 종가 수용",
      "risk_scenario": "$63,600/$63,800 상단 청산을 흡수한 뒤 $64,800 위로 1시간 종가가 안착하면 숏 세팅은 무효화되며, 높은 fragility_score 0.815로 인해 숏 커버링이 붙어 $67,255.40 7일 고점 재시험까지 급등할 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.7,
        "cvd_change": 4289.271,
        "oi_trend": 0.479,
        "oi_change_pct_24h": -0.208,
        "oi_latest": 98287.035,
        "funding_pressure": 0.464,
        "funding_avg": 3.615e-05,
        "funding_change_24h": -3.216e-05,
        "long_account_ratio": 0.654,
        "short_account_ratio": 0.346,
        "long_account_latest": 0.651,
        "short_account_latest": 0.349,
        "long_account_change_24h": -0.008,
        "short_account_change_24h": 0.008,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.488,
        "spot_futures_basis_pct": -0.0488,
        "basis_change_lookback": -0.0039,
        "aggregate_score": 0.426,
        "bull_signals": 1,
        "bear_signals": 1,
        "liq_below": [
          [
            61900,
            5828.6643055
          ],
          [
            61700,
            6618.930069599999
          ],
          [
            56900,
            7093.584056250001
          ]
        ],
        "liq_above": [
          [
            63600,
            6548.2786611
          ],
          [
            63800,
            6368.32132635
          ],
          [
            64800,
            6177.4437532
          ]
        ],
        "strongest_liq_level": 56900,
        "fragility_score": 0.815,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.54,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $63,512.90은 7일 레인지 EQ 약 $64,743.75 아래의 할인 구간이지만, EMA120 $64,022.89 및 EMA240 $63,923.78 아래에서 구조적 수용이 아직 확인되지 않음\",\n    \"상단 근접 청산 클러스터 $63,600 / $63,800이 바로 위에 있어 단기 유동성 스윕 후 되돌림 리스크 존재\",\n    \"롱 계정 비율 0.651, account_long_crowding 1.000으로 롱 포지셔닝이 혼잡하며 contrarian bearish 압력\",\n    \"CVD 변화 +$4,289.27 및 cvd_divergence 0.700에도 가격은 EMA120 $64,022.89 아래에 머물러 있어 매수 체결이 가격 상승으로 충분히 전이되지 않는 흡수 가능성\",\n    \"OI 24h 변화 -0.2080으로 신규 추세 포지션 유입보다 포지션 언와인딩 성격이 강함\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 BTC가 EMA20 $63,082.18 위로는 회복했지만 EMA120 $64,022.89와 EMA240 $63,923.78 아래에 있어 명확한 BOS나 상단 수용이 확인되지 않았으므로 structure_bias는 neutral이다. 다만 세팅 관점에서는 현재가 $63,512.90 바로 위의 $63,600/$63,800 청산 유동성과 장기 EMA 저항대가 겹치며, 롱 계정 비율 0.651 및 account_long_crowding 1.000은 단기 반대매매성 하락 리스크를 높인다. CVD가 +$4,289.27 개선되었음에도 가격이 $64,000대 위로 안착하지 못하는 점은 공격적 매수가 흡수되고 있다는 신호로 해석된다. 하방에서는 $61,900/$61,700 청산 클러스터가 1차 자석이며, 이 구간 이탈 시 더 큰 유동성 포켓인 $56,900까지 꼬리 리스크가 열린다.\",\n  \"key_levels\": {\n    \"support\": [\n      63082.18,\n      62232.1,\n      61900,\n      61700,\n      56900\n    ],\n    \"resistance\": [\n      63600,\n      63800,\n      63923.78,\n      64022.89,\n      64800,\n      67255.4\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$64,800 위 1시간 종가 수용\",\n  \"risk_scenario\": \"$63,600/$63,800 상단 청산을 흡수한 뒤 $64,800 위로 1시간 종가가 안착하면 숏 세팅은 무효화되며, 높은 fragility_score 0.815로 인해 숏 커버링이 붙어 $67,255.40 7일 고점 재시험까지 급등할 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.72,
      "setup_signals": [
        "완성형 bullish Butterfly PRZ $62,912.73-$63,722.99 내부/상단에서 거래 중이며 현재가 $63,512.90, PRZ 반응 확인됨",
        "완성형 bullish Crab PRZ $62,238.60-$62,938.90에서 방어 및 리클레임 반응 확인, reaction_score 0.60",
        "Crab 기준 검증된 TP 사다리: TP1 $64,371.41, TP2 $65,472.74, 구조 유동성 목표 $67,255.40",
        "Butterfly 기준 검증된 TP 사다리: TP1 $64,822.00, TP2 $65,751.26, 상단 유동성 $67,255.40",
        "상방 진행 시 $63,871.30-$64,162.04의 forming bullish Gartley PRZ가 근접 저항/반응 구간으로 작동 가능"
      ],
      "reasoning": "하모닉 관점의 방향 점수는 bullish 0.775, bearish 0.000으로 상방 우위가 뚜렷하지만, 이는 독립적인 구조 전환 신호가 아니라 PRZ 반응 기반의 중간급 컨플루언스다. 현재가 $63,512.90은 완성형 bullish Butterfly PRZ $62,912.73-$63,722.99 안에 있으며, 해당 패턴은 PRZ touch 및 초기 반응이 확인되어 vote-eligible 상태다. 가장 신뢰도 높은 확인 패턴은 bullish Crab으로, PRZ $62,238.60-$62,938.90 방어 후 반응이 확인되었고 TP1 $64,371.41, TP2 $65,472.74가 유효한 상방 waypoint다. 다만 $63,871.30-$64,162.04에는 forming bullish Gartley PRZ와 EMA120 $64,022.89, EMA240 $63,923.78가 겹쳐 있어 단기 저항 및 재반응 확인이 필요하다.",
      "key_levels": {
        "support": [
          63722.99,
          62912.73,
          62938.9,
          62238.6,
          62232.1
        ],
        "resistance": [
          63871.3,
          63923.78,
          64022.89,
          64162.04,
          64371.41,
          64822.0,
          65472.74,
          65751.26,
          67255.4
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$62,232.10",
      "risk_scenario": "$63,871.30-$64,162.04 구간에서 거부가 강하게 나오고 $62,912.73 아래로 재진입하면 Butterfly 반응 실패로 해석된다. 이후 $62,238.60-$62,938.90 Crab PRZ를 다시 테스트할 수 있으며, $62,232.10을 하향 이탈하면 현재 bullish 하모닉 반등 시나리오는 무효화된다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 108,
        "completed_patterns_found": 42,
        "forming_d_prz_found": 66,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 65,
        "swing_highs_scanned": 34,
        "swing_lows_scanned": 31,
        "timeframe": "1h",
        "prz_active_threshold_pct": 0.5,
        "prz_nearby_threshold_pct": 1.0,
        "prz_watch_threshold_pct": 2.0,
        "prz_max_width_pct": 0.9,
        "quality_counts": {
          "high": 4,
          "medium": 49,
          "low": 55
        },
        "prz_status_counts": {
          "active": 46,
          "nearby": 10,
          "watch": 25,
          "far": 27,
          "forming": 19
        },
        "high_confluence_prz_count": 32,
        "strict_patterns_found": 42,
        "candidate_patterns_found": 66,
        "active_patterns_at_prz": 46,
        "nearby_patterns": 10,
        "all_patterns": [
          "bat",
          "crab",
          "crab",
          "gartley",
          "bat",
          "crab",
          "bat",
          "butterfly",
          "butterfly",
          "bat",
          "gartley",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "shark",
          "bat",
          "bat",
          "bat",
          "crab",
          "gartley",
          "butterfly",
          "crab",
          "gartley",
          "bat",
          "shark",
          "butterfly",
          "bat",
          "shark",
          "gartley",
          "gartley",
          "gartley",
          "shark",
          "bat",
          "bat",
          "butterfly",
          "gartley",
          "bat",
          "butterfly",
          "butterfly",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "gartley",
          "butterfly",
          "bat",
          "gartley",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "bat",
          "crab",
          "crab",
          "crab",
          "gartley",
          "bat",
          "butterfly",
          "bat",
          "gartley",
          "crab",
          "gartley",
          "crab",
          "shark",
          "gartley",
          "crab",
          "crab",
          "crab",
          "gartley",
          "shark",
          "crab",
          "crab",
          "crab",
          "gartley",
          "shark",
          "crab",
          "shark",
          "bat",
          "bat",
          "shark",
          "gartley",
          "butterfly",
          "butterfly",
          "butterfly",
          "butterfly",
          "crab",
          "gartley",
          "butterfly",
          "gartley",
          "crab",
          "bat",
          "gartley",
          "gartley",
          "shark",
          "crab",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "butterfly",
          "shark",
          "butterfly",
          "bat",
          "butterfly",
          "gartley",
          "butterfly",
          "shark"
        ],
        "all_signals": [
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.941,
        "best_completion_status": "forming",
        "nearest_pattern": "gartley",
        "nearest_prz": 63493.62,
        "price_to_prz": -0.03,
        "prz_range": [
          63019.31,
          63967.92
        ],
        "council_relevant_prz_count": 3,
        "directional_influence_prz_count": 3,
        "confirmed_reaction_prz_count": 2,
        "validated_harmonic_tp_count": 2,
        "pattern_candidates": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.939,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62384.61,
            "prz_range": [
              62139.63,
              62629.59
            ],
            "prz_width_pct": 0.785,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.78,
            "price_to_prz_pct_raw": -1.7765,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 62384.61,
              "a_price": 67255.4,
              "tp1_ad_382": 64245.25,
              "tp2_ad_618": 65394.76,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5955,
              "ABC": 0.5497
            },
            "x_price": 64186.5,
            "x_idx": 163,
            "x_order": 5,
            "a_price": 67255.4,
            "a_idx": 195,
            "a_order": 8,
            "b_price": 65427.9,
            "b_idx": 229,
            "b_order": 5,
            "c_price": 64423.4,
            "c_idx": 265,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.917,
            "ratio_score": 0.928,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 64016.67,
            "prz_range": [
              63871.3,
              64162.04
            ],
            "prz_width_pct": 0.454,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.79,
            "price_to_prz_pct_raw": 0.7932,
            "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": 64016.67,
              "a_price": 64738.0,
              "tp1_ad_382": 64292.22,
              "tp2_ad_618": 64462.45,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6302,
              "ABC": 0.8234
            },
            "x_price": 63862.9,
            "x_idx": 148,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 153,
            "a_order": 8,
            "b_price": 64186.5,
            "b_idx": 163,
            "b_order": 5,
            "c_price": 64640.6,
            "c_idx": 166,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.834,
            "ratio_score": 0.66,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63107.34,
            "prz_range": [
              62897.92,
              63316.76
            ],
            "prz_width_pct": 0.664,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.64,
            "price_to_prz_pct_raw": -0.6385,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 63107.34,
              "a_price": 62237.2,
              "tp1_ad_382": 62774.95,
              "tp2_ad_618": 62569.59,
              "tp3_a_or_structure_liquidity": 62237.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6406,
              "ABC": 0.9466
            },
            "x_price": 63266.8,
            "x_idx": 272,
            "x_order": 3,
            "a_price": 62237.2,
            "a_idx": 279,
            "a_order": 8,
            "b_price": 62896.8,
            "b_idx": 283,
            "b_order": 3,
            "c_price": 62272.4,
            "c_idx": 285,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.941,
            "ratio_score": 1.0,
            "prz_score": 0.945,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63853.13,
            "prz_range": [
              63498.18,
              64208.07
            ],
            "prz_width_pct": 1.112,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.54,
            "price_to_prz_pct_raw": 0.5357,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 63853.13,
              "a_price": 62232.1,
              "tp1_ad_382": 63233.9,
              "tp2_ad_618": 62851.33,
              "tp3_a_or_structure_liquidity": 62232.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4722,
              "ABC": 0.4158
            },
            "x_price": 64423.4,
            "x_idx": 265,
            "x_order": 3,
            "a_price": 62232.1,
            "a_idx": 267,
            "a_order": 8,
            "b_price": 63266.8,
            "b_idx": 272,
            "b_order": 3,
            "c_price": 62836.6,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.917,
            "ratio_score": 0.993,
            "prz_score": 0.943,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 62272.4,
            "prz_range": [
              62238.6,
              62938.9
            ],
            "prz_width_pct": 1.119,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.46,
            "price_to_prz_pct_raw": -1.4551,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.6,
              "reaction_detail": {
                "reaction_score": 0.6,
                "reaction_move_ratio_ad": 0.228,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "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": "crab",
              "d_price": 62588.75,
              "a_price": 67255.4,
              "tp1_ad_382": 64371.41,
              "tp2_ad_618": 65472.74,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5625,
              "ABC": 0.5199,
              "BCD": 2.6285,
              "XAD": 1.6237
            },
            "x_price": 64186.5,
            "x_idx": 163,
            "x_order": 5,
            "a_price": 67255.4,
            "a_idx": 195,
            "a_order": 8,
            "b_price": 65529.0,
            "b_idx": 223,
            "b_order": 3,
            "c_price": 64631.5,
            "c_idx": 260,
            "c_order": 3,
            "d_idx": 285
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.914,
            "ratio_score": 1.0,
            "prz_score": 0.912,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 64127.19,
            "prz_range": [
              63730.22,
              64524.17
            ],
            "prz_width_pct": 1.238,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.97,
            "price_to_prz_pct_raw": 0.9672,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 64127.19,
              "a_price": 62232.1,
              "tp1_ad_382": 63403.27,
              "tp2_ad_618": 62956.03,
              "tp3_a_or_structure_liquidity": 62232.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4624,
              "ABC": 0.4869
            },
            "x_price": 64780.0,
            "x_idx": 253,
            "x_order": 5,
            "a_price": 62232.1,
            "a_idx": 267,
            "a_order": 8,
            "b_price": 63410.3,
            "b_idx": 289,
            "b_order": 8,
            "c_price": 62836.6,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.907,
            "ratio_score": 1.0,
            "prz_score": 0.904,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62839.16,
            "prz_range": [
              62440.58,
              63237.73
            ],
            "prz_width_pct": 1.269,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.06,
            "price_to_prz_pct_raw": -1.0608,
            "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": 62839.16,
              "a_price": 66956.7,
              "tp1_ad_382": 64412.06,
              "tp2_ad_618": 65383.8,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5154,
              "ABC": 0.6286
            },
            "x_price": 64186.5,
            "x_idx": 163,
            "x_order": 5,
            "a_price": 66956.7,
            "a_idx": 212,
            "a_order": 8,
            "b_price": 65529.0,
            "b_idx": 223,
            "b_order": 3,
            "c_price": 64631.5,
            "c_idx": 260,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.898,
            "ratio_score": 0.962,
            "prz_score": 0.902,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62232.1,
            "prz_range": [
              62912.73,
              63722.99
            ],
            "prz_width_pct": 1.28,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.31,
            "price_to_prz_pct_raw": -0.3071,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "initial_PRZ_reaction",
                "post_D_close_progress"
              ],
              "reaction_score": 0.35,
              "reaction_detail": {
                "reaction_score": 0.35,
                "reaction_move_ratio_ad": 0.206,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 63317.86,
              "a_price": 67255.4,
              "tp1_ad_382": 64822.0,
              "tp2_ad_618": 65751.26,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8048,
              "ABC": 0.6937,
              "BCD": 2.2105,
              "XAD": 1.4807
            },
            "x_price": 63862.9,
            "x_idx": 148,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 195,
            "a_order": 8,
            "b_price": 64525.0,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 66419.2,
            "c_idx": 244,
            "c_order": 8,
            "d_idx": 267
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.917,
            "ratio_score": 0.993,
            "prz_score": 0.943,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 62272.4,
            "prz_range": [
              62238.6,
              62938.9
            ],
            "prz_width_pct": 1.119,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.46,
            "price_to_prz_pct_raw": -1.4551,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.6,
              "reaction_detail": {
                "reaction_score": 0.6,
                "reaction_move_ratio_ad": 0.228,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "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": "crab",
              "d_price": 62588.75,
              "a_price": 67255.4,
              "tp1_ad_382": 64371.41,
              "tp2_ad_618": 65472.74,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5625,
              "ABC": 0.5199,
              "BCD": 2.6285,
              "XAD": 1.6237
            },
            "x_price": 64186.5,
            "x_idx": 163,
            "x_order": 5,
            "a_price": 67255.4,
            "a_idx": 195,
            "a_order": 8,
            "b_price": 65529.0,
            "b_idx": 223,
            "b_order": 3,
            "c_price": 64631.5,
            "c_idx": 260,
            "c_order": 3,
            "d_idx": 285
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.898,
            "ratio_score": 0.962,
            "prz_score": 0.902,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62232.1,
            "prz_range": [
              62912.73,
              63722.99
            ],
            "prz_width_pct": 1.28,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.31,
            "price_to_prz_pct_raw": -0.3071,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "initial_PRZ_reaction",
                "post_D_close_progress"
              ],
              "reaction_score": 0.35,
              "reaction_detail": {
                "reaction_score": 0.35,
                "reaction_move_ratio_ad": 0.206,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 63317.86,
              "a_price": 67255.4,
              "tp1_ad_382": 64822.0,
              "tp2_ad_618": 65751.26,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8048,
              "ABC": 0.6937,
              "BCD": 2.2105,
              "XAD": 1.4807
            },
            "x_price": 63862.9,
            "x_idx": 148,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 195,
            "a_order": 8,
            "b_price": 64525.0,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 66419.2,
            "c_idx": 244,
            "c_order": 8,
            "d_idx": 267
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.917,
            "ratio_score": 0.928,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 64016.67,
            "prz_range": [
              63871.3,
              64162.04
            ],
            "prz_width_pct": 0.454,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.79,
            "price_to_prz_pct_raw": 0.7932,
            "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": 64016.67,
              "a_price": 64738.0,
              "tp1_ad_382": 64292.22,
              "tp2_ad_618": 64462.45,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6302,
              "ABC": 0.8234
            },
            "x_price": 63862.9,
            "x_idx": 148,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 153,
            "a_order": 8,
            "b_price": 64186.5,
            "b_idx": 163,
            "b_order": 5,
            "c_price": 64640.6,
            "c_idx": 166,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.939,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 62384.61,
            "prz_range": [
              62139.63,
              62629.59
            ],
            "prz_width_pct": 0.785,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.78,
            "price_to_prz_pct_raw": -1.7765,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 62384.61,
              "a_price": 67255.4,
              "tp1_ad_382": 64245.25,
              "tp2_ad_618": 65394.76,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5955,
              "ABC": 0.5497
            },
            "x_price": 64186.5,
            "x_idx": 163,
            "x_order": 5,
            "a_price": 67255.4,
            "a_idx": 195,
            "a_order": 8,
            "b_price": 65427.9,
            "b_idx": 229,
            "b_order": 5,
            "c_price": 64423.4,
            "c_idx": 265,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.917,
            "ratio_score": 0.928,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 64016.67,
            "prz_range": [
              63871.3,
              64162.04
            ],
            "prz_width_pct": 0.454,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.79,
            "price_to_prz_pct_raw": 0.7932,
            "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": 64016.67,
              "a_price": 64738.0,
              "tp1_ad_382": 64292.22,
              "tp2_ad_618": 64462.45,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6302,
              "ABC": 0.8234
            },
            "x_price": 63862.9,
            "x_idx": 148,
            "x_order": 3,
            "a_price": 64738.0,
            "a_idx": 153,
            "a_order": 8,
            "b_price": 64186.5,
            "b_idx": 163,
            "b_order": 5,
            "c_price": 64640.6,
            "c_idx": 166,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.834,
            "ratio_score": 0.66,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63107.34,
            "prz_range": [
              62897.92,
              63316.76
            ],
            "prz_width_pct": 0.664,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.64,
            "price_to_prz_pct_raw": -0.6385,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 63107.34,
              "a_price": 62237.2,
              "tp1_ad_382": 62774.95,
              "tp2_ad_618": 62569.59,
              "tp3_a_or_structure_liquidity": 62237.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6406,
              "ABC": 0.9466
            },
            "x_price": 63266.8,
            "x_idx": 272,
            "x_order": 3,
            "a_price": 62237.2,
            "a_idx": 279,
            "a_order": 8,
            "b_price": 62896.8,
            "b_idx": 283,
            "b_order": 3,
            "c_price": 62272.4,
            "c_idx": 285,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.941,
            "ratio_score": 1.0,
            "prz_score": 0.945,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63853.13,
            "prz_range": [
              63498.18,
              64208.07
            ],
            "prz_width_pct": 1.112,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.54,
            "price_to_prz_pct_raw": 0.5357,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 63853.13,
              "a_price": 62232.1,
              "tp1_ad_382": 63233.9,
              "tp2_ad_618": 62851.33,
              "tp3_a_or_structure_liquidity": 62232.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4722,
              "ABC": 0.4158
            },
            "x_price": 64423.4,
            "x_idx": 265,
            "x_order": 3,
            "a_price": 62232.1,
            "a_idx": 267,
            "a_order": 8,
            "b_price": 63266.8,
            "b_idx": 272,
            "b_order": 3,
            "c_price": 62836.6,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.917,
            "ratio_score": 0.993,
            "prz_score": 0.943,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 62272.4,
            "prz_range": [
              62238.6,
              62938.9
            ],
            "prz_width_pct": 1.119,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.46,
            "price_to_prz_pct_raw": -1.4551,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.6,
              "reaction_detail": {
                "reaction_score": 0.6,
                "reaction_move_ratio_ad": 0.228,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "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": "crab",
              "d_price": 62588.75,
              "a_price": 67255.4,
              "tp1_ad_382": 64371.41,
              "tp2_ad_618": 65472.74,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5625,
              "ABC": 0.5199,
              "BCD": 2.6285,
              "XAD": 1.6237
            },
            "x_price": 64186.5,
            "x_idx": 163,
            "x_order": 5,
            "a_price": 67255.4,
            "a_idx": 195,
            "a_order": 8,
            "b_price": 65529.0,
            "b_idx": 223,
            "b_order": 3,
            "c_price": 64631.5,
            "c_idx": 260,
            "c_order": 3,
            "d_idx": 285
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.914,
            "ratio_score": 1.0,
            "prz_score": 0.912,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 64127.19,
            "prz_range": [
              63730.22,
              64524.17
            ],
            "prz_width_pct": 1.238,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.97,
            "price_to_prz_pct_raw": 0.9672,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 64127.19,
              "a_price": 62232.1,
              "tp1_ad_382": 63403.27,
              "tp2_ad_618": 62956.03,
              "tp3_a_or_structure_liquidity": 62232.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4624,
              "ABC": 0.4869
            },
            "x_price": 64780.0,
            "x_idx": 253,
            "x_order": 5,
            "a_price": 62232.1,
            "a_idx": 267,
            "a_order": 8,
            "b_price": 63410.3,
            "b_idx": 289,
            "b_order": 8,
            "c_price": 62836.6,
            "c_idx": 293,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.907,
            "ratio_score": 1.0,
            "prz_score": 0.904,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62839.16,
            "prz_range": [
              62440.58,
              63237.73
            ],
            "prz_width_pct": 1.269,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -1.06,
            "price_to_prz_pct_raw": -1.0608,
            "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": 62839.16,
              "a_price": 66956.7,
              "tp1_ad_382": 64412.06,
              "tp2_ad_618": 65383.8,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5154,
              "ABC": 0.6286
            },
            "x_price": 64186.5,
            "x_idx": 163,
            "x_order": 5,
            "a_price": 66956.7,
            "a_idx": 212,
            "a_order": 8,
            "b_price": 65529.0,
            "b_idx": 223,
            "b_order": 3,
            "c_price": 64631.5,
            "c_idx": 260,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.898,
            "ratio_score": 0.962,
            "prz_score": 0.902,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 62232.1,
            "prz_range": [
              62912.73,
              63722.99
            ],
            "prz_width_pct": 1.28,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.31,
            "price_to_prz_pct_raw": -0.3071,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "initial_PRZ_reaction",
                "post_D_close_progress"
              ],
              "reaction_score": 0.35,
              "reaction_detail": {
                "reaction_score": 0.35,
                "reaction_move_ratio_ad": 0.206,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 63317.86,
              "a_price": 67255.4,
              "tp1_ad_382": 64822.0,
              "tp2_ad_618": 65751.26,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8048,
              "ABC": 0.6937,
              "BCD": 2.2105,
              "XAD": 1.4807
            },
            "x_price": 63862.9,
            "x_idx": 148,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 195,
            "a_order": 8,
            "b_price": 64525.0,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 66419.2,
            "c_idx": 244,
            "c_order": 8,
            "d_idx": 267
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.892,
            "ratio_score": 0.912,
            "prz_score": 0.902,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63317.86,
            "prz_range": [
              62912.73,
              63722.99
            ],
            "prz_width_pct": 1.28,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.31,
            "price_to_prz_pct_raw": -0.3071,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 63317.86,
              "a_price": 67255.4,
              "tp1_ad_382": 64822.0,
              "tp2_ad_618": 65751.26,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8048,
              "ABC": 0.6937
            },
            "x_price": 63862.9,
            "x_idx": 148,
            "x_order": 3,
            "a_price": 67255.4,
            "a_idx": 195,
            "a_order": 8,
            "b_price": 64525.0,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 66419.2,
            "c_idx": 244,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.875,
            "ratio_score": 0.942,
            "prz_score": 0.928,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 64839.82,
            "prz_range": [
              64457.59,
              65222.06
            ],
            "prz_width_pct": 1.179,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.09,
            "price_to_prz_pct_raw": 2.0892,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 64839.82,
              "a_price": 67255.4,
              "tp1_ad_382": 65762.57,
              "tp2_ad_618": 66332.65,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6278,
              "ABC": 0.566
            },
            "x_price": 64186.5,
            "x_idx": 163,
            "x_order": 5,
            "a_price": 67255.4,
            "a_idx": 195,
            "a_order": 8,
            "b_price": 65328.8,
            "b_idx": 218,
            "b_order": 8,
            "c_price": 66419.2,
            "c_idx": 244,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.849,
            "ratio_score": 0.98,
            "prz_score": 0.903,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 64996.33,
            "prz_range": [
              64582.16,
              65410.5
            ],
            "prz_width_pct": 1.274,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.34,
            "price_to_prz_pct_raw": 2.3356,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 64996.33,
              "a_price": 66246.1,
              "tp1_ad_382": 65473.74,
              "tp2_ad_618": 65768.69,
              "tp3_a_or_structure_liquidity": 66246.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7818,
              "ABC": 0.7858
            },
            "x_price": 65328.8,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 66246.1,
            "a_idx": 222,
            "a_order": 3,
            "b_price": 65529.0,
            "b_idx": 223,
            "b_order": 3,
            "c_price": 66092.5,
            "c_idx": 230,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.837,
            "ratio_score": 0.887,
            "prz_score": 0.934,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 64841.53,
            "prz_range": [
              64467.29,
              65215.77
            ],
            "prz_width_pct": 1.154,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.09,
            "price_to_prz_pct_raw": 2.0919,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 64841.53,
              "a_price": 66956.7,
              "tp1_ad_382": 65649.52,
              "tp2_ad_618": 66148.71,
              "tp3_a_or_structure_liquidity": 66956.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5154,
              "ABC": 0.3947
            },
            "x_price": 64186.5,
            "x_idx": 163,
            "x_order": 5,
            "a_price": 66956.7,
            "a_idx": 212,
            "a_order": 8,
            "b_price": 65529.0,
            "b_idx": 223,
            "b_order": 3,
            "c_price": 66092.5,
            "c_idx": 230,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.917,
            "prz_proximity": "nearby",
            "prz_range": [
              62238.6,
              62938.9
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -1.46,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "initial_PRZ_reaction",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.6,
              "reaction_detail": {
                "reaction_score": 0.6,
                "reaction_move_ratio_ad": 0.228,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "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": "crab",
              "d_price": 62588.75,
              "a_price": 67255.4,
              "tp1_ad_382": 64371.41,
              "tp2_ad_618": 65472.74,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "CRAB COMPLETED MEDIUM PRZ $62,238.60-$62,938.90: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.917,
            "prz_proximity": "nearby",
            "prz_range": [
              63871.3,
              64162.04
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.79,
            "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": 64016.67,
              "a_price": 64738.0,
              "tp1_ad_382": 64292.22,
              "tp2_ad_618": 64462.45,
              "tp3_a_or_structure_liquidity": 64738.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $63,871.30-$64,162.04: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.898,
            "prz_proximity": "active",
            "prz_range": [
              62912.73,
              63722.99
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.31,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "initial_PRZ_reaction",
                "post_D_close_progress"
              ],
              "reaction_score": 0.35,
              "reaction_detail": {
                "reaction_score": 0.35,
                "reaction_move_ratio_ad": 0.206,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "initial_PRZ_reaction",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 63317.86,
              "a_price": 67255.4,
              "tp1_ad_382": 64822.0,
              "tp2_ad_618": 65751.26,
              "tp3_a_or_structure_liquidity": 67255.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY COMPLETED MEDIUM PRZ $62,912.73-$63,722.99: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "crab",
          "signal": "bullish",
          "completion_status": "completed",
          "pattern_quality": "strict",
          "quality": "medium",
          "pattern_score": 0.917,
          "ratio_score": 0.993,
          "prz_score": 0.943,
          "prz_proximity": "nearby",
          "action_status": "nearby",
          "high_confluence_prz": true,
          "d_price": 62272.4,
          "prz_range": [
            62238.6,
            62938.9
          ],
          "prz_width_pct": 1.119,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -1.46,
          "price_to_prz_pct_raw": -1.4551,
          "harmonic_vote_state": {
            "authority": "post_confirmation_vote_eligible",
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "confirmation_reasons": [
              "PRZ_rejection_or_defense",
              "initial_PRZ_reaction",
              "PRZ_center_reclaimed_or_rejected",
              "post_D_close_progress"
            ],
            "reaction_score": 0.6,
            "reaction_detail": {
              "reaction_score": 0.6,
              "reaction_move_ratio_ad": 0.228,
              "adverse_move_ratio_ad": 0.0,
              "bars_after_d": 12,
              "reasons": [
                "initial_PRZ_reaction",
                "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": "crab",
            "d_price": 62588.75,
            "a_price": 67255.4,
            "tp1_ad_382": 64371.41,
            "tp2_ad_618": 65472.74,
            "tp3_a_or_structure_liquidity": 67255.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.5625,
            "ABC": 0.5199,
            "BCD": 2.6285,
            "XAD": 1.6237
          },
          "x_price": 64186.5,
          "x_idx": 163,
          "x_order": 5,
          "a_price": 67255.4,
          "a_idx": 195,
          "a_order": 8,
          "b_price": 65529.0,
          "b_idx": 223,
          "b_order": 3,
          "c_price": 64631.5,
          "c_idx": 260,
          "c_order": 3,
          "d_idx": 285
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "crab",
          "d_price": 62588.75,
          "a_price": 67255.4,
          "tp1_ad_382": 64371.41,
          "tp2_ad_618": 65472.74,
          "tp3_a_or_structure_liquidity": 67255.4,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "crab",
          "d_price": 62588.75,
          "a_price": 67255.4,
          "tp1_ad_382": 64371.41,
          "tp2_ad_618": 65472.74,
          "tp3_a_or_structure_liquidity": 67255.4,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 62588.75,
            "a_price": 67255.4,
            "tp1_ad_382": 64371.41,
            "tp2_ad_618": 65472.74,
            "tp3_a_or_structure_liquidity": 67255.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 64016.67,
            "a_price": 64738.0,
            "tp1_ad_382": 64292.22,
            "tp2_ad_618": 64462.45,
            "tp3_a_or_structure_liquidity": 64738.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 63317.86,
            "a_price": 67255.4,
            "tp1_ad_382": 64822.0,
            "tp2_ad_618": 65751.26,
            "tp3_a_or_structure_liquidity": 67255.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 62588.75,
            "a_price": 67255.4,
            "tp1_ad_382": 64371.41,
            "tp2_ad_618": 65472.74,
            "tp3_a_or_structure_liquidity": 67255.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 63317.86,
            "a_price": 67255.4,
            "tp1_ad_382": 64822.0,
            "tp2_ad_618": 65751.26,
            "tp3_a_or_structure_liquidity": 67255.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "watch",
        "directional_scores": {
          "bullish": 0.775,
          "bearish": 0
        },
        "directional_score_total": 0.775,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.72,\n  \"setup_signals\": [\n    \"완성형 bullish Butterfly PRZ $62,912.73-$63,722.99 내부/상단에서 거래 중이며 현재가 $63,512.90, PRZ 반응 확인됨\",\n    \"완성형 bullish Crab PRZ $62,238.60-$62,938.90에서 방어 및 리클레임 반응 확인, reaction_score 0.60\",\n    \"Crab 기준 검증된 TP 사다리: TP1 $64,371.41, TP2 $65,472.74, 구조 유동성 목표 $67,255.40\",\n    \"Butterfly 기준 검증된 TP 사다리: TP1 $64,822.00, TP2 $65,751.26, 상단 유동성 $67,255.40\",\n    \"상방 진행 시 $63,871.30-$64,162.04의 forming bullish Gartley PRZ가 근접 저항/반응 구간으로 작동 가능\"\n  ],\n  \"reasoning\": \"하모닉 관점의 방향 점수는 bullish 0.775, bearish 0.000으로 상방 우위가 뚜렷하지만, 이는 독립적인 구조 전환 신호가 아니라 PRZ 반응 기반의 중간급 컨플루언스다. 현재가 $63,512.90은 완성형 bullish Butterfly PRZ $62,912.73-$63,722.99 안에 있으며, 해당 패턴은 PRZ touch 및 초기 반응이 확인되어 vote-eligible 상태다. 가장 신뢰도 높은 확인 패턴은 bullish Crab으로, PRZ $62,238.60-$62,938.90 방어 후 반응이 확인되었고 TP1 $64,371.41, TP2 $65,472.74가 유효한 상방 waypoint다. 다만 $63,871.30-$64,162.04에는 forming bullish Gartley PRZ와 EMA120 $64,022.89, EMA240 $63,923.78가 겹쳐 있어 단기 저항 및 재반응 확인이 필요하다.\",\n  \"key_levels\": {\n    \"support\": [\n      63722.99,\n      62912.73,\n      62938.9,\n      62238.6,\n      62232.1\n    ],\n    \"resistance\": [\n      63871.3,\n      63923.78,\n      64022.89,\n      64162.04,\n      64371.41,\n      64822.0,\n      65472.74,\n      65751.26,\n      67255.4\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$62,232.10\",\n  \"risk_scenario\": \"$63,871.30-$64,162.04 구간에서 거부가 강하게 나오고 $62,912.73 아래로 재진입하면 Butterfly 반응 실패로 해석된다. 이후 $62,238.60-$62,938.90 Crab PRZ를 다시 테스트할 수 있으며, $62,232.10을 하향 이탈하면 현재 bullish 하모닉 반등 시나리오는 무효화된다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "neutral",
      "confidence": 0.56,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.806,
      "setup_signals": [
        "현재가 $63,512.90가 EQ $63,506.05 바로 위에 위치하여 프리미엄 진입 초입에서 단기 지지 시도",
        "가격이 이전 bullish BOS 레벨 $62,840.20 위에서 유지 중",
        "가격이 최근 7일 저점 $62,232.10 및 전일 저점 $62,232.10 위에서 유지되어 sell-side liquidity 미이탈",
        "할인 구간의 candidate bullish OB가 $61,068.60~$61,547.90에 존재하나 아직 active/confirmed 상태는 아님",
        "EMA20 $63,082.18 위에서 거래되어 단기 반등 모멘텀은 유지"
      ],
      "reasoning": "확정 구조 관점에서는 최근 BOS 시퀀스가 bullish 3회 이후 bearish BOS $65,607.10, $65,328.80로 연속 2회 발생했기 때문에 structure_bias는 bearish로 본다. 다만 실행 셋업 관점에서는 현재가 $63,512.90가 EQ $63,506.05 바로 위에 있고 EMA20 $63,082.18 위를 회복한 상태라 단기 bullish setup은 살아 있다. 하지만 가격은 아직 EMA120 $64,022.89와 EMA240 $63,923.78 아래에 있으며, 전일 고점 $63,796.60과 range high $64,780.00을 돌파하지 못했기 때문에 확정 bullish 구조 전환으로 보기는 이르다. FVG는 모두 mitigated 상태이고 활성 OB도 없으며, 최근 liquidity sweep도 없어 기관 흐름상 강한 방향 확정 신호는 부족하다.",
      "key_levels": {
        "support": [
          63506.05,
          63082.18,
          62232.1,
          61547.9,
          61068.6
        ],
        "resistance": [
          63796.6,
          63915.3,
          63923.78,
          64022.89,
          64780,
          65328.8,
          65607.1
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$62,232.10",
      "risk_scenario": "반대 시나리오는 가격이 EQ $63,506.05 아래로 다시 수용되고 EMA20 $63,082.18을 이탈한 뒤 전일 저점 및 7일 저점 $62,232.10의 sell-side liquidity를 공격하는 흐름이다. 이 경우 현재의 bullish pre-confirmation setup은 실패로 간주되며, $61,547.90~$61,068.60 candidate bullish OB까지 하락해 discount demand 테스트가 진행될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 1,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 1,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": {
          "bottom": 61068.6,
          "top": 61547.9,
          "quality": "candidate",
          "score": 0.672
        },
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 1,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 59,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "BOS_bullish",
          "BOS_bullish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 62840.2
          },
          {
            "type": "BOS_bullish",
            "level": 63915.3
          },
          {
            "type": "BOS_bullish",
            "level": 64738.0
          },
          {
            "type": "BOS_bearish",
            "level": 65607.1
          },
          {
            "type": "BOS_bearish",
            "level": 65328.8
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "BOS_bullish",
          "BOS_bullish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 2,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "premium",
        "eq_level": 63506.05,
        "range_high": 64780.0,
        "range_low": 62232.1,
        "bull_score": 7.5,
        "bear_score": 5.5,
        "setup_bias": "bullish",
        "setup_score": 0.806,
        "setup_signals": [
          "bullish BOS above $62,840.20",
          "bullish BOS above $63,915.30",
          "bullish BOS above $64,738.00"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 26.6,
        "deepest_retracement_pct": 37.4,
        "previous_day_high": 63796.6,
        "previous_day_low": 62232.1,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": true,
            "high": 63645.0,
            "low": 63015.1
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.806,\n  \"setup_signals\": [\n    \"현재가 $63,512.90가 EQ $63,506.05 바로 위에 위치하여 프리미엄 진입 초입에서 단기 지지 시도\",\n    \"가격이 이전 bullish BOS 레벨 $62,840.20 위에서 유지 중\",\n    \"가격이 최근 7일 저점 $62,232.10 및 전일 저점 $62,232.10 위에서 유지되어 sell-side liquidity 미이탈\",\n    \"할인 구간의 candidate bullish OB가 $61,068.60~$61,547.90에 존재하나 아직 active/confirmed 상태는 아님\",\n    \"EMA20 $63,082.18 위에서 거래되어 단기 반등 모멘텀은 유지\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 최근 BOS 시퀀스가 bullish 3회 이후 bearish BOS $65,607.10, $65,328.80로 연속 2회 발생했기 때문에 structure_bias는 bearish로 본다. 다만 실행 셋업 관점에서는 현재가 $63,512.90가 EQ $63,506.05 바로 위에 있고 EMA20 $63,082.18 위를 회복한 상태라 단기 bullish setup은 살아 있다. 하지만 가격은 아직 EMA120 $64,022.89와 EMA240 $63,923.78 아래에 있으며, 전일 고점 $63,796.60과 range high $64,780.00을 돌파하지 못했기 때문에 확정 bullish 구조 전환으로 보기는 이르다. FVG는 모두 mitigated 상태이고 활성 OB도 없으며, 최근 liquidity sweep도 없어 기관 흐름상 강한 방향 확정 신호는 부족하다.\",\n  \"key_levels\": {\n    \"support\": [\n      63506.05,\n      63082.18,\n      62232.1,\n      61547.9,\n      61068.6\n    ],\n    \"resistance\": [\n      63796.6,\n      63915.3,\n      63923.78,\n      64022.89,\n      64780,\n      65328.8,\n      65607.1\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$62,232.10\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 EQ $63,506.05 아래로 다시 수용되고 EMA20 $63,082.18을 이탈한 뒤 전일 저점 및 7일 저점 $62,232.10의 sell-side liquidity를 공격하는 흐름이다. 이 경우 현재의 bullish pre-confirmation setup은 실패로 간주되며, $61,547.90~$61,068.60 candidate bullish OB까지 하락해 discount demand 테스트가 진행될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "neutral",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $63,512.90는 스윙 EQ/ret_0.5 $62,841.35 위에 있어 단기 프리미엄 구간에 위치",
        "가격이 ext_1.0 $63,410.30을 상회하고 있으나, 바로 위 $63,719.81 ext_1.272 및 $63,881.39 ext_1.414 저항 클러스터에 근접",
        "상단 confluence zone $63,858.28은 ext_1.272, ext_1.414, ret_0.5가 겹치는 3중 클러스터로 단기 매도 반응 가능 구간",
        "0.618 골든 리트레이스먼트 $62,707.08은 현재가 대비 약 1.27% 아래에 있어, 상승 지속 전 재테스트 가능한 핵심 할인 지지",
        "EMA120 $64,022.89 및 EMA240 $63,923.78 아래에 위치해 중기 구조 수용은 아직 확인되지 않음"
      ],
      "reasoning": "현재 BTC는 Low $62,272 → High $63,410 상승 스윙의 ext_1.0 $63,410.30을 소폭 상회하며 테스트 중이고, nearest_fib_distance 0.160으로 해당 레벨에 매우 근접해 있습니다. 다만 바로 위에는 $63,719.81, $63,881.39, $64,113.52의 확장 저항이 촘촘히 배치되어 있으며, 특히 $63,858.28 confluence zone은 cluster_score 0.85로 단기 공급 반응 가능성이 높습니다. 구조적으로는 명확한 BOS나 CHoCH 확인이 없고 EMA120 $64,022.89 및 EMA240 $63,923.78 아래에 있어 structure_bias는 neutral로 봅니다. 반면 setup 관점에서는 가격이 EQ $62,841.35 위 프리미엄에 있고 고점 확장 저항 클러스터에 접근 중이므로, 단기적으로는 bearish pullback setup이 우세합니다. 하락 시 핵심 지지는 ret_0.236 $63,141.76, ret_0.382 $62,975.62, 그리고 가장 중요한 0.618 골든 비율 $62,707.08입니다.",
      "key_levels": {
        "support": [
          63410.3,
          63141.76,
          62975.62,
          62707.08,
          62515.91
        ],
        "resistance": [
          63719.81,
          63881.39,
          64113.52,
          64548.2
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$64,113.52 상향 돌파 및 1시간봉 종가 안착",
      "risk_scenario": "$64,113.52 ext_1.618을 돌파해 안착하면 단기 bearish setup은 무효화되며, 다음 확장 목표는 ext_2.0 $64,548.20 및 confluence zone $64,648.17까지 열립니다. 반대로 $63,410.30을 하향 이탈하면 $63,141.76, $62,975.62 순으로 되돌림이 진행될 가능성이 커지고, $62,707.08의 0.618 골든 비율 지지 반응이 핵심 분기점이 됩니다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $62,272 → $63,410",
        "direction": "up",
        "nearest_fib": "ext_1.0",
        "nearest_fib_price": 63410.3,
        "nearest_fib_distance": 0.16,
        "golden_ratio_level": 62707.08,
        "fib_ret_382": 62975.62,
        "fib_ret_618": 62707.08,
        "confluence_zones": [
          {
            "price": 62986.24,
            "count": 3,
            "levels": [
              "ret_0.5",
              "ret_0.382",
              "ret_0.236"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 63858.28,
            "count": 3,
            "levels": [
              "ext_1.272",
              "ext_1.414",
              "ret_0.5"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 62611.49,
            "count": 2,
            "levels": [
              "ret_0.786",
              "ret_0.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 63304.73,
            "count": 2,
            "levels": [
              "ret_0.618",
              "ext_1.0"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 64648.17,
            "count": 2,
            "levels": [
              "ext_2.0",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          63410.3,
          63141.755600000004,
          62975.622200000005
        ],
        "resistance_levels": [
          63719.808800000006,
          63881.390600000006,
          64113.52220000001
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 63141.76,
            "distance_pct": 0.58,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.382",
            "price": 62975.62,
            "distance_pct": 0.85,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.5",
            "price": 62841.35,
            "distance_pct": 1.06,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.618",
            "price": 62707.08,
            "distance_pct": 1.27,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.786",
            "price": 62515.91,
            "distance_pct": 1.57,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.0",
            "price": 63410.3,
            "distance_pct": 0.16,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.272",
            "price": 63719.81,
            "distance_pct": 0.33,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.414",
            "price": 63881.39,
            "distance_pct": 0.58,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.618",
            "price": 64113.52,
            "distance_pct": 0.95,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ext_2.0",
            "price": 64548.2,
            "distance_pct": 1.63,
            "is_support": false,
            "cluster_score": 0.6
          }
        ],
        "confluence_quality": 0.85,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $63,512.90는 스윙 EQ/ret_0.5 $62,841.35 위에 있어 단기 프리미엄 구간에 위치\",\n    \"가격이 ext_1.0 $63,410.30을 상회하고 있으나, 바로 위 $63,719.81 ext_1.272 및 $63,881.39 ext_1.414 저항 클러스터에 근접\",\n    \"상단 confluence zone $63,858.28은 ext_1.272, ext_1.414, ret_0.5가 겹치는 3중 클러스터로 단기 매도 반응 가능 구간\",\n    \"0.618 골든 리트레이스먼트 $62,707.08은 현재가 대비 약 1.27% 아래에 있어, 상승 지속 전 재테스트 가능한 핵심 할인 지지\",\n    \"EMA120 $64,022.89 및 EMA240 $63,923.78 아래에 위치해 중기 구조 수용은 아직 확인되지 않음\"\n  ],\n  \"reasoning\": \"현재 BTC는 Low $62,272 → High $63,410 상승 스윙의 ext_1.0 $63,410.30을 소폭 상회하며 테스트 중이고, nearest_fib_distance 0.160으로 해당 레벨에 매우 근접해 있습니다. 다만 바로 위에는 $63,719.81, $63,881.39, $64,113.52의 확장 저항이 촘촘히 배치되어 있으며, 특히 $63,858.28 confluence zone은 cluster_score 0.85로 단기 공급 반응 가능성이 높습니다. 구조적으로는 명확한 BOS나 CHoCH 확인이 없고 EMA120 $64,022.89 및 EMA240 $63,923.78 아래에 있어 structure_bias는 neutral로 봅니다. 반면 setup 관점에서는 가격이 EQ $62,841.35 위 프리미엄에 있고 고점 확장 저항 클러스터에 접근 중이므로, 단기적으로는 bearish pullback setup이 우세합니다. 하락 시 핵심 지지는 ret_0.236 $63,141.76, ret_0.382 $62,975.62, 그리고 가장 중요한 0.618 골든 비율 $62,707.08입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      63410.3,\n      63141.76,\n      62975.62,\n      62707.08,\n      62515.91\n    ],\n    \"resistance\": [\n      63719.81,\n      63881.39,\n      64113.52,\n      64548.2\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$64,113.52 상향 돌파 및 1시간봉 종가 안착\",\n  \"risk_scenario\": \"$64,113.52 ext_1.618을 돌파해 안착하면 단기 bearish setup은 무효화되며, 다음 확장 목표는 ext_2.0 $64,548.20 및 confluence zone $64,648.17까지 열립니다. 반대로 $63,410.30을 하향 이탈하면 $63,141.76, $62,975.62 순으로 되돌림이 진행될 가능성이 커지고, $62,707.08의 0.618 골든 비율 지지 반응이 핵심 분기점이 됩니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.68,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.45,
      "setup_signals": [
        "분배 구조 Phase D: BC $64,179.50 → AR $63,209.60 앵커 이후 UT $64,323.00, UTAD $64,780.00, LPSY $63,410.30, SOW $62,836.60 순서가 형성됨",
        "현재가 $63,512.90은 메인 레인지 EQ 약 $63,694.55 아래에 있어 상단 수용보다 중립~약세 위치",
        "최근 SOW $62,836.60 이후 반등했지만 LPSY $63,410.30 부근을 소폭 회복한 정도이며, 아직 BC $64,179.50 또는 UT $64,323.00 상단 회복은 없음",
        "EMA120 $64,022.89 및 EMA240 $63,923.78 아래에 있어 분배 상단부 재수용 확인 전까지는 반등이 공급 테스트 성격"
      ],
      "reasoning": "지표상 regime은 DIS이고, 활성 구조 1h_cycle_1은 BC $64,179.50, AR $63,209.60을 메인 앵커로 하는 분배 후보가 아니라 is_confirmed=true인 분배 구조로 표시됩니다. 이벤트 체인은 SOW_IN_PHASE_B $62,315.00 이후 UT $64,323.00, UTAD $64,780.00, LPSY $63,410.30, SOW $62,836.60으로 이어져 Phase D 약세 해석이 우세합니다. 다만 현재가 $63,512.90은 SOW 저점에서 반등해 LPSY $63,410.30 위에 있어 즉각적인 하락 추종보다는 EQ $63,694.55 및 EMA120 $64,022.89 부근에서 재공급이 나오는지 확인이 필요합니다. 구조적 편향은 약세지만, 셋업은 아직 레인지 내부 반등 구간이므로 강한 확정형이 아니라 중간 강도의 약세 셋업입니다.",
      "key_levels": {
        "support": [
          63209.6,
          62836.6,
          62315.0
        ],
        "resistance": [
          63694.55,
          64022.89,
          64179.5,
          64323.0,
          64780.0
        ]
      },
      "time_horizon": "short/medium term",
      "invalidation_level": "$64,780.00",
      "risk_scenario": "반대 시나리오는 가격이 EQ $63,694.55를 회복한 뒤 EMA120 $64,022.89와 BC $64,179.50 위에서 수용되고, 최종적으로 UTAD $64,780.00을 재돌파하는 경우입니다. 이 경우 현재 SOW 해석은 실패한 하방 이탈 또는 재축적성 회복으로 재평가되어야 하며, 분배 Phase D 약세 시나리오는 무효화됩니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 100.0,
        "dis_score": 100.0,
        "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",
          "SOW"
        ],
        "last_phase": "SOW",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 27,
            "price": 64179.5,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 29,
            "price": 63209.6,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 75,
            "price": 62840.2,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 101,
            "price": 62315.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 147,
            "price": 64323.0,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 253,
            "price": 64780.0,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 289,
            "price": 63410.3,
            "color": "#8338ec"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 293,
            "price": 62836.6,
            "color": "#ef476f"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "1h_cycle_1",
            "sequence": 1,
            "timeframe": "1h",
            "regime": "distribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 27,
            "end_idx": 293,
            "phase_count": 8,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 27,
                "price": 64179.5,
                "color": "#ffd166",
                "dt": "2026-06-09 00:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 29,
                "price": 63209.6,
                "color": "#06d6a0",
                "dt": "2026-06-09 02:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 75,
                "price": 62840.2,
                "color": "#118ab2",
                "dt": "2026-06-11 00:00:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 101,
                "price": 62315.0,
                "color": "#ef476f",
                "dt": "2026-06-12 02:00:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 147,
                "price": 64323.0,
                "color": "#f9844a",
                "dt": "2026-06-14 00:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 253,
                "price": 64780.0,
                "color": "#f9844a",
                "dt": "2026-06-18 10:00:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 289,
                "price": 63410.3,
                "color": "#8338ec",
                "dt": "2026-06-19 22:00:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 293,
                "price": 62836.6,
                "color": "#ef476f",
                "dt": "2026-06-20 02:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "1h_cycle_1",
        "primary_structure_id": "1h_cycle_1",
        "structure_count": 1,
        "regime_fitness": 1.0,
        "current_event": "SOW",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 63209.6,
        "main_range_high": 64179.5
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.68,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.45,\n  \"setup_signals\": [\n    \"분배 구조 Phase D: BC $64,179.50 → AR $63,209.60 앵커 이후 UT $64,323.00, UTAD $64,780.00, LPSY $63,410.30, SOW $62,836.60 순서가 형성됨\",\n    \"현재가 $63,512.90은 메인 레인지 EQ 약 $63,694.55 아래에 있어 상단 수용보다 중립~약세 위치\",\n    \"최근 SOW $62,836.60 이후 반등했지만 LPSY $63,410.30 부근을 소폭 회복한 정도이며, 아직 BC $64,179.50 또는 UT $64,323.00 상단 회복은 없음\",\n    \"EMA120 $64,022.89 및 EMA240 $63,923.78 아래에 있어 분배 상단부 재수용 확인 전까지는 반등이 공급 테스트 성격\"\n  ],\n  \"reasoning\": \"지표상 regime은 DIS이고, 활성 구조 1h_cycle_1은 BC $64,179.50, AR $63,209.60을 메인 앵커로 하는 분배 후보가 아니라 is_confirmed=true인 분배 구조로 표시됩니다. 이벤트 체인은 SOW_IN_PHASE_B $62,315.00 이후 UT $64,323.00, UTAD $64,780.00, LPSY $63,410.30, SOW $62,836.60으로 이어져 Phase D 약세 해석이 우세합니다. 다만 현재가 $63,512.90은 SOW 저점에서 반등해 LPSY $63,410.30 위에 있어 즉각적인 하락 추종보다는 EQ $63,694.55 및 EMA120 $64,022.89 부근에서 재공급이 나오는지 확인이 필요합니다. 구조적 편향은 약세지만, 셋업은 아직 레인지 내부 반등 구간이므로 강한 확정형이 아니라 중간 강도의 약세 셋업입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      63209.6,\n      62836.6,\n      62315.0\n    ],\n    \"resistance\": [\n      63694.55,\n      64022.89,\n      64179.5,\n      64323.0,\n      64780.0\n    ]\n  },\n  \"time_horizon\": \"short/medium term\",\n  \"invalidation_level\": \"$64,780.00\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 EQ $63,694.55를 회복한 뒤 EMA120 $64,022.89와 BC $64,179.50 위에서 수용되고, 최종적으로 UTAD $64,780.00을 재돌파하는 경우입니다. 이 경우 현재 SOW 해석은 실패한 하방 이탈 또는 재축적성 회복으로 재평가되어야 하며, 분배 Phase D 약세 시나리오는 무효화됩니다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.62,
    "execution_setup": {
      "setup_bias": "bullish",
      "setup_strength": 0.69,
      "active_setups": [
        "가격이 EMA20 $63,082.18 위로 재진입했지만 EMA240 $63,923.78 및 EMA120 $64,022.89 아래에 머무는 단기 반등 셋업",
        "완성형 bullish Butterfly PRZ $62,912.73-$63,722.99 내부에서 반응 중이며 현재가 $63,512.90가 해당 구간 상단부에 위치",
        "완성형 bullish Crab PRZ $62,238.60-$62,938.90 방어 후 리클레임 반응 확인, 검증 TP 기준 $64,371.41 / $65,472.74",
        "ICT 기준 현재가 $63,512.90가 단기 EQ $63,506.05 바로 위에 있고 이전 bullish BOS 레벨 $62,840.20 위를 유지",
        "단기 저항 클러스터 $63,600-$63,881.39 및 EMA 저항대 $63,923.78-$64,022.89가 바로 위에 있어 반등 셋업의 품질은 확인형이 아닌 반응형"
      ],
      "setup_vs_structure": "구조는 Wyckoff Phase D 분배와 ICT의 연속 bearish BOS 때문에 약세로 기울어져 있으나, 실행 셋업은 하모닉 PRZ 방어와 EMA20 회복으로 단기 bullish 반응이 우세하다. 즉 현재 반등은 구조 전환이라기보다 분배 구조 내부의 반등 또는 LPSY 재검증 구간으로 해석해야 한다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 1,
      "neutral_count": 4
    },
    "key_levels": {
      "support": [
        63506.05,
        63410.3,
        63082.18,
        62938.9,
        62912.73,
        62836.6,
        62232.1,
        62238.6,
        61900,
        61700
      ],
      "resistance": [
        63600,
        63719.81,
        63796.6,
        63800,
        63871.3,
        63923.78,
        64022.89,
        64162.04,
        64371.41,
        64743.75,
        64780,
        65472.74,
        67255.4
      ]
    },
    "confluences": [
      " $63,923.78-$64,022.89 구간은 Candlestick, Derivatives, Harmonic, ICT가 모두 장기 EMA 저항대로 지목했으며, Fibonacci의 $64,113.52 확장 저항과도 근접한다.",
      " $63,719.81-$63,881.39 구간은 Fibonacci 확장 저항, ICT 전일 고점 $63,796.60, Derivatives 상단 청산 클러스터 $63,800, Harmonic forming PRZ $63,871.30-$64,162.04가 겹치는 단기 공급/유동성 구간이다.",
      " $62,232.10-$62,238.60 구간은 7일 저점 및 전일 저점 $62,232.10, Harmonic bullish Crab PRZ 하단 $62,238.60, Wyckoff 하단 이벤트권과 맞물리는 핵심 구조 지지대다.",
      " $62,912.73-$63,082.18 구간은 Harmonic Butterfly PRZ 하단 $62,912.73, Fibonacci 되돌림 $62,975.62, EMA20 $63,082.18이 겹치는 단기 반응 지지대다.",
      " $63,410.30은 Wyckoff LPSY 레벨이자 Fibonacci ext_1.0 기준점이며, 현재가가 이를 회복한 상태라 단기 반등 셋업의 기준선으로 기능한다.",
      " $64,743.75-$64,780.00 구간은 Candlestick의 7일 레인지 EQ $64,743.75, ICT range high $64,780.00, Wyckoff UTAD $64,780.00이 겹치는 상위 구조 검증선이다."
    ],
    "conflicts": [
      "Wyckoff는 확인된 분배 구조 Phase D, SOW 이후 반등으로 해석하며 구조적 약세를 제시하지만, Harmonic은 완성형 bullish Crab 및 Butterfly PRZ 반응을 근거로 단기 bullish 셋업을 제시한다.",
      "ICT는 최근 BOS 시퀀스가 bullish 3회 이후 bearish BOS $65,607.10, $65,328.80로 전환되어 구조는 bearish라고 보지만, 현재가가 EQ $63,506.05와 EMA20 $63,082.18 위에 있어 실행 셋업은 bullish로 본다.",
      "Derivatives는 CVD가 +$4,289.27 개선되었음에도 가격이 $64,000 위에 안착하지 못하고 롱 계정 비율 0.651로 혼잡하다는 점을 bearish 리스크로 해석한다. 이는 하모닉의 PRZ 반등 해석과 충돌한다.",
      "Fibonacci는 가격이 $63,410.30 위에 있어 단기 강세 확장은 인정하지만, $63,719.81-$64,113.52 저항 클러스터 접근으로 bearish pullback 셋업을 우선시한다.",
      "Candlestick은 최근 bullish engulfing 후보를 확인했으나 품질이 0.484, 0.466으로 낮아 하모닉의 bullish 신호를 구조 전환 신호로 인정하기에는 부족하다고 본다."
    ],
    "executive_summary": "현재 BTC 1시간 구조는 중립 다수에도 불구하고 Wyckoff의 확인된 분배 Phase D와 ICT의 연속 bearish BOS 때문에 약한 bearish 구조로 판정한다. 가격은 SOW $62,836.60 이후 반등해 LPSY $63,410.30 위를 회복했지만, 아직 BC $64,179.50, UT $64,323.00, UTAD/range high $64,780.00을 회복하지 못해 구조 전환은 확인되지 않았다. 다만 완성형 bullish Crab PRZ $62,238.60-$62,938.90와 Butterfly PRZ $62,912.73-$63,722.99에서 반응이 확인되어 실행 관점에서는 반등 셋업이 살아 있다. 핵심 구조 위험은 $63,923.78-$64,022.89 EMA 저항대와 $63,719.81-$63,881.39 단기 공급 클러스터에서의 재공급이며, 구조적 약세 무효화는 $64,780.00 상방 수용이다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.62,\n  \"execution_setup\": {\n    \"setup_bias\": \"bullish\",\n    \"setup_strength\": 0.69,\n    \"active_setups\": [\n      \"가격이 EMA20 $63,082.18 위로 재진입했지만 EMA240 $63,923.78 및 EMA120 $64,022.89 아래에 머무는 단기 반등 셋업\",\n      \"완성형 bullish Butterfly PRZ $62,912.73-$63,722.99 내부에서 반응 중이며 현재가 $63,512.90가 해당 구간 상단부에 위치\",\n      \"완성형 bullish Crab PRZ $62,238.60-$62,938.90 방어 후 리클레임 반응 확인, 검증 TP 기준 $64,371.41 / $65,472.74\",\n      \"ICT 기준 현재가 $63,512.90가 단기 EQ $63,506.05 바로 위에 있고 이전 bullish BOS 레벨 $62,840.20 위를 유지\",\n      \"단기 저항 클러스터 $63,600-$63,881.39 및 EMA 저항대 $63,923.78-$64,022.89가 바로 위에 있어 반등 셋업의 품질은 확인형이 아닌 반응형\"\n    ],\n    \"setup_vs_structure\": \"구조는 Wyckoff Phase D 분배와 ICT의 연속 bearish BOS 때문에 약세로 기울어져 있으나, 실행 셋업은 하모닉 PRZ 방어와 EMA20 회복으로 단기 bullish 반응이 우세하다. 즉 현재 반등은 구조 전환이라기보다 분배 구조 내부의 반등 또는 LPSY 재검증 구간으로 해석해야 한다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 1,\n    \"neutral_count\": 4\n  },\n  \"key_levels\": {\n    \"support\": [\n      63506.05,\n      63410.3,\n      63082.18,\n      62938.9,\n      62912.73,\n      62836.6,\n      62232.1,\n      62238.6,\n      61900,\n      61700\n    ],\n    \"resistance\": [\n      63600,\n      63719.81,\n      63796.6,\n      63800,\n      63871.3,\n      63923.78,\n      64022.89,\n      64162.04,\n      64371.41,\n      64743.75,\n      64780,\n      65472.74,\n      67255.4\n    ]\n  },\n  \"confluences\": [\n    \" $63,923.78-$64,022.89 구간은 Candlestick, Derivatives, Harmonic, ICT가 모두 장기 EMA 저항대로 지목했으며, Fibonacci의 $64,113.52 확장 저항과도 근접한다.\",\n    \" $63,719.81-$63,881.39 구간은 Fibonacci 확장 저항, ICT 전일 고점 $63,796.60, Derivatives 상단 청산 클러스터 $63,800, Harmonic forming PRZ $63,871.30-$64,162.04가 겹치는 단기 공급/유동성 구간이다.\",\n    \" $62,232.10-$62,238.60 구간은 7일 저점 및 전일 저점 $62,232.10, Harmonic bullish Crab PRZ 하단 $62,238.60, Wyckoff 하단 이벤트권과 맞물리는 핵심 구조 지지대다.\",\n    \" $62,912.73-$63,082.18 구간은 Harmonic Butterfly PRZ 하단 $62,912.73, Fibonacci 되돌림 $62,975.62, EMA20 $63,082.18이 겹치는 단기 반응 지지대다.\",\n    \" $63,410.30은 Wyckoff LPSY 레벨이자 Fibonacci ext_1.0 기준점이며, 현재가가 이를 회복한 상태라 단기 반등 셋업의 기준선으로 기능한다.\",\n    \" $64,743.75-$64,780.00 구간은 Candlestick의 7일 레인지 EQ $64,743.75, ICT range high $64,780.00, Wyckoff UTAD $64,780.00이 겹치는 상위 구조 검증선이다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 확인된 분배 구조 Phase D, SOW 이후 반등으로 해석하며 구조적 약세를 제시하지만, Harmonic은 완성형 bullish Crab 및 Butterfly PRZ 반응을 근거로 단기 bullish 셋업을 제시한다.\",\n    \"ICT는 최근 BOS 시퀀스가 bullish 3회 이후 bearish BOS $65,607.10, $65,328.80로 전환되어 구조는 bearish라고 보지만, 현재가가 EQ $63,506.05와 EMA20 $63,082.18 위에 있어 실행 셋업은 bullish로 본다.\",\n    \"Derivatives는 CVD가 +$4,289.27 개선되었음에도 가격이 $64,000 위에 안착하지 못하고 롱 계정 비율 0.651로 혼잡하다는 점을 bearish 리스크로 해석한다. 이는 하모닉의 PRZ 반등 해석과 충돌한다.\",\n    \"Fibonacci는 가격이 $63,410.30 위에 있어 단기 강세 확장은 인정하지만, $63,719.81-$64,113.52 저항 클러스터 접근으로 bearish pullback 셋업을 우선시한다.\",\n    \"Candlestick은 최근 bullish engulfing 후보를 확인했으나 품질이 0.484, 0.466으로 낮아 하모닉의 bullish 신호를 구조 전환 신호로 인정하기에는 부족하다고 본다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 확인된 1h 분배 구조를 제시하고, BC $64,179.50 → AR $63,209.60 → UT $64,323.00 → UTAD $64,780.00 → LPSY $63,410.30 → SOW $62,836.60의 구체적 이벤트 체인을 제공했기 때문이다. 신호 강도 68%로 가장 높고, 구조적 진단이 단순 패턴 후보가 아니라 Phase D 분배 체계에 기반한다.\",\n  \"invalidation_level\": \"$64,780.00 상방 회복 및 수용. 이 레벨은 Wyckoff UTAD, ICT range high, 상위 구조 저항이 겹치는 지점으로, 분배 Phase D 약세 해석이 훼손되는 핵심 구조 무효화선이다.\",\n  \"executive_summary\": \"현재 BTC 1시간 구조는 중립 다수에도 불구하고 Wyckoff의 확인된 분배 Phase D와 ICT의 연속 bearish BOS 때문에 약한 bearish 구조로 판정한다. 가격은 SOW $62,836.60 이후 반등해 LPSY $63,410.30 위를 회복했지만, 아직 BC $64,179.50, UT $64,323.00, UTAD/range high $64,780.00을 회복하지 못해 구조 전환은 확인되지 않았다. 다만 완성형 bullish Crab PRZ $62,238.60-$62,938.90와 Butterfly PRZ $62,912.73-$63,722.99에서 반응이 확인되어 실행 관점에서는 반등 셋업이 살아 있다. 핵심 구조 위험은 $63,923.78-$64,022.89 EMA 저항대와 $63,719.81-$63,881.39 단기 공급 클러스터에서의 재공급이며, 구조적 약세 무효화는 $64,780.00 상방 수용이다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.62,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.58,
    "waypoints": [
      {
        "seq": 1,
        "price": 63858.28,
        "type": "liquidity_sweep",
        "source": "Fibonacci ($63,858.28 ext_1.272/1.414/ret_0.5 삼중 클러스터, cluster_score 0.85, WP1 strict), Derivatives ($63,600/$63,800 청산 유동성), ICT (전일 고점 $63,796.60), Harmonic (forming Gartley PRZ $63,871.30), Chairman 단기 공급 클러스터 $63,719.81-$63,881.39",
        "description": "BULLISH 셋업(강도 69%)이 구조 약세보다 먼저 전개되어 현재가 $63,512.90가 $63,600/$63,800 매수측 청산 유동성을 스윕하며 단기 공급/EMA 저항대 하단 $63,858.28를 테스트한다. Fib 삼중 클러스터·forming Gartley PRZ·바로 위 EMA240 $63,923.78가 겹치는 핵심 재공급 지점으로, '확인형'이 아닌 '반응형' 셋업의 천장으로 기능한다. 셋업 강도 0.69는 0.70 미만이라 돌파가 아닌 유동성 그랩+거부로 해석한다.",
        "est_hours": 5.0,
        "turning_zone": [
          63858.28,
          64022.89
        ],
        "likely_wick": 63923.78,
        "rejection_confirm": 63719.81,
        "invalid_overshoot": 64162.04,
        "calibration_reasoning": "기준가 $63,858.28는 ext_1.272·1.414·ret_0.5 3중 피보 클러스터로 존 하단을 고정했고, 상단은 바로 위 EMA240 $63,923.78와 챔피언 저항·gartley PRZ($64,016.67)가 겹치는 $64,022.89까지 확장(폭 $164.61≈0.45 ATR). 셋업 강도 0.69<0.70이라 돌파가 아닌 유동성 스윕+거부로 해석해 likely_wick은 재공급 천장 EMA240, 거부 확인은 하단 피보 저항 $63,719.81 상실, 무효화는 챔피언 저항 $64,162.04 종가 돌파."
      },
      {
        "seq": 2,
        "price": 63082.18,
        "type": "support_test",
        "source": "Candlestick·Derivatives·ICT·Wyckoff·Harmonic 공통 EMA20 $63,082.18, Fibonacci ret_0.382 $62,975.62 상단, ICT EQ $63,506.05 / Wyckoff LPSY $63,410.30 경유",
        "description": "공급대에서 재공급(rejection) 확인 후 가격이 EQ $63,506.05와 LPSY $63,410.30을 차례로 반납하고, 다수 에이전트가 공통 지지로 지목한 EMA20 $63,082.18로 회귀한다. 이 레벨 사수 여부가 레인지 내부 반등 지속 vs Wyckoff 분배 재개를 가르는 핵심 분기점이다.",
        "est_hours": 13.0,
        "turning_zone": [
          62938.9,
          63082.18
        ],
        "likely_wick": 62986.24,
        "rejection_confirm": 63304.73,
        "invalid_overshoot": 62912.73,
        "calibration_reasoning": "EMA20 $63,082.18을 존 상단(기준가)으로 두고, 하단은 $63,000 라운드넘버 직하의 3중 피보 컨플루언스 $62,986.24와 챔피언 지지 $62,938.9까지 확장(폭 $143.28≈0.39 ATR). likely_wick은 $63,000 라운드넘버 직하 유동성 마그넷이자 ret_0.5/0.382/0.236 컨플루언스 $62,986.24, 반등 확인은 피보 컨플루언스 $63,304.73 회복, 하향 이탈 무효화는 하모닉/피보 방어대($62,912.73~$62,986.24) 하단 $62,912.73 상실."
      },
      {
        "seq": 3,
        "price": 62836.6,
        "type": "swing_low",
        "source": "Wyckoff SOW $62,836.60, Harmonic Crab PRZ 상단 $62,938.90 / Butterfly PRZ 하단 $62,912.73, Fibonacci confluence $62,986.24 (strict 0.85)",
        "description": "EMA20 이탈로 Wyckoff 분배 Phase D가 재개되며 SOW $62,836.60 저점을 재방문한다. 직상단 $62,912.73-$62,986.24 하모닉 PRZ/Fib 컨플루언스 방어대를 하향 이탈하는 흐름이며, 추가 약세 시 7일 저점 $62,232.10 및 Crab PRZ 하단 $62,238.60이 다음 자석, 그 아래 $61,900-$61,700 청산 클러스터가 꼬리 리스크다.",
        "est_hours": 21.0,
        "turning_zone": [
          62611.49,
          62836.6
        ],
        "likely_wick": 62707.08,
        "rejection_confirm": 62986.24,
        "invalid_overshoot": 62238.6,
        "calibration_reasoning": "종착 웨이포인트라 존 폭 확대(폭 $225.11≈0.61 ATR): SOW $62,836.6을 상단으로, golden ratio 0.618 $62,707.08(≈$62,700 라운드넘버)을 거쳐 ret_0.786/0.618 피보 컨플루언스 $62,611.49을 하단에 고정. CONFIRMED butterfly/crab PRZ의 TP 사다리는 상방 타깃이라 하향 경로와 불일치해 앵커에서 제외. 바닥 확인은 붕괴된 방어대 상단 $62,986.24 회복, 무효화는 다음 자석인 7일 저점/Crab PRZ 하단 $62,238.60(하모닉 컨펌 클러스터) 이탈."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 63858.28,
        "expected_low": 63410.3,
        "high_first": true
      },
      "8h": {
        "expected_high": 63858.28,
        "expected_low": 63141.76,
        "high_first": true
      },
      "24h": {
        "expected_high": 63858.28,
        "expected_low": 62611.49,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 64022.89,
        "description": "EMA240 $63,923.78-EMA120 $64,022.89 저항대를 종가 기준 상방 수용하면 단기 약세 셋업이 무효화되고, Wyckoff BC $64,179.50·UT $64,323.00·Harmonic Crab TP1 $64,371.41로의 강세 가속이 열린다."
      },
      "bearish": {
        "price": 63082.18,
        "description": "EMA20 $63,082.18를 명확히 하향 이탈하면 공급대 거부가 확정되어 분배 재개가 가속, SOW $62,836.60 및 7일 저점 $62,232.10/청산 클러스터 $61,900-$61,700로 하락 압력이 확대된다."
      }
    },
    "scenario_invalidation": 64780.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.58,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 63858.28,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Fibonacci ($63,858.28 ext_1.272/1.414/ret_0.5 삼중 클러스터, cluster_score 0.85, WP1 strict), Derivatives ($63,600/$63,800 청산 유동성), ICT (전일 고점 $63,796.60), Harmonic (forming Gartley PRZ $63,871.30), Chairman 단기 공급 클러스터 $63,719.81-$63,881.39\",\n      \"description\": \"BULLISH 셋업(강도 69%)이 구조 약세보다 먼저 전개되어 현재가 $63,512.90가 $63,600/$63,800 매수측 청산 유동성을 스윕하며 단기 공급/EMA 저항대 하단 $63,858.28를 테스트한다. Fib 삼중 클러스터·forming Gartley PRZ·바로 위 EMA240 $63,923.78가 겹치는 핵심 재공급 지점으로, '확인형'이 아닌 '반응형' 셋업의 천장으로 기능한다. 셋업 강도 0.69는 0.70 미만이라 돌파가 아닌 유동성 그랩+거부로 해석한다.\",\n      \"est_hours\": 5.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 63082.18,\n      \"type\": \"support_test\",\n      \"source\": \"Candlestick·Derivatives·ICT·Wyckoff·Harmonic 공통 EMA20 $63,082.18, Fibonacci ret_0.382 $62,975.62 상단, ICT EQ $63,506.05 / Wyckoff LPSY $63,410.30 경유\",\n      \"description\": \"공급대에서 재공급(rejection) 확인 후 가격이 EQ $63,506.05와 LPSY $63,410.30을 차례로 반납하고, 다수 에이전트가 공통 지지로 지목한 EMA20 $63,082.18로 회귀한다. 이 레벨 사수 여부가 레인지 내부 반등 지속 vs Wyckoff 분배 재개를 가르는 핵심 분기점이다.\",\n      \"est_hours\": 13.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 62836.60,\n      \"type\": \"swing_low\",\n      \"source\": \"Wyckoff SOW $62,836.60, Harmonic Crab PRZ 상단 $62,938.90 / Butterfly PRZ 하단 $62,912.73, Fibonacci confluence $62,986.24 (strict 0.85)\",\n      \"description\": \"EMA20 이탈로 Wyckoff 분배 Phase D가 재개되며 SOW $62,836.60 저점을 재방문한다. 직상단 $62,912.73-$62,986.24 하모닉 PRZ/Fib 컨플루언스 방어대를 하향 이탈하는 흐름이며, 추가 약세 시 7일 저점 $62,232.10 및 Crab PRZ 하단 $62,238.60이 다음 자석, 그 아래 $61,900-$61,700 청산 클러스터가 꼬리 리스크다.\",\n      \"est_hours\": 21.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 63858.28, \"expected_low\": 63410.30, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 63858.28, \"expected_low\": 63141.76, \"high_first\": true},\n    \"24h\": {\"expected_high\": 63858.28, \"expected_low\": 62611.49, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 64022.89, \"description\": \"EMA240 $63,923.78-EMA120 $64,022.89 저항대를 종가 기준 상방 수용하면 단기 약세 셋업이 무효화되고, Wyckoff BC $64,179.50·UT $64,323.00·Harmonic Crab TP1 $64,371.41로의 강세 가속이 열린다.\"},\n    \"bearish\": {\"price\": 63082.18, \"description\": \"EMA20 $63,082.18를 명확히 하향 이탈하면 공급대 거부가 확정되어 분배 재개가 가속, SOW $62,836.60 및 7일 저점 $62,232.10/청산 클러스터 $61,900-$61,700로 하락 압력이 확대된다.\"}\n  },\n  \"scenario_invalidation\": 64780.00\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 63858.28,
        "turning_zone": [
          63858.28,
          64022.89
        ],
        "likely_wick": 63923.78,
        "rejection_confirm": 63719.81,
        "invalid_overshoot": 64162.04,
        "calibration_reasoning": "기준가 $63,858.28는 ext_1.272·1.414·ret_0.5 3중 피보 클러스터로 존 하단을 고정했고, 상단은 바로 위 EMA240 $63,923.78와 챔피언 저항·gartley PRZ($64,016.67)가 겹치는 $64,022.89까지 확장(폭 $164.61≈0.45 ATR). 셋업 강도 0.69<0.70이라 돌파가 아닌 유동성 스윕+거부로 해석해 likely_wick은 재공급 천장 EMA240, 거부 확인은 하단 피보 저항 $63,719.81 상실, 무효화는 챔피언 저항 $64,162.04 종가 돌파."
      },
      {
        "seq": 2,
        "base_target": 63082.18,
        "turning_zone": [
          62938.9,
          63082.18
        ],
        "likely_wick": 62986.24,
        "rejection_confirm": 63304.73,
        "invalid_overshoot": 62912.73,
        "calibration_reasoning": "EMA20 $63,082.18을 존 상단(기준가)으로 두고, 하단은 $63,000 라운드넘버 직하의 3중 피보 컨플루언스 $62,986.24와 챔피언 지지 $62,938.9까지 확장(폭 $143.28≈0.39 ATR). likely_wick은 $63,000 라운드넘버 직하 유동성 마그넷이자 ret_0.5/0.382/0.236 컨플루언스 $62,986.24, 반등 확인은 피보 컨플루언스 $63,304.73 회복, 하향 이탈 무효화는 하모닉/피보 방어대($62,912.73~$62,986.24) 하단 $62,912.73 상실."
      },
      {
        "seq": 3,
        "base_target": 62836.6,
        "turning_zone": [
          62611.49,
          62836.6
        ],
        "likely_wick": 62707.08,
        "rejection_confirm": 62986.24,
        "invalid_overshoot": 62238.6,
        "calibration_reasoning": "종착 웨이포인트라 존 폭 확대(폭 $225.11≈0.61 ATR): SOW $62,836.6을 상단으로, golden ratio 0.618 $62,707.08(≈$62,700 라운드넘버)을 거쳐 ret_0.786/0.618 피보 컨플루언스 $62,611.49을 하단에 고정. CONFIRMED butterfly/crab PRZ의 TP 사다리는 상방 타깃이라 하향 경로와 불일치해 앵커에서 제외. 바닥 확인은 붕괴된 방어대 상단 $62,986.24 회복, 무효화는 다음 자석인 7일 저점/Crab PRZ 하단 $62,238.60(하모닉 컨펌 클러스터) 이탈."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 63858.28,\n      \"turning_zone\": [63858.28, 64022.89],\n      \"likely_wick\": 63923.78,\n      \"rejection_confirm\": 63719.81,\n      \"invalid_overshoot\": 64162.04,\n      \"calibration_reasoning\": \"기준가 $63,858.28는 ext_1.272·1.414·ret_0.5 3중 피보 클러스터로 존 하단을 고정했고, 상단은 바로 위 EMA240 $63,923.78와 챔피언 저항·gartley PRZ($64,016.67)가 겹치는 $64,022.89까지 확장(폭 $164.61≈0.45 ATR). 셋업 강도 0.69<0.70이라 돌파가 아닌 유동성 스윕+거부로 해석해 likely_wick은 재공급 천장 EMA240, 거부 확인은 하단 피보 저항 $63,719.81 상실, 무효화는 챔피언 저항 $64,162.04 종가 돌파.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 63082.18,\n      \"turning_zone\": [62938.90, 63082.18],\n      \"likely_wick\": 62986.24,\n      \"rejection_confirm\": 63304.73,\n      \"invalid_overshoot\": 62912.73,\n      \"calibration_reasoning\": \"EMA20 $63,082.18을 존 상단(기준가)으로 두고, 하단은 $63,000 라운드넘버 직하의 3중 피보 컨플루언스 $62,986.24와 챔피언 지지 $62,938.9까지 확장(폭 $143.28≈0.39 ATR). likely_wick은 $63,000 라운드넘버 직하 유동성 마그넷이자 ret_0.5/0.382/0.236 컨플루언스 $62,986.24, 반등 확인은 피보 컨플루언스 $63,304.73 회복, 하향 이탈 무효화는 하모닉/피보 방어대($62,912.73~$62,986.24) 하단 $62,912.73 상실.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 62836.60,\n      \"turning_zone\": [62611.49, 62836.60],\n      \"likely_wick\": 62707.08,\n      \"rejection_confirm\": 62986.24,\n      \"invalid_overshoot\": 62238.60,\n      \"calibration_reasoning\": \"종착 웨이포인트라 존 폭 확대(폭 $225.11≈0.61 ATR): SOW $62,836.6을 상단으로, golden ratio 0.618 $62,707.08(≈$62,700 라운드넘버)을 거쳐 ret_0.786/0.618 피보 컨플루언스 $62,611.49을 하단에 고정. CONFIRMED butterfly/crab PRZ의 TP 사다리는 상방 타깃이라 하향 경로와 불일치해 앵커에서 제외. 바닥 확인은 붕괴된 방어대 상단 $62,986.24 회복, 무효화는 다음 자석인 7일 저점/Crab PRZ 하단 $62,238.60(하모닉 컨펌 클러스터) 이탈.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 26.7,
      "chairman": 42.4,
      "operating_path": 241.1,
      "tp_calibrator": 257.7
    },
    "agents": {},
    "total_s": 567.8
  }
}