{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-06-05 09:00 KST",
  "last_price": 63858.7,
  "num_candles": 300,
  "stage1_analyses": {
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.78,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $63,858.70가 활성 분배 구조의 LPSY $63,898.90 바로 아래에 위치하여 LPSY 하단 수용 여부가 핵심",
        "활성 분배 범위 EQ 약 $64,173.60 아래에 머물러 있어 매수 회복보다 공급 우위 해석이 우세",
        "UTAD $64,380.00 이후 LPSY $63,898.90 및 SOW $62,910.00가 순차적으로 형성되어 Phase D/E 약세 전개가 유효",
        "단기 반등이 있더라도 $63,898.90~$64,380.00 구간은 재공급 및 거절 확인 구간"
      ],
      "reasoning": "15분 기준 regime은 DIS이며 regime_fitness 0.967, dis_score 96.7로 confirmed_dis 구조가 우세하다. 활성 구조 15m_cycle_2는 BC $64,739.80 → AR $63,607.40 → ST $64,417.90 → SOW_IN_PHASE_B $62,150.80 → UT $63,947.80 → UTAD $64,380.00 → LPSY $63,898.90 → SOW $62,910.00 순서로 분배 이벤트 체인이 확인된다. 현재가 $63,858.70는 LPSY $63,898.90 바로 아래이면서 활성 범위 EQ 약 $64,173.60 아래에 있어 구조적 해석은 여전히 약세이며, 즉시 경로는 $63,607.40 AR 저점 재시험 또는 $62,910.00 SOW 저점 재방문 가능성이 더 높다. 다만 현재 가격이 AR $63,607.40 위에 있으므로, $63,898.90 및 $64,173.60을 빠르게 회복하면 단기 되돌림이 먼저 나올 수 있어 추격보다는 재공급 확인이 중요하다.",
      "key_levels": {
        "support": [
          63607.4,
          62910.0,
          62150.8,
          61344.8
        ],
        "resistance": [
          63898.9,
          64173.6,
          64380.0,
          64417.9,
          64739.8
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$64,739.80 상방 회복 및 수용 시 활성 분배 구조의 약세 지속 해석은 무효화",
      "risk_scenario": "$63,898.90 LPSY와 EQ $64,173.60을 회복한 뒤 UTAD $64,380.00까지 재진입하면 단기 약세 셋업은 약화된다. 이후 BC $64,739.80 위에서 수용이 확인되면 현재 분배 구조는 실패한 하방 전개로 해석되어 재축적 또는 반전 구조를 다시 평가해야 한다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 86.4,
        "dis_score": 96.7,
        "regime": "DIS",
        "regime_state": "confirmed_dis",
        "structure_bias": "bearish",
        "phase_context": "confirmed_dis / distribution / Phase E",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "LPSY",
          "SOW",
          "Phase E"
        ],
        "last_phase": "Phase E",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 82,
            "price": 67821.9,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 90,
            "price": 66388.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 110,
            "price": 67195.7,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 147,
            "price": 66620.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 161,
            "price": 67220.2,
            "color": "#f9844a"
          },
          {
            "label": "LPSY",
            "side": "high",
            "idx": 178,
            "price": 66159.0,
            "color": "#8338ec"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 181,
            "price": 65711.4,
            "color": "#ef476f"
          },
          {
            "label": "Phase E",
            "side": "low",
            "idx": 212,
            "price": 61344.8,
            "color": "#7209b7"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 82,
            "end_idx": 212,
            "phase_count": 8,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 82,
                "price": 67821.9,
                "color": "#ffd166",
                "dt": "2026-06-03 02:30:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 90,
                "price": 66388.0,
                "color": "#06d6a0",
                "dt": "2026-06-03 04:30:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 110,
                "price": 67195.7,
                "color": "#118ab2",
                "dt": "2026-06-03 09:30:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 147,
                "price": 66620.0,
                "color": "#ef476f",
                "dt": "2026-06-03 18:45:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 161,
                "price": 67220.2,
                "color": "#f9844a",
                "dt": "2026-06-03 22:15:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 178,
                "price": 66159.0,
                "color": "#8338ec",
                "dt": "2026-06-04 02:30:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 181,
                "price": 65711.4,
                "color": "#ef476f",
                "dt": "2026-06-04 03:15:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 212,
                "price": 61344.8,
                "color": "#7209b7",
                "dt": "2026-06-04 11:00:00+09:00"
              }
            ]
          },
          {
            "structure_id": "15m_cycle_2",
            "sequence": 2,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 221,
            "end_idx": 275,
            "phase_count": 8,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 221,
                "price": 64739.8,
                "color": "#ffd166",
                "dt": "2026-06-04 13:15:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 225,
                "price": 63607.4,
                "color": "#06d6a0",
                "dt": "2026-06-04 14:15:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 230,
                "price": 64417.9,
                "color": "#118ab2",
                "dt": "2026-06-04 15:30:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 250,
                "price": 62150.8,
                "color": "#ef476f",
                "dt": "2026-06-04 20:30:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 255,
                "price": 63947.8,
                "color": "#f9844a",
                "dt": "2026-06-04 21:45:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 265,
                "price": 64380.0,
                "color": "#f9844a",
                "dt": "2026-06-05 00:15:00+09:00"
              },
              {
                "label": "LPSY",
                "side": "high",
                "idx": 271,
                "price": 63898.9,
                "color": "#8338ec",
                "dt": "2026-06-05 01:45:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 275,
                "price": 62910.0,
                "color": "#ef476f",
                "dt": "2026-06-05 02:45:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_2",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 2,
        "regime_fitness": 0.967391304347826,
        "current_event": "Phase E",
        "major_phase": "E",
        "pos_in_range": 0.5,
        "main_range_low": 66388.0,
        "main_range_high": 67821.9
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.78,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $63,858.70가 활성 분배 구조의 LPSY $63,898.90 바로 아래에 위치하여 LPSY 하단 수용 여부가 핵심\",\n    \"활성 분배 범위 EQ 약 $64,173.60 아래에 머물러 있어 매수 회복보다 공급 우위 해석이 우세\",\n    \"UTAD $64,380.00 이후 LPSY $63,898.90 및 SOW $62,910.00가 순차적으로 형성되어 Phase D/E 약세 전개가 유효\",\n    \"단기 반등이 있더라도 $63,898.90~$64,380.00 구간은 재공급 및 거절 확인 구간\"\n  ],\n  \"reasoning\": \"15분 기준 regime은 DIS이며 regime_fitness 0.967, dis_score 96.7로 confirmed_dis 구조가 우세하다. 활성 구조 15m_cycle_2는 BC $64,739.80 → AR $63,607.40 → ST $64,417.90 → SOW_IN_PHASE_B $62,150.80 → UT $63,947.80 → UTAD $64,380.00 → LPSY $63,898.90 → SOW $62,910.00 순서로 분배 이벤트 체인이 확인된다. 현재가 $63,858.70는 LPSY $63,898.90 바로 아래이면서 활성 범위 EQ 약 $64,173.60 아래에 있어 구조적 해석은 여전히 약세이며, 즉시 경로는 $63,607.40 AR 저점 재시험 또는 $62,910.00 SOW 저점 재방문 가능성이 더 높다. 다만 현재 가격이 AR $63,607.40 위에 있으므로, $63,898.90 및 $64,173.60을 빠르게 회복하면 단기 되돌림이 먼저 나올 수 있어 추격보다는 재공급 확인이 중요하다.\",\n  \"key_levels\": {\n    \"support\": [\n      63607.4,\n      62910.0,\n      62150.8,\n      61344.8\n    ],\n    \"resistance\": [\n      63898.9,\n      64173.6,\n      64380.0,\n      64417.9,\n      64739.8\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$64,739.80 상방 회복 및 수용 시 활성 분배 구조의 약세 지속 해석은 무효화\",\n  \"risk_scenario\": \"$63,898.90 LPSY와 EQ $64,173.60을 회복한 뒤 UTAD $64,380.00까지 재진입하면 단기 약세 셋업은 약화된다. 이후 BC $64,739.80 위에서 수용이 확인되면 현재 분배 구조는 실패한 하방 전개로 해석되어 재축적 또는 반전 구조를 다시 평가해야 한다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "가격 $63,858.70이 EMA120 $64,172.06 아래에 있어 단기 반등이 구조 저항권에 막히는 상태",
        "EMA240 $65,470.51 아래 -2.5% 위치로 중기 구조는 아직 할인 회복 실패",
        "24시간 OI가 -5.5990% 감소해 신규 롱 유입이 아니라 포지션 언와인딩 성격이 강함",
        "CVD 변화량 -4541.0290으로 가격 반등 대비 매수 체결 참여가 약한 약세 다이버전스",
        "롱 계정 비율 0.666, 숏 계정 비율 0.334로 롱 계정 쏠림이 남아 있어 반대매매성 하방 리스크 존재",
        "현물-선물 베이시스 -0.0427%로 선물이 현물 대비 할인되어 파생 수요가 약함",
        "하방 청산 유동성 $62,600, $61,200, $57,500에 누적되어 단기 유동성 타깃이 아래쪽에 존재"
      ],
      "reasoning": "현재 BTC는 $63,858.70으로 EMA20 $63,573.03 위에는 있지만 EMA120 $64,172.06 및 EMA240 $65,470.51 아래에 머물러 있어 반등은 아직 구조 전환이 아니라 약세 구조 내 되돌림으로 해석된다. 파생 포지셔닝은 24시간 OI -5.5990% 감소, CVD -4541.0290, 베이시스 -0.0427%로 신규 매수 주도력이 부족하며, 롱 계정 비율 0.666의 잔존 롱 쏠림은 하방 청산 압력을 키운다. 단기 저항은 $65,000 청산대와 EMA240 부근 $65,470.51, 이후 $66,100~$66,300이며, 이를 회복하지 못하면 $62,600 및 $61,200 하방 유동성 테스트 가능성이 높다. 다만 펀딩은 평균 0.000 수준으로 과열된 롱 펀딩은 아니며, OI 감소는 공격적 신규 숏보다는 디레버리징 성격이므로 신호 강도는 중간 수준이다.",
      "key_levels": {
        "support": [
          62600,
          61344.8,
          61200,
          57500,
          57200
        ],
        "resistance": [
          64172.06,
          65000,
          65470.51,
          66100,
          66300
        ]
      },
      "time_horizon": "단기, 향후 4-8시간",
      "invalidation_level": "$66,300 상방 회복 및 15분봉 기준 수용",
      "risk_scenario": "$66,300을 강하게 돌파하면 $65,000~$66,300 상단 청산대가 흡수되며 숏 포지션이 압박받고, 가격은 EMA240 $65,470.51 위에서 구조 회복을 시도할 수 있다. 이 경우 약세 파생 신호는 숏 스퀴즈 연료로 전환되어 $67,000 이상으로 확장될 위험이 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.15,
        "cvd_change": -4541.029,
        "oi_trend": 0.0,
        "oi_change_pct_24h": -5.599,
        "oi_latest": 98686.549,
        "funding_pressure": 0.49,
        "funding_avg": 1.049e-05,
        "funding_change_24h": -3.782e-05,
        "long_account_ratio": 0.666,
        "short_account_ratio": 0.334,
        "long_account_latest": 0.666,
        "short_account_latest": 0.334,
        "long_account_change_24h": -0.025,
        "short_account_change_24h": 0.025,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.489,
        "spot_futures_basis_pct": -0.0427,
        "basis_change_lookback": -0.0058,
        "aggregate_score": 0.226,
        "bull_signals": 0,
        "bear_signals": 3,
        "liq_below": [
          [
            62600,
            3176.7483537000003
          ],
          [
            61200,
            3294.1387005000006
          ],
          [
            57500,
            3261.2775275
          ]
        ],
        "liq_above": [
          [
            65000,
            3047.41203465
          ],
          [
            66100,
            3265.6635990000004
          ],
          [
            66300,
            3139.3349430000007
          ]
        ],
        "strongest_liq_level": 57200,
        "fragility_score": 0.314,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"가격 $63,858.70이 EMA120 $64,172.06 아래에 있어 단기 반등이 구조 저항권에 막히는 상태\",\n    \"EMA240 $65,470.51 아래 -2.5% 위치로 중기 구조는 아직 할인 회복 실패\",\n    \"24시간 OI가 -5.5990% 감소해 신규 롱 유입이 아니라 포지션 언와인딩 성격이 강함\",\n    \"CVD 변화량 -4541.0290으로 가격 반등 대비 매수 체결 참여가 약한 약세 다이버전스\",\n    \"롱 계정 비율 0.666, 숏 계정 비율 0.334로 롱 계정 쏠림이 남아 있어 반대매매성 하방 리스크 존재\",\n    \"현물-선물 베이시스 -0.0427%로 선물이 현물 대비 할인되어 파생 수요가 약함\",\n    \"하방 청산 유동성 $62,600, $61,200, $57,500에 누적되어 단기 유동성 타깃이 아래쪽에 존재\"\n  ],\n  \"reasoning\": \"현재 BTC는 $63,858.70으로 EMA20 $63,573.03 위에는 있지만 EMA120 $64,172.06 및 EMA240 $65,470.51 아래에 머물러 있어 반등은 아직 구조 전환이 아니라 약세 구조 내 되돌림으로 해석된다. 파생 포지셔닝은 24시간 OI -5.5990% 감소, CVD -4541.0290, 베이시스 -0.0427%로 신규 매수 주도력이 부족하며, 롱 계정 비율 0.666의 잔존 롱 쏠림은 하방 청산 압력을 키운다. 단기 저항은 $65,000 청산대와 EMA240 부근 $65,470.51, 이후 $66,100~$66,300이며, 이를 회복하지 못하면 $62,600 및 $61,200 하방 유동성 테스트 가능성이 높다. 다만 펀딩은 평균 0.000 수준으로 과열된 롱 펀딩은 아니며, OI 감소는 공격적 신규 숏보다는 디레버리징 성격이므로 신호 강도는 중간 수준이다.\",\n  \"key_levels\": {\n    \"support\": [\n      62600,\n      61344.8,\n      61200,\n      57500,\n      57200\n    ],\n    \"resistance\": [\n      64172.06,\n      65000,\n      65470.51,\n      66100,\n      66300\n    ]\n  },\n  \"time_horizon\": \"단기, 향후 4-8시간\",\n  \"invalidation_level\": \"$66,300 상방 회복 및 15분봉 기준 수용\",\n  \"risk_scenario\": \"$66,300을 강하게 돌파하면 $65,000~$66,300 상단 청산대가 흡수되며 숏 포지션이 압박받고, 가격은 EMA240 $65,470.51 위에서 구조 회복을 시도할 수 있다. 이 경우 약세 파생 신호는 숏 스퀴즈 연료로 전환되어 $67,000 이상으로 확장될 위험이 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.46,
      "structure_bias": "bearish",
      "setup_bias": "bullish",
      "setup_score": 0.45,
      "setup_signals": [
        "현재가 $63,858.70는 7일 범위 EQ $66,454.40 아래에 있어 할인 구간(discount zone)에 위치",
        "현재가가 EMA20 $63,573.03 위로 재진입하여 단기 반등 시도 확인",
        "EMA120 $64,172.06와 EMA240 $65,470.51 아래에 머물러 있어 상위 구조 저항은 아직 해소되지 않음",
        "최근 dark_cloud_cover@296 후보가 있으나 pattern_quality 0.518로 중간 이하이며 고거래량 확인 없음",
        "doji@290, doji@292 발생으로 $63,000대 중후반에서 방향성 대기 및 매도 압력 둔화 가능성"
      ],
      "reasoning": "현재 BTC는 $63,858.70로 EMA20 $63,573.03 위에 있어 단기적으로는 반등 시도가 있으나, EMA120 $64,172.06 및 EMA240 $65,470.51 아래에 있어 확정 구조는 여전히 약세로 판단한다. 최근 패턴은 doji 2개와 dark_cloud_cover 후보 1개이며, 최상위 패턴 품질이 0.518에 불과하고 고거래량 패턴이 없어 강한 반전 신호로 보기는 어렵다. 7일 고점 $71,564.00와 저점 $61,344.80의 중간값인 EQ $66,454.40 아래에 있어 가격은 할인 구간에 있으며, 이는 구조 전환 전 반등 셋업을 만들 수 있다. 따라서 구조는 약세지만, 단기 실행 셋업은 EMA20 재탈환과 할인 구간 위치 때문에 약한 bullish로 분리해서 본다.",
      "key_levels": {
        "support": [
          63573.03,
          63520.17,
          61344.8
        ],
        "resistance": [
          64172.06,
          65470.51,
          66454.4,
          71564
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,344.80",
      "risk_scenario": "반대로 매수 셋업이 실패하고 EMA20 $63,573.03 아래로 재이탈한 뒤 $63,520 부근의 1ATR 하단까지 밀리면, dark_cloud_cover 후보가 유효해지며 7일 저점 $61,344.80 재테스트 가능성이 커진다. 특히 EMA120 $64,172.06 돌파에 실패하면 단기 반등은 단순한 약세장 되돌림으로 해석될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 141,
        "recent_patterns": 3,
        "pattern_list": [
          "doji@290",
          "doji@292",
          "dark_cloud_cover@296"
        ],
        "atr_value": 338.53,
        "vol_avg_20": 1971.01,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "dark_cloud_cover",
            "signal": "bearish",
            "pattern_quality": 0.518,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.518,
        "bull_score": 0,
        "bear_score": 0.7
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.46,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.45,\n  \"setup_signals\": [\n    \"현재가 $63,858.70는 7일 범위 EQ $66,454.40 아래에 있어 할인 구간(discount zone)에 위치\",\n    \"현재가가 EMA20 $63,573.03 위로 재진입하여 단기 반등 시도 확인\",\n    \"EMA120 $64,172.06와 EMA240 $65,470.51 아래에 머물러 있어 상위 구조 저항은 아직 해소되지 않음\",\n    \"최근 dark_cloud_cover@296 후보가 있으나 pattern_quality 0.518로 중간 이하이며 고거래량 확인 없음\",\n    \"doji@290, doji@292 발생으로 $63,000대 중후반에서 방향성 대기 및 매도 압력 둔화 가능성\"\n  ],\n  \"reasoning\": \"현재 BTC는 $63,858.70로 EMA20 $63,573.03 위에 있어 단기적으로는 반등 시도가 있으나, EMA120 $64,172.06 및 EMA240 $65,470.51 아래에 있어 확정 구조는 여전히 약세로 판단한다. 최근 패턴은 doji 2개와 dark_cloud_cover 후보 1개이며, 최상위 패턴 품질이 0.518에 불과하고 고거래량 패턴이 없어 강한 반전 신호로 보기는 어렵다. 7일 고점 $71,564.00와 저점 $61,344.80의 중간값인 EQ $66,454.40 아래에 있어 가격은 할인 구간에 있으며, 이는 구조 전환 전 반등 셋업을 만들 수 있다. 따라서 구조는 약세지만, 단기 실행 셋업은 EMA20 재탈환과 할인 구간 위치 때문에 약한 bullish로 분리해서 본다.\",\n  \"key_levels\": {\n    \"support\": [\n      63573.03,\n      63520.17,\n      61344.8\n    ],\n    \"resistance\": [\n      64172.06,\n      65470.51,\n      66454.4,\n      71564\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,344.80\",\n  \"risk_scenario\": \"반대로 매수 셋업이 실패하고 EMA20 $63,573.03 아래로 재이탈한 뒤 $63,520 부근의 1ATR 하단까지 밀리면, dark_cloud_cover 후보가 유효해지며 7일 저점 $61,344.80 재테스트 가능성이 커진다. 특히 EMA120 $64,172.06 돌파에 실패하면 단기 반등은 단순한 약세장 되돌림으로 해석될 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bullish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.68,
      "setup_signals": [
        "가격 $63,858.70이 하락 스윙 고점 $63,848을 소폭 상회하며 단기 상단 돌파를 시도 중",
        "0.786 되돌림 $63,675.01 위에서 거래 중이며 최근접 피보나치 지지로 작동",
        "골든비율 0.618 되돌림 $63,539.28 및 핵심 컨플루언스 존 $63,603.69가 하방 지지 클러스터를 형성",
        "컨플루언스 품질 1.000, 반응 확률 0.65로 피보나치 지지 반응 가능성 우위",
        "현재가가 EMA20 $63,573.03 위에 있어 단기 평균선 기준으로는 매수세가 우세"
      ],
      "reasoning": "현재 BTC/USDT는 하락 스윙 $63,848 → $63,040 기준으로 0.786 되돌림 $63,675.01을 회복했고, 현재가 $63,858.70은 스윙 고점 $63,848을 근소하게 상회하고 있습니다. 다만 이 돌파가 아직 명확한 구조적 수용이나 확인된 BOS로 보기에는 폭이 작기 때문에 structure_bias는 중립으로 둡니다. setup 관점에서는 0.618 골든비율 $63,539.28, 0.5 $63,443.95, 0.786 $63,675.01이 모두 지지로 정렬되어 있고, $63,603.69 컨플루언스 존의 cluster_score가 1.0으로 매우 높아 단기 bullish setup이 우세합니다. 반면 EMA120 $64,172.06과 EMA240 $65,470.51이 위에 남아 있어 상승 시 동적 저항으로 작용할 수 있습니다.",
      "key_levels": {
        "support": [
          63675.01,
          63539.28,
          63443.95,
          63348.62,
          63040.0,
          62820.25,
          62540.72,
          62232.1
        ],
        "resistance": [
          63848.0,
          64172.06,
          65470.51
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "63539.28",
      "risk_scenario": "반대로 가격이 0.786 지지 $63,675.01을 잃고 특히 골든비율 $63,539.28 아래로 15분봉 종가 기준 이탈하면 현재의 bullish setup은 무효화됩니다. 이 경우 $63,443.95, $63,348.62, 최종적으로 스윙 저점 $63,040.00 재테스트 가능성이 커지며, $63,040 이탈 시 확장 목표 $62,820.25, $62,705.53, $62,540.72까지 하방이 열릴 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "High→Low: $63,848 → $63,040",
        "direction": "down",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 63675.01,
        "nearest_fib_distance": 0.29,
        "golden_ratio_level": 63539.28,
        "fib_ret_382": 63348.62,
        "fib_ret_618": 63539.28,
        "confluence_zones": [
          {
            "price": 63603.69,
            "count": 4,
            "levels": [
              "ret_0.5",
              "ret_0.618",
              "ret_0.786",
              "ret_0.236"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 63206.43,
            "count": 3,
            "levels": [
              "ext_1.0",
              "ret_0.236",
              "ret_0.382"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 62386.41,
            "count": 2,
            "levels": [
              "ext_2.0",
              "ext_1.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 62762.89,
            "count": 2,
            "levels": [
              "ext_1.414",
              "ext_1.272"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          63675.0094,
          63539.2822,
          63443.95
        ],
        "resistance_levels": [],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 63230.66,
            "distance_pct": 0.98,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.382",
            "price": 63348.62,
            "distance_pct": 0.8,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.5",
            "price": 63443.95,
            "distance_pct": 0.65,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.618",
            "price": 63539.28,
            "distance_pct": 0.5,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.786",
            "price": 63675.01,
            "distance_pct": 0.29,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.0",
            "price": 63040.0,
            "distance_pct": 1.28,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ext_1.272",
            "price": 62820.25,
            "distance_pct": 1.63,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 62705.53,
            "distance_pct": 1.81,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 62540.72,
            "distance_pct": 2.06,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_2.0",
            "price": 62232.1,
            "distance_pct": 2.55,
            "is_support": true,
            "cluster_score": 0.6
          }
        ],
        "confluence_quality": 1.0,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"가격 $63,858.70이 하락 스윙 고점 $63,848을 소폭 상회하며 단기 상단 돌파를 시도 중\",\n    \"0.786 되돌림 $63,675.01 위에서 거래 중이며 최근접 피보나치 지지로 작동\",\n    \"골든비율 0.618 되돌림 $63,539.28 및 핵심 컨플루언스 존 $63,603.69가 하방 지지 클러스터를 형성\",\n    \"컨플루언스 품질 1.000, 반응 확률 0.65로 피보나치 지지 반응 가능성 우위\",\n    \"현재가가 EMA20 $63,573.03 위에 있어 단기 평균선 기준으로는 매수세가 우세\"\n  ],\n  \"reasoning\": \"현재 BTC/USDT는 하락 스윙 $63,848 → $63,040 기준으로 0.786 되돌림 $63,675.01을 회복했고, 현재가 $63,858.70은 스윙 고점 $63,848을 근소하게 상회하고 있습니다. 다만 이 돌파가 아직 명확한 구조적 수용이나 확인된 BOS로 보기에는 폭이 작기 때문에 structure_bias는 중립으로 둡니다. setup 관점에서는 0.618 골든비율 $63,539.28, 0.5 $63,443.95, 0.786 $63,675.01이 모두 지지로 정렬되어 있고, $63,603.69 컨플루언스 존의 cluster_score가 1.0으로 매우 높아 단기 bullish setup이 우세합니다. 반면 EMA120 $64,172.06과 EMA240 $65,470.51이 위에 남아 있어 상승 시 동적 저항으로 작용할 수 있습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      63675.01,\n      63539.28,\n      63443.95,\n      63348.62,\n      63040.0,\n      62820.25,\n      62540.72,\n      62232.1\n    ],\n    \"resistance\": [\n      63848.0,\n      64172.06,\n      65470.51\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"63539.28\",\n  \"risk_scenario\": \"반대로 가격이 0.786 지지 $63,675.01을 잃고 특히 골든비율 $63,539.28 아래로 15분봉 종가 기준 이탈하면 현재의 bullish setup은 무효화됩니다. 이 경우 $63,443.95, $63,348.62, 최종적으로 스윙 저점 $63,040.00 재테스트 가능성이 커지며, $63,040 이탈 시 확장 목표 $62,820.25, $62,705.53, $62,540.72까지 하방이 열릴 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.86,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.92,
      "setup_signals": [
        "현재가 $63,858.70이 EQ $63,307.25 위에 위치한 premium zone으로, 하락 구조 내 되돌림 매도 구간",
        "현재 되돌림이 57.5%까지 진행되어 할인 매수보다 프리미엄 매도 조건이 우세",
        "가격이 EMA20 $63,573.03 위에 있지만 EMA120 $64,172.06 및 EMA240 $65,470.51 아래에 있어 상위 평균선 저항이 남아 있음",
        "상단 유동성 BSL이 $67,470.90에 resting liquidity로 존재하며, 바로 아래 $67,032.60~$67,448.00 candidate bearish OB가 위치",
        "최근 구조 이벤트가 $70,038.00, $66,388.00, $66,620.00, $65,508.30 하향 이탈의 4회 연속 bearish BOS로 구성되어 반등은 아직 구조 전환이 아닌 되돌림 성격"
      ],
      "reasoning": "확정 구조는 $70,038.00, $66,388.00, $66,620.00, $65,508.30에서 4회 연속 bearish BOS가 발생했기 때문에 명확히 bearish입니다. 현재가는 $63,858.70으로 EQ $63,307.25 위의 premium zone에 있으며, 하락 추세 안에서 57.5% 되돌림이 진행된 상태라 매도 셋업이 우세합니다. 다만 활성 bullish OB나 미체결 bullish FVG가 없고, 최근 liquidity sweep도 확인되지 않아 즉시 급락보다는 $64,172.06 EMA120 또는 $64,463.70 range high 부근에서 반응을 확인하는 것이 중요합니다. 상단의 $67,032.60~$67,448.00 candidate bearish OB와 $67,470.90 BSL은 기관이 유동성을 사냥할 수 있는 주요 프리미엄 공급 구간입니다.",
      "key_levels": {
        "support": [
          63307.25,
          63150.7,
          62150.8,
          61344.8
        ],
        "resistance": [
          63897.0,
          64172.06,
          64463.7,
          65508.3,
          66880.0,
          67032.6,
          67448.0,
          67470.9
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$65,508.30 15분봉 종가 회복 시 최근 bearish BOS 구간을 무효화하며 단기 bearish 분석이 약화됨",
      "risk_scenario": "반대 시나리오는 가격이 $64,463.70 range high를 돌파한 뒤 $65,508.30을 회복하며 bullish CHoCH 또는 market structure shift를 만드는 경우입니다. 이 경우 숏 포지션은 $66,880.00 전일 고점과 $67,032.60~$67,448.00 bearish OB까지의 유동성 사냥 상승에 노출될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 1,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 1,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 67032.6,
          "top": 67448.0,
          "quality": "candidate",
          "score": 0.549
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 65,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bearish",
            "level": 70038.0
          },
          {
            "type": "BOS_bearish",
            "level": 66388.0
          },
          {
            "type": "BOS_bearish",
            "level": 66620.0
          },
          {
            "type": "BOS_bearish",
            "level": 65508.3
          }
        ],
        "bos_sequence": [
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "BOS_bearish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 4,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "BSL",
            "level": 67470.9
          }
        ],
        "current_zone": "premium",
        "eq_level": 63307.25,
        "range_high": 64463.7,
        "range_low": 62150.8,
        "bull_score": 0.5,
        "bear_score": 11.0,
        "setup_bias": "bearish",
        "setup_score": 0.92,
        "setup_signals": [
          "bearish BOS below $70,038.00",
          "bearish BOS below $66,388.00",
          "bearish BOS below $66,620.00",
          "bearish BOS below $65,508.30",
          "4x consecutive bearish BOS"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 57.5,
        "deepest_retracement_pct": 89.5,
        "previous_day_high": 66880.0,
        "previous_day_low": 61344.8,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": true,
            "high": 63897.0,
            "low": 63150.7
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.86,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.92,\n  \"setup_signals\": [\n    \"현재가 $63,858.70이 EQ $63,307.25 위에 위치한 premium zone으로, 하락 구조 내 되돌림 매도 구간\",\n    \"현재 되돌림이 57.5%까지 진행되어 할인 매수보다 프리미엄 매도 조건이 우세\",\n    \"가격이 EMA20 $63,573.03 위에 있지만 EMA120 $64,172.06 및 EMA240 $65,470.51 아래에 있어 상위 평균선 저항이 남아 있음\",\n    \"상단 유동성 BSL이 $67,470.90에 resting liquidity로 존재하며, 바로 아래 $67,032.60~$67,448.00 candidate bearish OB가 위치\",\n    \"최근 구조 이벤트가 $70,038.00, $66,388.00, $66,620.00, $65,508.30 하향 이탈의 4회 연속 bearish BOS로 구성되어 반등은 아직 구조 전환이 아닌 되돌림 성격\"\n  ],\n  \"reasoning\": \"확정 구조는 $70,038.00, $66,388.00, $66,620.00, $65,508.30에서 4회 연속 bearish BOS가 발생했기 때문에 명확히 bearish입니다. 현재가는 $63,858.70으로 EQ $63,307.25 위의 premium zone에 있으며, 하락 추세 안에서 57.5% 되돌림이 진행된 상태라 매도 셋업이 우세합니다. 다만 활성 bullish OB나 미체결 bullish FVG가 없고, 최근 liquidity sweep도 확인되지 않아 즉시 급락보다는 $64,172.06 EMA120 또는 $64,463.70 range high 부근에서 반응을 확인하는 것이 중요합니다. 상단의 $67,032.60~$67,448.00 candidate bearish OB와 $67,470.90 BSL은 기관이 유동성을 사냥할 수 있는 주요 프리미엄 공급 구간입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      63307.25,\n      63150.7,\n      62150.8,\n      61344.8\n    ],\n    \"resistance\": [\n      63897.0,\n      64172.06,\n      64463.7,\n      65508.3,\n      66880.0,\n      67032.6,\n      67448.0,\n      67470.9\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$65,508.30 15분봉 종가 회복 시 최근 bearish BOS 구간을 무효화하며 단기 bearish 분석이 약화됨\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 $64,463.70 range high를 돌파한 뒤 $65,508.30을 회복하며 bullish CHoCH 또는 market structure shift를 만드는 경우입니다. 이 경우 숏 포지션은 $66,880.00 전일 고점과 $67,032.60~$67,448.00 bearish OB까지의 유동성 사냥 상승에 노출될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.56,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.62,
      "setup_signals": [
        "고컨플루언스 활성 bullish Gartley 형성 PRZ $63,378.38-$63,704.10, D 예상가 $63,541.24, XAD/BC_EXT/ABCD 3중 수렴",
        "완성 strict bullish Bat PRZ $63,031.69-$63,500.11에서 방어 확인, reaction_score 0.90, AD 0.382 반응 도달",
        "현재가 $63,858.70이 확인된 Bat TP1 $63,723.46 위에 위치하며 TP2 $64,006.14 및 Gartley TP2 $64,121.39가 다음 근접 목표",
        "단기 저항으로 bearish Gartley 형성 PRZ $63,927.27-$64,372.84가 바로 위에 있어 상승 지속 전 반응 확인 필요"
      ],
      "reasoning": "현재 하모닉 관점의 핵심은 완성된 strict bullish Bat가 $63,031.69-$63,500.11 PRZ에서 방어되고, AD 0.382 반응 및 PRZ 중심 reclaim 조건으로 confirmation_reaction=true, reaction_score 0.90을 기록했다는 점이다. 동시에 가장 높은 점수의 패턴은 형성 중인 high-quality bullish Gartley로, PRZ $63,378.38-$63,704.10, 패턴 점수 0.929, PRZ 점수 1.0이며 현재가 $63,858.70은 이 구간 위에서 반응을 시도 중이다. 다만 구조적으로는 확정 BOS/CHoCH 또는 명확한 구조 수용 데이터가 없고, 가격도 EMA120 $64,172.06 및 EMA240 $65,470.51 아래에 있어 structure_bias는 bullish로 확정하지 않고 neutral로 둔다. 단기 상승 목표는 확인된 Bat 기준 $64,006.14, Gartley 기준 $64,121.39, 이후 $64,463.70-$64,480.00이며, 바로 위 $63,927.27-$64,372.84의 bearish Gartley PRZ는 반락 리스크 구간이다.",
      "key_levels": {
        "support": [
          63704.1,
          63378.38,
          63500.11,
          63031.69
        ],
        "resistance": [
          64006.14,
          64121.39,
          64372.84,
          64463.7,
          64480.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "63031.69",
      "risk_scenario": "반대 시나리오는 가격이 $63,927.27-$64,372.84의 bearish Gartley PRZ에서 거부되고 $63,704.10 아래로 재진입한 뒤 $63,378.38을 이탈하는 경우다. 이 경우 활성 bullish Gartley 반응은 실패로 간주되고, $63,031.69-$63,500.11의 확인된 Bat PRZ 재시험 가능성이 커진다. 특히 $63,031.69 아래에서 15분봉 종가 수용이 나오면 bullish harmonic confluence는 무효화되고 $62,910.00 구조 유동성까지 하방 리스크가 열린다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 129,
        "completed_patterns_found": 39,
        "forming_d_prz_found": 90,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 53,
        "swing_highs_scanned": 25,
        "swing_lows_scanned": 28,
        "timeframe": "15m",
        "prz_active_threshold_pct": 0.3,
        "prz_nearby_threshold_pct": 0.6,
        "prz_watch_threshold_pct": 1.2,
        "prz_max_width_pct": 0.6,
        "quality_counts": {
          "high": 5,
          "medium": 61,
          "low": 63
        },
        "prz_status_counts": {
          "active": 12,
          "nearby": 8,
          "watch": 17,
          "far": 92,
          "forming": 69
        },
        "high_confluence_prz_count": 27,
        "strict_patterns_found": 55,
        "candidate_patterns_found": 74,
        "active_patterns_at_prz": 12,
        "nearby_patterns": 8,
        "all_patterns": [
          "gartley",
          "gartley",
          "bat",
          "crab",
          "bat",
          "bat",
          "gartley",
          "butterfly",
          "shark",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "bat",
          "gartley",
          "shark",
          "shark",
          "butterfly",
          "shark",
          "gartley",
          "bat",
          "bat",
          "crab",
          "bat",
          "butterfly",
          "bat",
          "bat",
          "crab",
          "butterfly",
          "butterfly",
          "shark",
          "bat",
          "gartley",
          "bat",
          "crab",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "gartley",
          "gartley",
          "gartley",
          "shark",
          "gartley",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "butterfly",
          "shark",
          "crab",
          "bat",
          "crab",
          "butterfly",
          "butterfly",
          "bat",
          "butterfly",
          "butterfly",
          "gartley",
          "gartley",
          "butterfly",
          "crab",
          "butterfly",
          "gartley",
          "gartley",
          "gartley",
          "bat",
          "shark",
          "crab",
          "crab",
          "butterfly",
          "bat",
          "butterfly",
          "butterfly",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "bat",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "butterfly",
          "shark",
          "shark",
          "crab",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "shark",
          "gartley",
          "bat",
          "butterfly",
          "shark",
          "crab",
          "shark",
          "crab",
          "bat",
          "crab",
          "butterfly",
          "butterfly",
          "butterfly",
          "butterfly",
          "shark",
          "gartley",
          "crab",
          "crab",
          "gartley",
          "bat",
          "crab",
          "gartley",
          "butterfly",
          "gartley",
          "butterfly",
          "gartley"
        ],
        "all_signals": [
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish"
        ],
        "best_pattern": "gartley",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.929,
        "best_completion_status": "forming",
        "nearest_pattern": "crab",
        "nearest_prz": 63823.63,
        "price_to_prz": -0.05,
        "prz_range": [
          63581.87,
          64065.38
        ],
        "council_relevant_prz_count": 2,
        "directional_influence_prz_count": 2,
        "confirmed_reaction_prz_count": 1,
        "validated_harmonic_tp_count": 1,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.929,
            "ratio_score": 0.933,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63541.24,
            "prz_range": [
              63378.38,
              63704.1
            ],
            "prz_width_pct": 0.513,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.5,
            "price_to_prz_pct_raw": -0.4971,
            "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": 63541.24,
              "a_price": 64480.0,
              "tp1_ad_382": 63899.85,
              "tp2_ad_618": 64121.39,
              "tp3_a_or_structure_liquidity": 64480.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6066,
              "ABC": 0.5593
            },
            "x_price": 65711.4,
            "x_idx": 181,
            "x_order": 3,
            "a_price": 64480.0,
            "a_idx": 229,
            "a_order": 5,
            "b_price": 63733.0,
            "b_idx": 263,
            "b_order": 3,
            "c_price": 64150.8,
            "c_idx": 281,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.912,
            "ratio_score": 0.915,
            "prz_score": 0.963,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 64150.05,
            "prz_range": [
              63927.27,
              64372.84
            ],
            "prz_width_pct": 0.695,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.46,
            "price_to_prz_pct_raw": 0.4562,
            "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": 64150.05,
              "a_price": 62910.0,
              "tp1_ad_382": 63676.35,
              "tp2_ad_618": 63383.7,
              "tp3_a_or_structure_liquidity": 62910.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6037,
              "ABC": 0.8614
            },
            "x_price": 64463.7,
            "x_idx": 260,
            "x_order": 8,
            "a_price": 62910.0,
            "a_idx": 275,
            "a_order": 8,
            "b_price": 63847.9,
            "b_idx": 288,
            "b_order": 5,
            "c_price": 63040.0,
            "c_idx": 290,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.901,
            "ratio_score": 0.908,
            "prz_score": 0.927,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63424.91,
            "prz_range": [
              63175.16,
              63674.67
            ],
            "prz_width_pct": 0.788,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.68,
            "price_to_prz_pct_raw": -0.6793,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 63424.91,
              "a_price": 64463.7,
              "tp1_ad_382": 63821.73,
              "tp2_ad_618": 64066.88,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5125,
              "ABC": 0.8855
            },
            "x_price": 63038.0,
            "x_idx": 257,
            "x_order": 3,
            "a_price": 64463.7,
            "a_idx": 260,
            "a_order": 8,
            "b_price": 63733.0,
            "b_idx": 263,
            "b_order": 3,
            "c_price": 64380.0,
            "c_idx": 265,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.888,
            "ratio_score": 0.957,
            "prz_score": 0.873,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 64273.75,
            "prz_range": [
              63975.99,
              64571.5
            ],
            "prz_width_pct": 0.927,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.65,
            "price_to_prz_pct_raw": 0.6499,
            "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": 64273.75,
              "a_price": 63038.0,
              "tp1_ad_382": 63801.69,
              "tp2_ad_618": 63510.06,
              "tp3_a_or_structure_liquidity": 63038.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5059,
              "ABC": 0.8806
            },
            "x_price": 64739.8,
            "x_idx": 221,
            "x_order": 8,
            "a_price": 63038.0,
            "a_idx": 257,
            "a_order": 3,
            "b_price": 63898.9,
            "b_idx": 271,
            "b_order": 3,
            "c_price": 63140.8,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.858,
            "ratio_score": 0.98,
            "prz_score": 0.888,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 64642.75,
            "prz_range": [
              64355.74,
              64929.76
            ],
            "prz_width_pct": 0.888,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.23,
            "price_to_prz_pct_raw": 1.2278,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 64642.75,
              "a_price": 62910.0,
              "tp1_ad_382": 63980.84,
              "tp2_ad_618": 63571.91,
              "tp3_a_or_structure_liquidity": 62910.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7903,
              "ABC": 0.814
            },
            "x_price": 64480.0,
            "x_idx": 229,
            "x_order": 5,
            "a_price": 62910.0,
            "a_idx": 275,
            "a_order": 8,
            "b_price": 64150.8,
            "b_idx": 281,
            "b_order": 8,
            "c_price": 63140.8,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.834,
            "ratio_score": 0.868,
            "prz_score": 0.945,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63140.8,
            "prz_range": [
              63031.69,
              63500.11
            ],
            "prz_width_pct": 0.74,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.93,
            "price_to_prz_pct_raw": -0.9283,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.535,
                "adverse_move_ratio_ad": 0.076,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 63265.9,
              "a_price": 64463.7,
              "tp1_ad_382": 63723.46,
              "tp2_ad_618": 64006.14,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5125,
              "ABC": 0.5718,
              "BCD": 2.4174,
              "XAD": 0.9279
            },
            "x_price": 63038.0,
            "x_idx": 257,
            "x_order": 3,
            "a_price": 64463.7,
            "a_idx": 260,
            "a_order": 8,
            "b_price": 63733.0,
            "b_idx": 263,
            "b_order": 3,
            "c_price": 64150.8,
            "c_idx": 281,
            "c_order": 8,
            "d_idx": 285
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.833,
            "ratio_score": 0.866,
            "prz_score": 0.945,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63140.8,
            "prz_range": [
              63031.69,
              63500.11
            ],
            "prz_width_pct": 0.74,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.93,
            "price_to_prz_pct_raw": -0.9283,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.535,
                "adverse_move_ratio_ad": 0.076,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 63265.9,
              "a_price": 64463.7,
              "tp1_ad_382": 63723.46,
              "tp2_ad_618": 64006.14,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8533,
              "ABC": 0.5718,
              "BCD": 2.4174,
              "XAD": 1.5449
            },
            "x_price": 63607.4,
            "x_idx": 225,
            "x_order": 5,
            "a_price": 64463.7,
            "a_idx": 260,
            "a_order": 8,
            "b_price": 63733.0,
            "b_idx": 263,
            "b_order": 3,
            "c_price": 64150.8,
            "c_idx": 281,
            "c_order": 8,
            "d_idx": 285
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.814,
            "ratio_score": 0.795,
            "prz_score": 0.971,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63140.8,
            "prz_range": [
              63104.61,
              63532.29
            ],
            "prz_width_pct": 0.675,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.85,
            "price_to_prz_pct_raw": -0.846,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.442,
                "adverse_move_ratio_ad": 0.063,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 63318.45,
              "a_price": 64739.8,
              "tp1_ad_382": 63861.4,
              "tp2_ad_618": 64196.84,
              "tp3_a_or_structure_liquidity": 64739.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6071,
              "ABC": 0.6823,
              "BCD": 1.6039,
              "XAD": 0.8572
            },
            "x_price": 66605.1,
            "x_idx": 163,
            "x_order": 3,
            "a_price": 64739.8,
            "a_idx": 221,
            "a_order": 8,
            "b_price": 63607.4,
            "b_idx": 225,
            "b_order": 5,
            "c_price": 64380.0,
            "c_idx": 265,
            "c_order": 3,
            "d_idx": 285
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.834,
            "ratio_score": 0.868,
            "prz_score": 0.945,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63140.8,
            "prz_range": [
              63031.69,
              63500.11
            ],
            "prz_width_pct": 0.74,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.93,
            "price_to_prz_pct_raw": -0.9283,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.535,
                "adverse_move_ratio_ad": 0.076,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 63265.9,
              "a_price": 64463.7,
              "tp1_ad_382": 63723.46,
              "tp2_ad_618": 64006.14,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5125,
              "ABC": 0.5718,
              "BCD": 2.4174,
              "XAD": 0.9279
            },
            "x_price": 63038.0,
            "x_idx": 257,
            "x_order": 3,
            "a_price": 64463.7,
            "a_idx": 260,
            "a_order": 8,
            "b_price": 63733.0,
            "b_idx": 263,
            "b_order": 3,
            "c_price": 64150.8,
            "c_idx": 281,
            "c_order": 8,
            "d_idx": 285
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.929,
            "ratio_score": 0.933,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63541.24,
            "prz_range": [
              63378.38,
              63704.1
            ],
            "prz_width_pct": 0.513,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.5,
            "price_to_prz_pct_raw": -0.4971,
            "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": 63541.24,
              "a_price": 64480.0,
              "tp1_ad_382": 63899.85,
              "tp2_ad_618": 64121.39,
              "tp3_a_or_structure_liquidity": 64480.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6066,
              "ABC": 0.5593
            },
            "x_price": 65711.4,
            "x_idx": 181,
            "x_order": 3,
            "a_price": 64480.0,
            "a_idx": 229,
            "a_order": 5,
            "b_price": 63733.0,
            "b_idx": 263,
            "b_order": 3,
            "c_price": 64150.8,
            "c_idx": 281,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.929,
            "ratio_score": 0.933,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63541.24,
            "prz_range": [
              63378.38,
              63704.1
            ],
            "prz_width_pct": 0.513,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.5,
            "price_to_prz_pct_raw": -0.4971,
            "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": 63541.24,
              "a_price": 64480.0,
              "tp1_ad_382": 63899.85,
              "tp2_ad_618": 64121.39,
              "tp3_a_or_structure_liquidity": 64480.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6066,
              "ABC": 0.5593
            },
            "x_price": 65711.4,
            "x_idx": 181,
            "x_order": 3,
            "a_price": 64480.0,
            "a_idx": 229,
            "a_order": 5,
            "b_price": 63733.0,
            "b_idx": 263,
            "b_order": 3,
            "c_price": 64150.8,
            "c_idx": 281,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.912,
            "ratio_score": 0.915,
            "prz_score": 0.963,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 64150.05,
            "prz_range": [
              63927.27,
              64372.84
            ],
            "prz_width_pct": 0.695,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.46,
            "price_to_prz_pct_raw": 0.4562,
            "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": 64150.05,
              "a_price": 62910.0,
              "tp1_ad_382": 63676.35,
              "tp2_ad_618": 63383.7,
              "tp3_a_or_structure_liquidity": 62910.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6037,
              "ABC": 0.8614
            },
            "x_price": 64463.7,
            "x_idx": 260,
            "x_order": 8,
            "a_price": 62910.0,
            "a_idx": 275,
            "a_order": 8,
            "b_price": 63847.9,
            "b_idx": 288,
            "b_order": 5,
            "c_price": 63040.0,
            "c_idx": 290,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.901,
            "ratio_score": 0.908,
            "prz_score": 0.927,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 63424.91,
            "prz_range": [
              63175.16,
              63674.67
            ],
            "prz_width_pct": 0.788,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.68,
            "price_to_prz_pct_raw": -0.6793,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 63424.91,
              "a_price": 64463.7,
              "tp1_ad_382": 63821.73,
              "tp2_ad_618": 64066.88,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5125,
              "ABC": 0.8855
            },
            "x_price": 63038.0,
            "x_idx": 257,
            "x_order": 3,
            "a_price": 64463.7,
            "a_idx": 260,
            "a_order": 8,
            "b_price": 63733.0,
            "b_idx": 263,
            "b_order": 3,
            "c_price": 64380.0,
            "c_idx": 265,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.888,
            "ratio_score": 0.957,
            "prz_score": 0.873,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 64273.75,
            "prz_range": [
              63975.99,
              64571.5
            ],
            "prz_width_pct": 0.927,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.65,
            "price_to_prz_pct_raw": 0.6499,
            "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": 64273.75,
              "a_price": 63038.0,
              "tp1_ad_382": 63801.69,
              "tp2_ad_618": 63510.06,
              "tp3_a_or_structure_liquidity": 63038.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5059,
              "ABC": 0.8806
            },
            "x_price": 64739.8,
            "x_idx": 221,
            "x_order": 8,
            "a_price": 63038.0,
            "a_idx": 257,
            "a_order": 3,
            "b_price": 63898.9,
            "b_idx": 271,
            "b_order": 3,
            "c_price": 63140.8,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.858,
            "ratio_score": 0.98,
            "prz_score": 0.888,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 64642.75,
            "prz_range": [
              64355.74,
              64929.76
            ],
            "prz_width_pct": 0.888,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.23,
            "price_to_prz_pct_raw": 1.2278,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 64642.75,
              "a_price": 62910.0,
              "tp1_ad_382": 63980.84,
              "tp2_ad_618": 63571.91,
              "tp3_a_or_structure_liquidity": 62910.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7903,
              "ABC": 0.814
            },
            "x_price": 64480.0,
            "x_idx": 229,
            "x_order": 5,
            "a_price": 62910.0,
            "a_idx": 275,
            "a_order": 8,
            "b_price": 64150.8,
            "b_idx": 281,
            "b_order": 8,
            "c_price": 63140.8,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.834,
            "ratio_score": 0.868,
            "prz_score": 0.945,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63140.8,
            "prz_range": [
              63031.69,
              63500.11
            ],
            "prz_width_pct": 0.74,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.93,
            "price_to_prz_pct_raw": -0.9283,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.535,
                "adverse_move_ratio_ad": 0.076,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 63265.9,
              "a_price": 64463.7,
              "tp1_ad_382": 63723.46,
              "tp2_ad_618": 64006.14,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5125,
              "ABC": 0.5718,
              "BCD": 2.4174,
              "XAD": 0.9279
            },
            "x_price": 63038.0,
            "x_idx": 257,
            "x_order": 3,
            "a_price": 64463.7,
            "a_idx": 260,
            "a_order": 8,
            "b_price": 63733.0,
            "b_idx": 263,
            "b_order": 3,
            "c_price": 64150.8,
            "c_idx": 281,
            "c_order": 8,
            "d_idx": 285
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.833,
            "ratio_score": 0.866,
            "prz_score": 0.945,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63140.8,
            "prz_range": [
              63031.69,
              63500.11
            ],
            "prz_width_pct": 0.74,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.93,
            "price_to_prz_pct_raw": -0.9283,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.535,
                "adverse_move_ratio_ad": 0.076,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 63265.9,
              "a_price": 64463.7,
              "tp1_ad_382": 63723.46,
              "tp2_ad_618": 64006.14,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8533,
              "ABC": 0.5718,
              "BCD": 2.4174,
              "XAD": 1.5449
            },
            "x_price": 63607.4,
            "x_idx": 225,
            "x_order": 5,
            "a_price": 64463.7,
            "a_idx": 260,
            "a_order": 8,
            "b_price": 63733.0,
            "b_idx": 263,
            "b_order": 3,
            "c_price": 64150.8,
            "c_idx": 281,
            "c_order": 8,
            "d_idx": 285
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.814,
            "ratio_score": 0.795,
            "prz_score": 0.971,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63140.8,
            "prz_range": [
              63104.61,
              63532.29
            ],
            "prz_width_pct": 0.675,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.85,
            "price_to_prz_pct_raw": -0.846,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.442,
                "adverse_move_ratio_ad": 0.063,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 63318.45,
              "a_price": 64739.8,
              "tp1_ad_382": 63861.4,
              "tp2_ad_618": 64196.84,
              "tp3_a_or_structure_liquidity": 64739.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6071,
              "ABC": 0.6823,
              "BCD": 1.6039,
              "XAD": 0.8572
            },
            "x_price": 66605.1,
            "x_idx": 163,
            "x_order": 3,
            "a_price": 64739.8,
            "a_idx": 221,
            "a_order": 8,
            "b_price": 63607.4,
            "b_idx": 225,
            "b_order": 5,
            "c_price": 64380.0,
            "c_idx": 265,
            "c_order": 3,
            "d_idx": 285
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.794,
            "ratio_score": 0.686,
            "prz_score": 0.945,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 63265.9,
            "prz_range": [
              63031.69,
              63500.11
            ],
            "prz_width_pct": 0.74,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.93,
            "price_to_prz_pct_raw": -0.9283,
            "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": 63265.9,
              "a_price": 64463.7,
              "tp1_ad_382": 63723.46,
              "tp2_ad_618": 64006.14,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8533,
              "ABC": 0.5718
            },
            "x_price": 63607.4,
            "x_idx": 225,
            "x_order": 5,
            "a_price": 64463.7,
            "a_idx": 260,
            "a_order": 8,
            "b_price": 63733.0,
            "b_idx": 263,
            "b_order": 3,
            "c_price": 64150.8,
            "c_idx": 281,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.778,
            "ratio_score": 0.714,
            "prz_score": 0.888,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 64514.29,
            "prz_range": [
              64227.79,
              64800.79
            ],
            "prz_width_pct": 0.888,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.03,
            "price_to_prz_pct_raw": 1.0266,
            "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": 64514.29,
              "a_price": 63038.0,
              "tp1_ad_382": 63950.35,
              "tp2_ad_618": 63601.94,
              "tp3_a_or_structure_liquidity": 63038.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6539,
              "ABC": 0.9076
            },
            "x_price": 64739.8,
            "x_idx": 221,
            "x_order": 8,
            "a_price": 63038.0,
            "a_idx": 257,
            "a_order": 3,
            "b_price": 64150.8,
            "b_idx": 281,
            "b_order": 8,
            "c_price": 63140.8,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.85,
            "ratio_score": 1.0,
            "prz_score": 0.733,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 64158.35,
            "prz_range": [
              63745.24,
              64571.46
            ],
            "prz_width_pct": 1.288,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.47,
            "price_to_prz_pct_raw": 0.4692,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 64158.35,
              "a_price": 63038.0,
              "tp1_ad_382": 63730.37,
              "tp2_ad_618": 63465.97,
              "tp3_a_or_structure_liquidity": 63038.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5059,
              "ABC": 1.1487
            },
            "x_price": 64739.8,
            "x_idx": 221,
            "x_order": 8,
            "a_price": 63038.0,
            "a_idx": 257,
            "a_order": 3,
            "b_price": 63898.9,
            "b_idx": 271,
            "b_order": 3,
            "c_price": 62910.0,
            "c_idx": 275,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.816,
            "ratio_score": 1.0,
            "prz_score": 0.693,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 64411.6,
            "prz_range": [
              64143.34,
              64679.86
            ],
            "prz_width_pct": 0.833,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": 0.87,
            "price_to_prz_pct_raw": 0.8658,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 64411.6,
              "a_price": 65508.3,
              "tp1_ad_382": 64830.54,
              "tp2_ad_618": 65089.36,
              "tp3_a_or_structure_liquidity": 65508.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5179,
              "ABC": 1.3023
            },
            "x_price": 67493.8,
            "x_idx": 134,
            "x_order": 8,
            "a_price": 65508.3,
            "a_idx": 173,
            "a_order": 8,
            "b_price": 64480.0,
            "b_idx": 229,
            "b_order": 5,
            "c_price": 63140.8,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.929,
            "prz_proximity": "active",
            "prz_range": [
              63378.38,
              63704.1
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.5,
            "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": 63541.24,
              "a_price": 64480.0,
              "tp1_ad_382": 63899.85,
              "tp2_ad_618": 64121.39,
              "tp3_a_or_structure_liquidity": 64480.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $63,378.38-$63,704.10: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.834,
            "prz_proximity": "nearby",
            "prz_range": [
              63031.69,
              63500.11
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.93,
            "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",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.535,
                "adverse_move_ratio_ad": 0.076,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 63265.9,
              "a_price": 64463.7,
              "tp1_ad_382": 63723.46,
              "tp2_ad_618": 64006.14,
              "tp3_a_or_structure_liquidity": 64463.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT COMPLETED MEDIUM PRZ $63,031.69-$63,500.11: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.929,
          "ratio_score": 0.933,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 63541.24,
          "prz_range": [
            63378.38,
            63704.1
          ],
          "prz_width_pct": 0.513,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.5,
          "price_to_prz_pct_raw": -0.4971,
          "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": 63541.24,
            "a_price": 64480.0,
            "tp1_ad_382": 63899.85,
            "tp2_ad_618": 64121.39,
            "tp3_a_or_structure_liquidity": 64480.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.6066,
            "ABC": 0.5593
          },
          "x_price": 65711.4,
          "x_idx": 181,
          "x_order": 3,
          "a_price": 64480.0,
          "a_idx": 229,
          "a_order": 5,
          "b_price": 63733.0,
          "b_idx": 263,
          "b_order": 3,
          "c_price": 64150.8,
          "c_idx": 281,
          "c_order": 8,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 63541.24,
          "a_price": 64480.0,
          "tp1_ad_382": 63899.85,
          "tp2_ad_618": 64121.39,
          "tp3_a_or_structure_liquidity": 64480.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 63265.9,
          "a_price": 64463.7,
          "tp1_ad_382": 63723.46,
          "tp2_ad_618": 64006.14,
          "tp3_a_or_structure_liquidity": 64463.7,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 63541.24,
            "a_price": 64480.0,
            "tp1_ad_382": 63899.85,
            "tp2_ad_618": 64121.39,
            "tp3_a_or_structure_liquidity": 64480.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 63265.9,
            "a_price": 64463.7,
            "tp1_ad_382": 63723.46,
            "tp2_ad_618": 64006.14,
            "tp3_a_or_structure_liquidity": 64463.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 63265.9,
            "a_price": 64463.7,
            "tp1_ad_382": 63723.46,
            "tp2_ad_618": 64006.14,
            "tp3_a_or_structure_liquidity": 64463.7,
            "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.439,
          "bearish": 0
        },
        "directional_score_total": 0.439,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.56,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"고컨플루언스 활성 bullish Gartley 형성 PRZ $63,378.38-$63,704.10, D 예상가 $63,541.24, XAD/BC_EXT/ABCD 3중 수렴\",\n    \"완성 strict bullish Bat PRZ $63,031.69-$63,500.11에서 방어 확인, reaction_score 0.90, AD 0.382 반응 도달\",\n    \"현재가 $63,858.70이 확인된 Bat TP1 $63,723.46 위에 위치하며 TP2 $64,006.14 및 Gartley TP2 $64,121.39가 다음 근접 목표\",\n    \"단기 저항으로 bearish Gartley 형성 PRZ $63,927.27-$64,372.84가 바로 위에 있어 상승 지속 전 반응 확인 필요\"\n  ],\n  \"reasoning\": \"현재 하모닉 관점의 핵심은 완성된 strict bullish Bat가 $63,031.69-$63,500.11 PRZ에서 방어되고, AD 0.382 반응 및 PRZ 중심 reclaim 조건으로 confirmation_reaction=true, reaction_score 0.90을 기록했다는 점이다. 동시에 가장 높은 점수의 패턴은 형성 중인 high-quality bullish Gartley로, PRZ $63,378.38-$63,704.10, 패턴 점수 0.929, PRZ 점수 1.0이며 현재가 $63,858.70은 이 구간 위에서 반응을 시도 중이다. 다만 구조적으로는 확정 BOS/CHoCH 또는 명확한 구조 수용 데이터가 없고, 가격도 EMA120 $64,172.06 및 EMA240 $65,470.51 아래에 있어 structure_bias는 bullish로 확정하지 않고 neutral로 둔다. 단기 상승 목표는 확인된 Bat 기준 $64,006.14, Gartley 기준 $64,121.39, 이후 $64,463.70-$64,480.00이며, 바로 위 $63,927.27-$64,372.84의 bearish Gartley PRZ는 반락 리스크 구간이다.\",\n  \"key_levels\": {\n    \"support\": [\n      63704.1,\n      63378.38,\n      63500.11,\n      63031.69\n    ],\n    \"resistance\": [\n      64006.14,\n      64121.39,\n      64372.84,\n      64463.7,\n      64480.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"63031.69\",\n  \"risk_scenario\": \"반대 시나리오는 가격이 $63,927.27-$64,372.84의 bearish Gartley PRZ에서 거부되고 $63,704.10 아래로 재진입한 뒤 $63,378.38을 이탈하는 경우다. 이 경우 활성 bullish Gartley 반응은 실패로 간주되고, $63,031.69-$63,500.11의 확인된 Bat PRZ 재시험 가능성이 커진다. 특히 $63,031.69 아래에서 15분봉 종가 수용이 나오면 bullish harmonic confluence는 무효화되고 $62,910.00 구조 유동성까지 하방 리스크가 열린다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.78,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.74,
      "active_setups": [
        "Wyckoff: 현재가 $63,858.70이 활성 분배 구조의 LPSY $63,898.90 바로 아래에 있어 LPSY 하단 수용 여부가 핵심 조건",
        "ICT: 현재가 $63,858.70이 EQ $63,307.25 위 premium zone에 위치하며, 하락 구조 내 57.5% 되돌림 매도 구간",
        "Derivatives: 가격이 EMA120 $64,172.06 및 EMA240 $65,470.51 아래에 있어 반등이 아직 구조 전환으로 확인되지 않음",
        "Derivatives: 24시간 OI -5.5990%, CVD -4541.0290, 베이시스 -0.0427%로 신규 매수 주도보다 디레버리징 성격이 강함",
        "Harmonic/Fibonacci 반대 조건: $63,378.38-$63,704.10 및 $63,603.69 부근은 단기 반등 PRZ·피보나치 지지 클러스터로 작동 중이나, 아직 상위 구조를 뒤집을 확인은 부족"
      ],
      "setup_vs_structure": "실행 셋업은 구조적 약세와 대체로 정렬되어 있다. 다만 $63,500-$63,704 구간의 하모닉·피보나치 반등 근거가 있어, 즉시 추격보다는 $63,898.90-$64,172.06 저항 수용 실패 여부가 단기 실행의 핵심이다."
    },
    "signal_breakdown": {
      "bullish_count": 2,
      "bearish_count": 3,
      "neutral_count": 1
    },
    "key_levels": {
      "support": [
        63675.01,
        63573.03,
        63539.28,
        63307.25,
        62910.0,
        62600.0,
        62150.8,
        61344.8,
        61200.0
      ],
      "resistance": [
        63898.9,
        64172.06,
        64380.0,
        64463.7,
        64739.8,
        65000.0,
        65470.51,
        65508.3
      ]
    },
    "confluences": [
      "Wyckoff LPSY $63,898.90와 ICT London high $63,897.00이 거의 동일하여 $63,897-$63,899가 단기 구조 저항으로 중첩된다.",
      "EMA120 $64,172.06은 Derivatives, Candlestick, Fibonacci, ICT가 공통으로 언급한 핵심 동적 저항이며, Wyckoff 활성 분배 범위 EQ 약 $64,173.60과도 사실상 일치한다.",
      "Wyckoff UTAD $64,380.00, ICT range high $64,463.70, Harmonic TP3·구조 유동성 $64,463.70-$64,480.00이 $64,380-$64,480 공급 구간으로 수렴한다.",
      "Wyckoff SOW $62,910.00와 파생 하방 유동성 $62,600, Fibonacci 확장 클러스터 $62,762.89-$62,540.72가 $62,500-$62,910 하방 구조 지지·유동성대로 겹친다.",
      "Wyckoff Phase E 저점 $61,344.80, Candlestick 7일 저점 $61,344.80, ICT previous day low $61,344.80이 동일하여 $61,344.80은 주요 구조 저점이다.",
      "Fibonacci $63,675.01, Harmonic bullish Gartley PRZ 상단 $63,704.10, EMA20 $63,573.03, 골든비율 $63,539.28이 $63,539-$63,704 단기 지지 클러스터를 형성한다."
    ],
    "conflicts": [
      "Wyckoff와 ICT는 각각 confirmed distribution Phase E 및 4회 연속 bearish BOS를 근거로 구조적 약세를 강하게 제시하지만, Fibonacci와 Harmonic은 $63,378-$63,704 부근의 반등 PRZ·피보나치 지지로 단기 bullish setup을 제시한다.",
      "Candlestick은 구조적으로는 EMA120 $64,172.06 및 EMA240 $65,470.51 아래라 약세라고 보지만, EMA20 $63,573.03 재탈환 때문에 실행 셋업은 약한 bullish로 분리한다.",
      "Harmonic의 bullish Bat는 $63,031.69-$63,500.11 PRZ 방어와 TP1 $63,723.46 돌파를 확인했으나, 해당 모델 자체도 구조 전환 권한은 없고 Wyckoff·ICT의 상위 약세 구조를 단독으로 뒤집지는 못한다고 명시한다.",
      "Derivatives는 약세 신호를 제시하지만 OI 감소가 신규 공격적 숏 구축보다는 언와인딩 성격이라고 해석되어, 하방 구조 확신은 높아도 포지셔닝 기반 추세 가속 신호는 중간 강도에 머문다."
    ],
    "executive_summary": "현재 BTC 15분 구조는 전반적으로 bearish이며, 핵심 진단은 Wyckoff 기준 활성 분배 구조의 Phase D/E 전개, 즉 UTAD $64,380.00 이후 LPSY $63,898.90와 SOW $62,910.00가 확인된 상태다. ICT도 $70,038.00, $66,388.00, $66,620.00, $65,508.30에서 4회 연속 bearish BOS를 제시해 상위 구조 약세를 보강하며, 현재가는 EQ $63,307.25 위 premium zone에 있다. 단기적으로는 $63,539-$63,704의 피보나치·하모닉 지지 클러스터가 반등 조건을 만들고 있으나, 이는 구조 전환 신호가 아니라 약세 구조 내부의 실행 리스크로 분류된다. 구조적 핵심 저항은 $63,897-$63,899와 $64,172.06이며, $64,380-$64,480 공급대를 넘어 $64,739.80 위에서 수용되기 전까지 전체 구조 판단은 분배 우위다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.78,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.74,\n    \"active_setups\": [\n      \"Wyckoff: 현재가 $63,858.70이 활성 분배 구조의 LPSY $63,898.90 바로 아래에 있어 LPSY 하단 수용 여부가 핵심 조건\",\n      \"ICT: 현재가 $63,858.70이 EQ $63,307.25 위 premium zone에 위치하며, 하락 구조 내 57.5% 되돌림 매도 구간\",\n      \"Derivatives: 가격이 EMA120 $64,172.06 및 EMA240 $65,470.51 아래에 있어 반등이 아직 구조 전환으로 확인되지 않음\",\n      \"Derivatives: 24시간 OI -5.5990%, CVD -4541.0290, 베이시스 -0.0427%로 신규 매수 주도보다 디레버리징 성격이 강함\",\n      \"Harmonic/Fibonacci 반대 조건: $63,378.38-$63,704.10 및 $63,603.69 부근은 단기 반등 PRZ·피보나치 지지 클러스터로 작동 중이나, 아직 상위 구조를 뒤집을 확인은 부족\"\n    ],\n    \"setup_vs_structure\": \"실행 셋업은 구조적 약세와 대체로 정렬되어 있다. 다만 $63,500-$63,704 구간의 하모닉·피보나치 반등 근거가 있어, 즉시 추격보다는 $63,898.90-$64,172.06 저항 수용 실패 여부가 단기 실행의 핵심이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 2,\n    \"bearish_count\": 3,\n    \"neutral_count\": 1\n  },\n  \"key_levels\": {\n    \"support\": [\n      63675.01,\n      63573.03,\n      63539.28,\n      63307.25,\n      62910.0,\n      62600.0,\n      62150.8,\n      61344.8,\n      61200.0\n    ],\n    \"resistance\": [\n      63898.9,\n      64172.06,\n      64380.0,\n      64463.7,\n      64739.8,\n      65000.0,\n      65470.51,\n      65508.3\n    ]\n  },\n  \"confluences\": [\n    \"Wyckoff LPSY $63,898.90와 ICT London high $63,897.00이 거의 동일하여 $63,897-$63,899가 단기 구조 저항으로 중첩된다.\",\n    \"EMA120 $64,172.06은 Derivatives, Candlestick, Fibonacci, ICT가 공통으로 언급한 핵심 동적 저항이며, Wyckoff 활성 분배 범위 EQ 약 $64,173.60과도 사실상 일치한다.\",\n    \"Wyckoff UTAD $64,380.00, ICT range high $64,463.70, Harmonic TP3·구조 유동성 $64,463.70-$64,480.00이 $64,380-$64,480 공급 구간으로 수렴한다.\",\n    \"Wyckoff SOW $62,910.00와 파생 하방 유동성 $62,600, Fibonacci 확장 클러스터 $62,762.89-$62,540.72가 $62,500-$62,910 하방 구조 지지·유동성대로 겹친다.\",\n    \"Wyckoff Phase E 저점 $61,344.80, Candlestick 7일 저점 $61,344.80, ICT previous day low $61,344.80이 동일하여 $61,344.80은 주요 구조 저점이다.\",\n    \"Fibonacci $63,675.01, Harmonic bullish Gartley PRZ 상단 $63,704.10, EMA20 $63,573.03, 골든비율 $63,539.28이 $63,539-$63,704 단기 지지 클러스터를 형성한다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff와 ICT는 각각 confirmed distribution Phase E 및 4회 연속 bearish BOS를 근거로 구조적 약세를 강하게 제시하지만, Fibonacci와 Harmonic은 $63,378-$63,704 부근의 반등 PRZ·피보나치 지지로 단기 bullish setup을 제시한다.\",\n    \"Candlestick은 구조적으로는 EMA120 $64,172.06 및 EMA240 $65,470.51 아래라 약세라고 보지만, EMA20 $63,573.03 재탈환 때문에 실행 셋업은 약한 bullish로 분리한다.\",\n    \"Harmonic의 bullish Bat는 $63,031.69-$63,500.11 PRZ 방어와 TP1 $63,723.46 돌파를 확인했으나, 해당 모델 자체도 구조 전환 권한은 없고 Wyckoff·ICT의 상위 약세 구조를 단독으로 뒤집지는 못한다고 명시한다.\",\n    \"Derivatives는 약세 신호를 제시하지만 OI 감소가 신규 공격적 숏 구축보다는 언와인딩 성격이라고 해석되어, 하방 구조 확신은 높아도 포지셔닝 기반 추세 가속 신호는 중간 강도에 머문다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 15분 구조를 confirmed distribution으로 판정하고, BC $64,739.80 → AR $63,607.40 → ST $64,417.90 → SOW_IN_PHASE_B $62,150.80 → UTAD $64,380.00 → LPSY $63,898.90 → SOW $62,910.00의 구체적 이벤트 체인을 제시했기 때문이다. ICT의 4회 연속 bearish BOS와 EMA120 $64,172.06 저항도 이 구조 진단을 강하게 보강한다.\",\n  \"invalidation_level\": \"$64,739.80 상방 15분 수용. 보다 보수적으로는 $64,380.00-$64,463.70 공급대를 회복한 뒤 $64,739.80 이상에서 유지되어야 현재 분배 기반 약세 구조가 훼손된다.\",\n  \"executive_summary\": \"현재 BTC 15분 구조는 전반적으로 bearish이며, 핵심 진단은 Wyckoff 기준 활성 분배 구조의 Phase D/E 전개, 즉 UTAD $64,380.00 이후 LPSY $63,898.90와 SOW $62,910.00가 확인된 상태다. ICT도 $70,038.00, $66,388.00, $66,620.00, $65,508.30에서 4회 연속 bearish BOS를 제시해 상위 구조 약세를 보강하며, 현재가는 EQ $63,307.25 위 premium zone에 있다. 단기적으로는 $63,539-$63,704의 피보나치·하모닉 지지 클러스터가 반등 조건을 만들고 있으나, 이는 구조 전환 신호가 아니라 약세 구조 내부의 실행 리스크로 분류된다. 구조적 핵심 저항은 $63,897-$63,899와 $64,172.06이며, $64,380-$64,480 공급대를 넘어 $64,739.80 위에서 수용되기 전까지 전체 구조 판단은 분배 우위다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.78,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.7,
    "waypoints": [
      {
        "seq": 1,
        "price": 63603.69,
        "type": "support_test",
        "source": "Fibonacci(fib_confluence $63,603.69 strict score 1.0), Wyckoff(AR $63,607.40), Candlestick/Derivatives(EMA20 $63,573.03), Chairman(골든비율 $63,539.28)",
        "description": "현재가 $63,858.70은 LPSY $63,898.90·EMA120 $64,172.06 아래 premium zone에서 거부되며, 가장 가깝고 점수 높은 strict 피보나치 컨플루언스 $63,603.69(=AR $63,607.40·EMA20 $63,573.03·골든비율 $63,539.28 동반)로 1차 하락 테스트. 동시에 이 구간은 하모닉/피보 반등 PRZ($63,378-$63,704)와 겹쳐 반등 리스크가 존재하는 지지대이므로 셋업상 핵심 분기점이다.",
        "est_hours": 3.0,
        "turning_zone": [
          63500.0,
          63603.69
        ],
        "likely_wick": 63539.28,
        "rejection_confirm": 63704.0,
        "invalid_overshoot": 63443.95,
        "calibration_reasoning": "4중 피보 컨플루언스 $63,603.69를 존 상단으로, 그 아래 EMA20 $63,573.03·골든비율 $63,539.28(챔피언 지지이며 미확정 gartley PRZ $63,541로 보강되나 단독으로 웨이포인트를 이동시키지 않음)까지 약 0.31×ATR 폭으로 설정. likely_wick은 가장 강한 골든비율 지지대, rejection은 하모닉 반등 PRZ 상단 $63,704 회복, invalid은 피보 지지 $63,443.95 이탈(WP2로 연장)."
      },
      {
        "seq": 2,
        "price": 63307.25,
        "type": "support_test",
        "source": "ICT(EQ $63,307.25), Wyckoff/Chairman(support $63,307.25)",
        "description": "$63,539-$63,604 반등 클러스터가 수용 실패하고 하향 이탈하면 ICT EQ $63,307.25(프리미엄→디스카운트 전환축) 재시험이 열린다. 57.5% 되돌림 premium 매도 셋업이 EQ까지 마크다운으로 확장되는 구간.",
        "est_hours": 8.0,
        "turning_zone": [
          63180.0,
          63307.25
        ],
        "likely_wick": 63206.43,
        "rejection_confirm": 63348.62,
        "invalid_overshoot": 63140.8,
        "calibration_reasoning": "ICT EQ(프리미엄→디스카운트 축) $63,307.25를 상단으로, 하단은 EQ 아래 3중 피보 컨플루언스 $63,206.43(ext_1.0+ret_0.236+ret_0.382)에 앵커해 EQ 유동성 스윕을 포착(약 0.38×ATR). likely_wick은 그 컨플루언스, rejection은 fib 0.382 $63,348.62 회복, invalid은 CONFIRMED bat PRZ $63,140.8 이탈로 마크다운이 WP3로 연장됨을 의미."
      },
      {
        "seq": 3,
        "price": 62910.0,
        "type": "swing_low",
        "source": "Wyckoff(SOW $62,910.00), Derivatives(하방 유동성 $62,600), Fibonacci(확장 클러스터 $62,762.89-$62,540.72)",
        "description": "EQ 하향 이탈 후 활성 분배 Phase E의 SOW $62,910.00 저점 재방문이 1차 구조 목표. 파생 하방 유동성 $62,600 및 피보 확장 클러스터 $62,540-$62,762와 겹쳐 $62,540-$62,910 전체가 마크다운 타깃 존을 형성한다.",
        "est_hours": 18.0,
        "turning_zone": [
          62540.0,
          62910.0
        ],
        "likely_wick": 62600.0,
        "rejection_confirm": 63140.8,
        "invalid_overshoot": 62386.41,
        "calibration_reasoning": "터미널 웨이포인트로 마크다운 타깃존 $62,540-$62,910 전체(SOW $62,910, 피보확장 컨플루언스 $62,762.89, 파생 하방 유동성 $62,600, 클러스터 바닥 $62,540)를 유동성 풀 포함 규칙에 따라 ~1.1×ATR로 확장. likely_wick은 유동성 자석인 파생 하방 $62,600, rejection은 CONFIRMED(상방) bat PRZ $63,140.8 회복(상승 하모닉은 경로와 역방향이라 타깃 앵커로 쓰지 않고 반등 확인 기준으로만 사용), invalid은 피보 컨플루언스 $62,386.41(ext_2.0+1.618) 이탈."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 63950.0,
        "expected_low": 63500.0,
        "high_first": true
      },
      "8h": {
        "expected_high": 63980.0,
        "expected_low": 63307.25,
        "high_first": true
      },
      "24h": {
        "expected_high": 64006.14,
        "expected_low": 62600.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 64172.06,
        "description": "LPSY $63,898.90 재탈환 후 EMA120 $64,172.06 위 수용 시 단기 약세 셋업 무효화. $64,380-$64,480 공급대 재시험으로 전환되며, 이 위 수용 시 마크다운 경로 중단."
      },
      "bearish": {
        "price": 63539.28,
        "description": "하모닉/피보 반등 클러스터 하단(strict Bat PRZ $63,500.11·골든비율 $63,539.28) 하향 이탈 시 반등 무효화 확정. EQ $63,307.25→SOW $62,910 마크다운 가속 신호."
      }
    },
    "scenario_invalidation": 64463.7,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.7,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 63603.69,\n      \"type\": \"support_test\",\n      \"source\": \"Fibonacci(fib_confluence $63,603.69 strict score 1.0), Wyckoff(AR $63,607.40), Candlestick/Derivatives(EMA20 $63,573.03), Chairman(골든비율 $63,539.28)\",\n      \"description\": \"현재가 $63,858.70은 LPSY $63,898.90·EMA120 $64,172.06 아래 premium zone에서 거부되며, 가장 가깝고 점수 높은 strict 피보나치 컨플루언스 $63,603.69(=AR $63,607.40·EMA20 $63,573.03·골든비율 $63,539.28 동반)로 1차 하락 테스트. 동시에 이 구간은 하모닉/피보 반등 PRZ($63,378-$63,704)와 겹쳐 반등 리스크가 존재하는 지지대이므로 셋업상 핵심 분기점이다.\",\n      \"est_hours\": 3.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 63307.25,\n      \"type\": \"support_test\",\n      \"source\": \"ICT(EQ $63,307.25), Wyckoff/Chairman(support $63,307.25)\",\n      \"description\": \"$63,539-$63,604 반등 클러스터가 수용 실패하고 하향 이탈하면 ICT EQ $63,307.25(프리미엄→디스카운트 전환축) 재시험이 열린다. 57.5% 되돌림 premium 매도 셋업이 EQ까지 마크다운으로 확장되는 구간.\",\n      \"est_hours\": 8.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 62910.0,\n      \"type\": \"swing_low\",\n      \"source\": \"Wyckoff(SOW $62,910.00), Derivatives(하방 유동성 $62,600), Fibonacci(확장 클러스터 $62,762.89-$62,540.72)\",\n      \"description\": \"EQ 하향 이탈 후 활성 분배 Phase E의 SOW $62,910.00 저점 재방문이 1차 구조 목표. 파생 하방 유동성 $62,600 및 피보 확장 클러스터 $62,540-$62,762와 겹쳐 $62,540-$62,910 전체가 마크다운 타깃 존을 형성한다.\",\n      \"est_hours\": 18.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 63950.0, \"expected_low\": 63500.0, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 63980.0, \"expected_low\": 63307.25, \"high_first\": true},\n    \"24h\": {\"expected_high\": 64006.14, \"expected_low\": 62600.0, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 64172.06, \"description\": \"LPSY $63,898.90 재탈환 후 EMA120 $64,172.06 위 수용 시 단기 약세 셋업 무효화. $64,380-$64,480 공급대 재시험으로 전환되며, 이 위 수용 시 마크다운 경로 중단.\"},\n    \"bearish\": {\"price\": 63539.28, \"description\": \"하모닉/피보 반등 클러스터 하단(strict Bat PRZ $63,500.11·골든비율 $63,539.28) 하향 이탈 시 반등 무효화 확정. EQ $63,307.25→SOW $62,910 마크다운 가속 신호.\"}\n  },\n  \"scenario_invalidation\": 64463.7\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 63603.69,
        "turning_zone": [
          63500.0,
          63603.69
        ],
        "likely_wick": 63539.28,
        "rejection_confirm": 63704.0,
        "invalid_overshoot": 63443.95,
        "calibration_reasoning": "4중 피보 컨플루언스 $63,603.69를 존 상단으로, 그 아래 EMA20 $63,573.03·골든비율 $63,539.28(챔피언 지지이며 미확정 gartley PRZ $63,541로 보강되나 단독으로 웨이포인트를 이동시키지 않음)까지 약 0.31×ATR 폭으로 설정. likely_wick은 가장 강한 골든비율 지지대, rejection은 하모닉 반등 PRZ 상단 $63,704 회복, invalid은 피보 지지 $63,443.95 이탈(WP2로 연장)."
      },
      {
        "seq": 2,
        "base_target": 63307.25,
        "turning_zone": [
          63180.0,
          63307.25
        ],
        "likely_wick": 63206.43,
        "rejection_confirm": 63348.62,
        "invalid_overshoot": 63140.8,
        "calibration_reasoning": "ICT EQ(프리미엄→디스카운트 축) $63,307.25를 상단으로, 하단은 EQ 아래 3중 피보 컨플루언스 $63,206.43(ext_1.0+ret_0.236+ret_0.382)에 앵커해 EQ 유동성 스윕을 포착(약 0.38×ATR). likely_wick은 그 컨플루언스, rejection은 fib 0.382 $63,348.62 회복, invalid은 CONFIRMED bat PRZ $63,140.8 이탈로 마크다운이 WP3로 연장됨을 의미."
      },
      {
        "seq": 3,
        "base_target": 62910.0,
        "turning_zone": [
          62540.0,
          62910.0
        ],
        "likely_wick": 62600.0,
        "rejection_confirm": 63140.8,
        "invalid_overshoot": 62386.41,
        "calibration_reasoning": "터미널 웨이포인트로 마크다운 타깃존 $62,540-$62,910 전체(SOW $62,910, 피보확장 컨플루언스 $62,762.89, 파생 하방 유동성 $62,600, 클러스터 바닥 $62,540)를 유동성 풀 포함 규칙에 따라 ~1.1×ATR로 확장. likely_wick은 유동성 자석인 파생 하방 $62,600, rejection은 CONFIRMED(상방) bat PRZ $63,140.8 회복(상승 하모닉은 경로와 역방향이라 타깃 앵커로 쓰지 않고 반등 확인 기준으로만 사용), invalid은 피보 컨플루언스 $62,386.41(ext_2.0+1.618) 이탈."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 63603.69,\n      \"turning_zone\": [63500.00, 63603.69],\n      \"likely_wick\": 63539.28,\n      \"rejection_confirm\": 63704.00,\n      \"invalid_overshoot\": 63443.95,\n      \"calibration_reasoning\": \"4중 피보 컨플루언스 $63,603.69를 존 상단으로, 그 아래 EMA20 $63,573.03·골든비율 $63,539.28(챔피언 지지이며 미확정 gartley PRZ $63,541로 보강되나 단독으로 웨이포인트를 이동시키지 않음)까지 약 0.31×ATR 폭으로 설정. likely_wick은 가장 강한 골든비율 지지대, rejection은 하모닉 반등 PRZ 상단 $63,704 회복, invalid은 피보 지지 $63,443.95 이탈(WP2로 연장).\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 63307.25,\n      \"turning_zone\": [63180.00, 63307.25],\n      \"likely_wick\": 63206.43,\n      \"rejection_confirm\": 63348.62,\n      \"invalid_overshoot\": 63140.80,\n      \"calibration_reasoning\": \"ICT EQ(프리미엄→디스카운트 축) $63,307.25를 상단으로, 하단은 EQ 아래 3중 피보 컨플루언스 $63,206.43(ext_1.0+ret_0.236+ret_0.382)에 앵커해 EQ 유동성 스윕을 포착(약 0.38×ATR). likely_wick은 그 컨플루언스, rejection은 fib 0.382 $63,348.62 회복, invalid은 CONFIRMED bat PRZ $63,140.8 이탈로 마크다운이 WP3로 연장됨을 의미.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 62910.00,\n      \"turning_zone\": [62540.00, 62910.00],\n      \"likely_wick\": 62600.00,\n      \"rejection_confirm\": 63140.80,\n      \"invalid_overshoot\": 62386.41,\n      \"calibration_reasoning\": \"터미널 웨이포인트로 마크다운 타깃존 $62,540-$62,910 전체(SOW $62,910, 피보확장 컨플루언스 $62,762.89, 파생 하방 유동성 $62,600, 클러스터 바닥 $62,540)를 유동성 풀 포함 규칙에 따라 ~1.1×ATR로 확장. likely_wick은 유동성 자석인 파생 하방 $62,600, rejection은 CONFIRMED(상방) bat PRZ $63,140.8 회복(상승 하모닉은 경로와 역방향이라 타깃 앵커로 쓰지 않고 반등 확인 기준으로만 사용), invalid은 피보 컨플루언스 $62,386.41(ext_2.0+1.618) 이탈.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 26.0,
      "chairman": 41.0,
      "operating_path": 170.4,
      "tp_calibrator": 318.1
    },
    "agents": {},
    "total_s": 555.7
  }
}