{
  "symbol": "BTC/USDT",
  "timeframe": "1d",
  "timestamp": "2026-05-24 21:18 KST",
  "last_price": 77072.8,
  "num_candles": 300,
  "stage1_analyses": {
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "neutral",
      "confidence": 0.64,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.55,
      "setup_signals": [
        "현재가 $77,072.80가 주 레인지 저점/SC $80,600.00 아래에 있어 SOS 이후 재수용이 아직 확인되지 않음",
        "SOS 고점 $82,828.70 형성 후 가격이 다시 $80,600.00 아래로 밀려 Phase D 강세 진행이 단기적으로 약화됨",
        "현재가가 레인지 EQ 약 $86,840.00 및 AR 상단 $93,080.00보다 낮아, 아직 레인지 상단 수용이나 BU 확인 단계가 아님",
        "단기 지지 확인 구간은 TERMINAL_SPRING $74,868.00이며, 이탈 시 Spring 저점 $65,595.70 재검증 위험이 커짐"
      ],
      "reasoning": "지표상 regime은 ACC, regime_state는 confirmed_acc이며 acc_score 92.5와 regime_fitness 0.925로 구조적 해석은 확정 축적 국면의 Phase D가 우세합니다. 이벤트 체인은 SC $80,600.00 → AR $93,080.00 → ST $84,408.60 → Spring $65,595.70 → TERMINAL_SPRING $74,868.00 → SOS $82,828.70로 확인되어 구조_bias는 bullish입니다. 다만 현재가 $77,072.80는 SOS $82,828.70 및 SC/레인지 저점 $80,600.00 아래에 있어, Phase D가 곧바로 상승 지속으로 확정되었다기보다 TERMINAL_SPRING $74,868.00 부근의 LPS/BU 성격 테스트가 먼저 필요한 위치입니다. 따라서 구조는 강세이나, 즉시 경로는 $80,600.00 회복 전까지 약한 하방 테스트 또는 박스권 재검증 쪽으로 기울어 setup_bias는 bearish로 분리합니다.",
      "key_levels": {
        "support": [
          74868.0,
          65595.7
        ],
        "resistance": [
          80600.0,
          82828.7,
          86840.0,
          93080.0
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$65,595.70 하향 이탈 시 confirmed_acc 구조 해석이 크게 훼손됩니다",
      "risk_scenario": "$80,600.00을 회복하지 못하고 $74,868.00 TERMINAL_SPRING 구간도 이탈하면, Phase D의 SOS 이후 테스트가 실패로 바뀌며 $65,595.70 Spring 저점 재검증 가능성이 높아집니다. 반대로 $80,600.00을 회복하고 $82,828.70 SOS 고점 위에서 일봉 수용이 확인되면 bearish setup은 무효화되고 BU/LPS 확인 시나리오가 강화됩니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 92.5,
        "dis_score": 81.2,
        "regime": "ACC",
        "regime_state": "confirmed_acc",
        "structure_bias": "bullish",
        "phase_context": "confirmed_acc / accumulation / Phase D",
        "phases_detected": [
          "SC",
          "AR",
          "ST",
          "Spring",
          "TERMINAL_SPRING",
          "SOS"
        ],
        "last_phase": "SOS",
        "phase_candidates": [
          {
            "label": "SC",
            "side": "low",
            "idx": 115,
            "price": 80600.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 122,
            "price": 93080.0,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 142,
            "price": 84408.6,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 205,
            "price": 65595.7,
            "color": "#f9844a"
          },
          {
            "label": "TERMINAL_SPRING",
            "side": "low",
            "idx": 274,
            "price": 74868.0,
            "color": "#f3722c"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 281,
            "price": 82828.7,
            "color": "#06d6a0"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "1d_cycle_1",
            "sequence": 1,
            "timeframe": "1d",
            "regime": "accumulation",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 115,
            "end_idx": 281,
            "phase_count": 6,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 115,
                "price": 80600.0,
                "color": "#ffd166",
                "dt": "2025-11-21 09:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 122,
                "price": 93080.0,
                "color": "#06d6a0",
                "dt": "2025-11-28 09:00:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 142,
                "price": 84408.6,
                "color": "#118ab2",
                "dt": "2025-12-18 09:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 205,
                "price": 65595.7,
                "color": "#f9844a",
                "dt": "2026-02-19 09:00:00+09:00"
              },
              {
                "label": "TERMINAL_SPRING",
                "side": "low",
                "idx": 274,
                "price": 74868.0,
                "color": "#f3722c",
                "dt": "2026-04-29 09:00:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 281,
                "price": 82828.7,
                "color": "#06d6a0",
                "dt": "2026-05-06 09:00:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "1d_cycle_1",
        "primary_structure_id": "1d_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.9249999999999999,
        "current_event": "SOS",
        "major_phase": "D",
        "pos_in_range": 0.5,
        "main_range_low": 80600.0,
        "main_range_high": 93080.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.64,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.55,\n  \"setup_signals\": [\n    \"현재가 $77,072.80가 주 레인지 저점/SC $80,600.00 아래에 있어 SOS 이후 재수용이 아직 확인되지 않음\",\n    \"SOS 고점 $82,828.70 형성 후 가격이 다시 $80,600.00 아래로 밀려 Phase D 강세 진행이 단기적으로 약화됨\",\n    \"현재가가 레인지 EQ 약 $86,840.00 및 AR 상단 $93,080.00보다 낮아, 아직 레인지 상단 수용이나 BU 확인 단계가 아님\",\n    \"단기 지지 확인 구간은 TERMINAL_SPRING $74,868.00이며, 이탈 시 Spring 저점 $65,595.70 재검증 위험이 커짐\"\n  ],\n  \"reasoning\": \"지표상 regime은 ACC, regime_state는 confirmed_acc이며 acc_score 92.5와 regime_fitness 0.925로 구조적 해석은 확정 축적 국면의 Phase D가 우세합니다. 이벤트 체인은 SC $80,600.00 → AR $93,080.00 → ST $84,408.60 → Spring $65,595.70 → TERMINAL_SPRING $74,868.00 → SOS $82,828.70로 확인되어 구조_bias는 bullish입니다. 다만 현재가 $77,072.80는 SOS $82,828.70 및 SC/레인지 저점 $80,600.00 아래에 있어, Phase D가 곧바로 상승 지속으로 확정되었다기보다 TERMINAL_SPRING $74,868.00 부근의 LPS/BU 성격 테스트가 먼저 필요한 위치입니다. 따라서 구조는 강세이나, 즉시 경로는 $80,600.00 회복 전까지 약한 하방 테스트 또는 박스권 재검증 쪽으로 기울어 setup_bias는 bearish로 분리합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      74868.0,\n      65595.7\n    ],\n    \"resistance\": [\n      80600.0,\n      82828.7,\n      86840.0,\n      93080.0\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$65,595.70 하향 이탈 시 confirmed_acc 구조 해석이 크게 훼손됩니다\",\n  \"risk_scenario\": \"$80,600.00을 회복하지 못하고 $74,868.00 TERMINAL_SPRING 구간도 이탈하면, Phase D의 SOS 이후 테스트가 실패로 바뀌며 $65,595.70 Spring 저점 재검증 가능성이 높아집니다. 반대로 $80,600.00을 회복하고 $82,828.70 SOS 고점 위에서 일봉 수용이 확인되면 bearish setup은 무효화되고 BU/LPS 확인 시나리오가 강화됩니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bullish",
      "confidence": 0.68,
      "structure_bias": "bullish",
      "setup_bias": "bullish",
      "setup_score": 0.779,
      "setup_signals": [
        "최근 확정 구조 이벤트가 $75,998.90 상향 BOS로 확인되어 단기 구조가 상승 쪽으로 전환됨",
        "전일 고점 $77,427.00이 상향 돌파되어 매수 측 모멘텀 유입이 확인됨",
        "현재가 $77,072.80은 EQ $74,702.10 위 프리미엄 영역에 있어 추격 매수보다는 되돌림 매수 조건이 유리함",
        "현재 되돌림은 48.2% 수준으로, $75,998.90 BOS 레벨 위에서 유지될 경우 상승 재개 셋업이 유효함",
        "미체결 FVG와 활성 OB가 없어 즉각적인 기관형 자석 구간은 약하지만, 하방 미충족 유동성 압력도 제한적임"
      ],
      "reasoning": "확정 구조 기준으로는 마지막 유의미한 이벤트가 $75,998.90 상향 BOS이며, 현재가 $77,072.80이 해당 레벨 위에 있어 structure_bias는 bullish로 판단한다. 다만 가격은 EQ $74,702.10 위의 프리미엄 영역에 있고 EMA20 $77,891.69 및 7일 고점 $78,180.00 아래에 있어 단기적으로는 저항 흡수 여부가 중요하다. 전일 고점 $77,427.00을 이미 돌파한 이력이 있으나 현재가는 그 아래로 내려와 있어, $77,427.00 재탈환 실패 시 단기 매수 유동성 소진 후 $75,998.90 재테스트가 나올 수 있다. OB 총계 0개, 미체결 FVG 0개, 최근 유동성 스윕 없음으로 명확한 기관형 디스카운트 진입 구간은 부족하므로 신뢰도는 중간 수준으로 본다.",
      "key_levels": {
        "support": [
          75998.9,
          74702.1,
          74203.6,
          66575.5
        ],
        "resistance": [
          77427.0,
          77891.69,
          78180.0,
          82828.7,
          84807.1
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "$75,998.90 일봉 종가 이탈",
      "risk_scenario": "$77,427.00 전일 고점과 EMA20 $77,891.69 위로 안착하지 못하면 이번 상승은 매수 유동성 확보 후 분배성 반락으로 바뀔 수 있으며, $75,998.90이 무너지면 $74,702.10 EQ와 전일 저점 $74,203.60까지 하방 재가격화가 열릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 0,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 1,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 67,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 117875.2
          },
          {
            "type": "CHoCH_bearish",
            "level": 108566.0
          },
          {
            "type": "BOS_bearish",
            "level": 101516.5
          },
          {
            "type": "BOS_bullish",
            "level": 94555.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 84408.6
          },
          {
            "type": "BOS_bullish",
            "level": 75998.9
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish"
        ],
        "consecutive_bull_bos": 1,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "premium",
        "eq_level": 74702.1,
        "range_high": 82828.7,
        "range_low": 66575.5,
        "bull_score": 8.3,
        "bear_score": 6.9,
        "setup_bias": "bullish",
        "setup_score": 0.779,
        "setup_signals": [
          "bullish BOS above $117,875.20",
          "bullish BOS above $94,555.00",
          "bullish BOS above $75,998.90",
          "broken previous day high $77,427.00"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 48.2,
        "deepest_retracement_pct": 48.2,
        "previous_day_high": 77427.0,
        "previous_day_low": 74203.6,
        "broken_prev_high": true,
        "broken_prev_low": false,
        "sessions": {}
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.68,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.779,\n  \"setup_signals\": [\n    \"최근 확정 구조 이벤트가 $75,998.90 상향 BOS로 확인되어 단기 구조가 상승 쪽으로 전환됨\",\n    \"전일 고점 $77,427.00이 상향 돌파되어 매수 측 모멘텀 유입이 확인됨\",\n    \"현재가 $77,072.80은 EQ $74,702.10 위 프리미엄 영역에 있어 추격 매수보다는 되돌림 매수 조건이 유리함\",\n    \"현재 되돌림은 48.2% 수준으로, $75,998.90 BOS 레벨 위에서 유지될 경우 상승 재개 셋업이 유효함\",\n    \"미체결 FVG와 활성 OB가 없어 즉각적인 기관형 자석 구간은 약하지만, 하방 미충족 유동성 압력도 제한적임\"\n  ],\n  \"reasoning\": \"확정 구조 기준으로는 마지막 유의미한 이벤트가 $75,998.90 상향 BOS이며, 현재가 $77,072.80이 해당 레벨 위에 있어 structure_bias는 bullish로 판단한다. 다만 가격은 EQ $74,702.10 위의 프리미엄 영역에 있고 EMA20 $77,891.69 및 7일 고점 $78,180.00 아래에 있어 단기적으로는 저항 흡수 여부가 중요하다. 전일 고점 $77,427.00을 이미 돌파한 이력이 있으나 현재가는 그 아래로 내려와 있어, $77,427.00 재탈환 실패 시 단기 매수 유동성 소진 후 $75,998.90 재테스트가 나올 수 있다. OB 총계 0개, 미체결 FVG 0개, 최근 유동성 스윕 없음으로 명확한 기관형 디스카운트 진입 구간은 부족하므로 신뢰도는 중간 수준으로 본다.\",\n  \"key_levels\": {\n    \"support\": [\n      75998.9,\n      74702.1,\n      74203.6,\n      66575.5\n    ],\n    \"resistance\": [\n      77427.0,\n      77891.69,\n      78180.0,\n      82828.7,\n      84807.1\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"$75,998.90 일봉 종가 이탈\",\n  \"risk_scenario\": \"$77,427.00 전일 고점과 EMA20 $77,891.69 위로 안착하지 못하면 이번 상승은 매수 유동성 확보 후 분배성 반락으로 바뀔 수 있으며, $75,998.90이 무너지면 $74,702.10 EQ와 전일 저점 $74,203.60까지 하방 재가격화가 열릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "neutral",
      "confidence": 0.42,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.35,
      "setup_signals": [
        "엄격 등급 고품질 bullish Gartley 형성 중: D 예상가 $75,204.19, PRZ $74,594.52-$75,813.87",
        "Gartley PRZ는 ABCD, BC_EXT, XAD 3개 Fib 패밀리 confluence이며 PRZ 점수 1.0, 폭 1.621%",
        "현재가 $77,072.80는 bullish Gartley PRZ 상단 $75,813.87보다 약 1.66% 위, D 예상가 $75,204.19까지 약 2.42% 하방 여지",
        "PRZ 반응 확인 전 상태: confirmed_reaction=false, directional_vote_weight=0.35로 약한 선행 반전 후보일 뿐 구조 전환 신호는 아님",
        "상방 반응 시 Gartley TP ladder: TP1 $76,828.00, TP2 $77,831.19, TP3/A 구조 유동성 $79,455.00"
      ],
      "reasoning": "현재 가장 중요한 실행 후보는 엄격 등급 고품질 bullish Gartley로, PRZ가 $74,594.52-$75,813.87에 형성되어 있으며 D 기준가는 $75,204.19입니다. 다만 아직 PRZ 진입 후 거부, sweep→reclaim, 15m/1h MSS·CHoCH, CVD/OI 확인이 없으므로 harmonic_vote_state는 pre_confirmation_reversal_candidate이고 단독 방향 전환 근거가 아닙니다. 위쪽에는 이미 $78,180.00 부근에서 완료된 bearish Shark/Butterfly 후보가 반응 확인 상태로 남아 있고, $78,130-$79,653 구간의 bearish Bat/Butterfly PRZ 클러스터가 저항으로 작동할 수 있습니다. 따라서 확정 구조는 중립으로 두되, $74,594.52-$75,813.87 진입 후 방어가 확인되면 단기 bullish 반등 셋업으로 TP $76,828.00-$77,831.19-$79,455.00을 사용할 수 있습니다.",
      "key_levels": {
        "support": [
          75813.87,
          75204.19,
          74594.52,
          73669.0,
          73020.96
        ],
        "resistance": [
          77831.19,
          78180.0,
          78451.55,
          79029.67,
          79455.0,
          80471.36
        ]
      },
      "time_horizon": "medium term",
      "invalidation_level": "$74,594.52 하향 이탈 및 일봉 종가 수용",
      "risk_scenario": "$74,594.52-$75,813.87 Gartley PRZ에서 반등 확인 없이 $74,594.52 아래로 수용되면 bullish 반전 후보는 실패하며, $73,669.00 및 bearish harmonic TP 구간인 $73,020.96-$69,926.70 재방문 위험이 커집니다. 반대로 가격이 PRZ까지 내려오지 않고 $78,180.00을 회복하면 $78,451-$79,455 저항 및 $80,471.36 bearish Crab D 후보까지 유동성 사냥이 연장될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 256,
        "completed_patterns_found": 93,
        "forming_d_prz_found": 163,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 30,
        "multiscale_swings_scanned": 58,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 29,
        "timeframe": "1d",
        "prz_active_threshold_pct": 1.0,
        "prz_nearby_threshold_pct": 2.0,
        "prz_watch_threshold_pct": 4.0,
        "prz_max_width_pct": 1.8,
        "quality_counts": {
          "high": 3,
          "medium": 71,
          "low": 182
        },
        "prz_status_counts": {
          "active": 34,
          "nearby": 29,
          "watch": 32,
          "far": 161,
          "forming": 116
        },
        "high_confluence_prz_count": 19,
        "strict_patterns_found": 66,
        "candidate_patterns_found": 190,
        "active_patterns_at_prz": 34,
        "nearby_patterns": 29,
        "all_patterns": [
          "gartley",
          "crab",
          "gartley",
          "shark",
          "butterfly",
          "bat",
          "butterfly",
          "bat",
          "butterfly",
          "gartley",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "butterfly",
          "bat",
          "bat",
          "crab",
          "bat",
          "bat",
          "crab",
          "bat",
          "bat",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "crab",
          "butterfly",
          "crab",
          "crab",
          "bat",
          "shark",
          "shark",
          "gartley",
          "gartley",
          "gartley",
          "bat",
          "crab",
          "crab",
          "gartley",
          "shark",
          "butterfly",
          "butterfly",
          "bat",
          "crab",
          "shark",
          "bat",
          "butterfly",
          "bat",
          "butterfly",
          "butterfly",
          "bat",
          "shark",
          "crab",
          "crab",
          "crab",
          "gartley",
          "bat",
          "crab",
          "gartley",
          "shark",
          "shark",
          "bat",
          "crab",
          "shark",
          "crab",
          "shark",
          "bat",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "gartley",
          "shark",
          "bat",
          "bat",
          "butterfly",
          "crab",
          "shark",
          "butterfly",
          "shark",
          "bat",
          "butterfly",
          "bat",
          "butterfly",
          "butterfly",
          "gartley",
          "bat",
          "shark",
          "shark",
          "shark",
          "butterfly",
          "butterfly",
          "shark",
          "shark",
          "bat",
          "butterfly",
          "crab",
          "bat",
          "crab",
          "gartley",
          "shark",
          "shark",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "bat",
          "gartley",
          "shark",
          "shark",
          "butterfly",
          "bat",
          "crab",
          "gartley",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "bat",
          "bat",
          "butterfly",
          "shark",
          "gartley",
          "crab",
          "bat",
          "bat",
          "crab",
          "crab",
          "gartley",
          "bat",
          "shark",
          "bat",
          "butterfly",
          "butterfly",
          "bat",
          "bat",
          "crab",
          "crab",
          "shark",
          "crab",
          "crab",
          "crab",
          "gartley",
          "bat",
          "bat",
          "crab",
          "bat",
          "crab",
          "shark",
          "crab",
          "crab",
          "bat",
          "crab",
          "butterfly",
          "bat",
          "bat",
          "butterfly",
          "bat",
          "gartley",
          "bat",
          "shark",
          "butterfly",
          "bat",
          "bat",
          "gartley",
          "shark",
          "butterfly",
          "butterfly",
          "bat",
          "crab",
          "shark",
          "shark",
          "bat",
          "bat",
          "bat",
          "bat",
          "crab",
          "gartley",
          "butterfly",
          "crab",
          "butterfly",
          "bat",
          "butterfly",
          "gartley",
          "bat",
          "crab",
          "shark",
          "bat",
          "bat",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "shark",
          "shark",
          "gartley",
          "crab",
          "bat",
          "bat",
          "butterfly",
          "shark",
          "butterfly",
          "shark",
          "crab",
          "crab",
          "gartley",
          "butterfly",
          "crab",
          "crab",
          "butterfly",
          "shark",
          "bat",
          "butterfly",
          "shark",
          "bat",
          "crab",
          "shark",
          "gartley",
          "crab",
          "shark",
          "crab",
          "shark",
          "butterfly",
          "bat",
          "butterfly",
          "butterfly",
          "gartley",
          "butterfly",
          "shark",
          "shark",
          "crab",
          "bat",
          "shark",
          "crab",
          "shark",
          "bat",
          "crab",
          "crab",
          "shark",
          "crab",
          "crab",
          "shark"
        ],
        "all_signals": [
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish"
        ],
        "best_pattern": "gartley",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.876,
        "best_completion_status": "forming",
        "nearest_pattern": "butterfly",
        "nearest_prz": 77118.48,
        "price_to_prz": 0.06,
        "prz_range": [
          75784.77,
          78452.19
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.876,
            "ratio_score": 0.862,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75204.19,
            "prz_range": [
              74594.52,
              75813.87
            ],
            "prz_width_pct": 1.621,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.42,
            "price_to_prz_pct_raw": -2.4245,
            "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": 75204.19,
              "a_price": 79455.0,
              "tp1_ad_382": 76828.0,
              "tp2_ad_618": 77831.19,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5947,
              "ABC": 0.6294
            },
            "x_price": 73669.0,
            "x_idx": 265,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 272,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 293,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.866,
            "ratio_score": 1.0,
            "prz_score": 0.914,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 80471.36,
            "prz_range": [
              79480.99,
              81461.73
            ],
            "prz_width_pct": 2.461,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 4.41,
            "price_to_prz_pct_raw": 4.4095,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "crab",
              "d_price": 80471.36,
              "a_price": 67300.0,
              "tp1_ad_382": 75439.9,
              "tp2_ad_618": 72331.46,
              "tp3_a_or_structure_liquidity": 67300.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5403,
              "ABC": 0.6102
            },
            "x_price": 75998.9,
            "x_idx": 231,
            "x_order": 8,
            "a_price": 67300.0,
            "a_idx": 236,
            "a_order": 3,
            "b_price": 71999.9,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 74868.0,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.784,
            "ratio_score": 0.583,
            "prz_score": 0.983,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 78891.87,
            "prz_range": [
              78130.63,
              79653.1
            ],
            "prz_width_pct": 1.93,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.36,
            "price_to_prz_pct_raw": 2.3602,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 78891.87,
              "a_price": 67300.0,
              "tp1_ad_382": 74463.77,
              "tp2_ad_618": 71728.09,
              "tp3_a_or_structure_liquidity": 67300.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6966,
              "ABC": 0.6102
            },
            "x_price": 74046.5,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 67300.0,
            "a_idx": 236,
            "a_order": 3,
            "b_price": 71999.9,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 74868.0,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.75,
            "ratio_score": 0.57,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 78180.0,
            "prz_range": [
              77355.12,
              78703.8
            ],
            "prz_width_pct": 1.728,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.24,
            "price_to_prz_pct_raw": 1.2412,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.3,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 3,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 78029.46,
              "a_price": 64918.2,
              "tp1_ad_382": 73020.96,
              "tp2_ad_618": 69926.7,
              "tp3_a_or_structure_liquidity": 64918.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3944,
              "ABC": 1.0026,
              "BCD": 1.0297,
              "XAD": 1.1968
            },
            "x_price": 75998.9,
            "x_idx": 231,
            "x_order": 8,
            "a_price": 64918.2,
            "a_idx": 243,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 73669.0,
            "c_idx": 265,
            "c_order": 3,
            "d_idx": 296
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.703,
            "ratio_score": 0.528,
            "prz_score": 0.977,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 78180.0,
            "prz_range": [
              78094.82,
              79653.08
            ],
            "prz_width_pct": 1.976,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.34,
            "price_to_prz_pct_raw": 2.3369,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.365,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 3,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 78873.95,
              "a_price": 67300.0,
              "tp1_ad_382": 74452.7,
              "tp2_ad_618": 71721.25,
              "tp3_a_or_structure_liquidity": 67300.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6966,
              "ABC": 0.6102,
              "BCD": 1.1548,
              "XAD": 1.6127
            },
            "x_price": 74046.5,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 67300.0,
            "a_idx": 236,
            "a_order": 3,
            "b_price": 71999.9,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 74868.0,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": 296
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.857,
            "ratio_score": 0.94,
            "prz_score": 0.798,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 76349.56,
            "prz_range": [
              75066.09,
              77633.02
            ],
            "prz_width_pct": 3.362,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.94,
            "price_to_prz_pct_raw": -0.9384,
            "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": 76349.56,
              "a_price": 65569.2,
              "tp1_ad_382": 72231.46,
              "tp2_ad_618": 69687.3,
              "tp3_a_or_structure_liquidity": 65569.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4387,
              "ABC": 1.1781
            },
            "x_price": 74046.5,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 65569.2,
            "a_idx": 222,
            "a_order": 5,
            "b_price": 69288.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 73669.0,
            "c_idx": 265,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.838,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 78580.32,
            "prz_range": [
              78130.97,
              79029.67
            ],
            "prz_width_pct": 1.144,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": 1.96,
            "price_to_prz_pct_raw": 1.956,
            "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": 78580.32,
              "a_price": 62401.7,
              "tp1_ad_382": 72400.09,
              "tp2_ad_618": 68581.93,
              "tp3_a_or_structure_liquidity": 62401.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4131,
              "ABC": 0.5794
            },
            "x_price": 90592.7,
            "x_idx": 183,
            "x_order": 3,
            "a_price": 62401.7,
            "a_idx": 210,
            "a_order": 8,
            "b_price": 74046.5,
            "b_idx": 218,
            "b_order": 8,
            "c_price": 67300.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.836,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 78291.42,
            "prz_range": [
              78131.28,
              78451.55
            ],
            "prz_width_pct": 0.409,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": 1.58,
            "price_to_prz_pct_raw": 1.5811,
            "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": 78291.42,
              "a_price": 62979.5,
              "tp1_ad_382": 72442.27,
              "tp2_ad_618": 68828.65,
              "tp3_a_or_structure_liquidity": 62979.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4008,
              "ABC": 0.6096
            },
            "x_price": 90592.7,
            "x_idx": 183,
            "x_order": 3,
            "a_price": 62979.5,
            "a_idx": 214,
            "a_order": 3,
            "b_price": 74046.5,
            "b_idx": 218,
            "b_order": 8,
            "c_price": 67300.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.876,
            "ratio_score": 0.862,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75204.19,
            "prz_range": [
              74594.52,
              75813.87
            ],
            "prz_width_pct": 1.621,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.42,
            "price_to_prz_pct_raw": -2.4245,
            "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": 75204.19,
              "a_price": 79455.0,
              "tp1_ad_382": 76828.0,
              "tp2_ad_618": 77831.19,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5947,
              "ABC": 0.6294
            },
            "x_price": 73669.0,
            "x_idx": 265,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 272,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 293,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.876,
            "ratio_score": 0.862,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 75204.19,
            "prz_range": [
              74594.52,
              75813.87
            ],
            "prz_width_pct": 1.621,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.42,
            "price_to_prz_pct_raw": -2.4245,
            "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": 75204.19,
              "a_price": 79455.0,
              "tp1_ad_382": 76828.0,
              "tp2_ad_618": 77831.19,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5947,
              "ABC": 0.6294
            },
            "x_price": 73669.0,
            "x_idx": 265,
            "x_order": 3,
            "a_price": 79455.0,
            "a_idx": 272,
            "a_order": 5,
            "b_price": 76014.2,
            "b_idx": 293,
            "b_order": 3,
            "c_price": 78180.0,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.866,
            "ratio_score": 1.0,
            "prz_score": 0.914,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 80471.36,
            "prz_range": [
              79480.99,
              81461.73
            ],
            "prz_width_pct": 2.461,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 4.41,
            "price_to_prz_pct_raw": 4.4095,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "crab",
              "d_price": 80471.36,
              "a_price": 67300.0,
              "tp1_ad_382": 75439.9,
              "tp2_ad_618": 72331.46,
              "tp3_a_or_structure_liquidity": 67300.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5403,
              "ABC": 0.6102
            },
            "x_price": 75998.9,
            "x_idx": 231,
            "x_order": 8,
            "a_price": 67300.0,
            "a_idx": 236,
            "a_order": 3,
            "b_price": 71999.9,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 74868.0,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.784,
            "ratio_score": 0.583,
            "prz_score": 0.983,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 78891.87,
            "prz_range": [
              78130.63,
              79653.1
            ],
            "prz_width_pct": 1.93,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.36,
            "price_to_prz_pct_raw": 2.3602,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 78891.87,
              "a_price": 67300.0,
              "tp1_ad_382": 74463.77,
              "tp2_ad_618": 71728.09,
              "tp3_a_or_structure_liquidity": 67300.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6966,
              "ABC": 0.6102
            },
            "x_price": 74046.5,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 67300.0,
            "a_idx": 236,
            "a_order": 3,
            "b_price": 71999.9,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 74868.0,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.75,
            "ratio_score": 0.57,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 78180.0,
            "prz_range": [
              77355.12,
              78703.8
            ],
            "prz_width_pct": 1.728,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.24,
            "price_to_prz_pct_raw": 1.2412,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.3,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 3,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 78029.46,
              "a_price": 64918.2,
              "tp1_ad_382": 73020.96,
              "tp2_ad_618": 69926.7,
              "tp3_a_or_structure_liquidity": 64918.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3944,
              "ABC": 1.0026,
              "BCD": 1.0297,
              "XAD": 1.1968
            },
            "x_price": 75998.9,
            "x_idx": 231,
            "x_order": 8,
            "a_price": 64918.2,
            "a_idx": 243,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 73669.0,
            "c_idx": 265,
            "c_order": 3,
            "d_idx": 296
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.703,
            "ratio_score": 0.528,
            "prz_score": 0.977,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 78180.0,
            "prz_range": [
              78094.82,
              79653.08
            ],
            "prz_width_pct": 1.976,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.34,
            "price_to_prz_pct_raw": 2.3369,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.236_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 0.95,
              "reaction_detail": {
                "reaction_score": 0.95,
                "reaction_move_ratio_ad": 0.365,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 3,
                "reasons": [
                  "AD0.236_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 78873.95,
              "a_price": 67300.0,
              "tp1_ad_382": 74452.7,
              "tp2_ad_618": 71721.25,
              "tp3_a_or_structure_liquidity": 67300.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6966,
              "ABC": 0.6102,
              "BCD": 1.1548,
              "XAD": 1.6127
            },
            "x_price": 74046.5,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 67300.0,
            "a_idx": 236,
            "a_order": 3,
            "b_price": 71999.9,
            "b_idx": 239,
            "b_order": 5,
            "c_price": 74868.0,
            "c_idx": 274,
            "c_order": 5,
            "d_idx": 296
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.857,
            "ratio_score": 0.94,
            "prz_score": 0.798,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 76349.56,
            "prz_range": [
              75066.09,
              77633.02
            ],
            "prz_width_pct": 3.362,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.94,
            "price_to_prz_pct_raw": -0.9384,
            "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": 76349.56,
              "a_price": 65569.2,
              "tp1_ad_382": 72231.46,
              "tp2_ad_618": 69687.3,
              "tp3_a_or_structure_liquidity": 65569.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4387,
              "ABC": 1.1781
            },
            "x_price": 74046.5,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 65569.2,
            "a_idx": 222,
            "a_order": 5,
            "b_price": 69288.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 73669.0,
            "c_idx": 265,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.838,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 78580.32,
            "prz_range": [
              78130.97,
              79029.67
            ],
            "prz_width_pct": 1.144,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": 1.96,
            "price_to_prz_pct_raw": 1.956,
            "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": 78580.32,
              "a_price": 62401.7,
              "tp1_ad_382": 72400.09,
              "tp2_ad_618": 68581.93,
              "tp3_a_or_structure_liquidity": 62401.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4131,
              "ABC": 0.5794
            },
            "x_price": 90592.7,
            "x_idx": 183,
            "x_order": 3,
            "a_price": 62401.7,
            "a_idx": 210,
            "a_order": 8,
            "b_price": 74046.5,
            "b_idx": 218,
            "b_order": 8,
            "c_price": 67300.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.836,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": false,
            "d_price": 78291.42,
            "prz_range": [
              78131.28,
              78451.55
            ],
            "prz_width_pct": 0.409,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": 1.58,
            "price_to_prz_pct_raw": 1.5811,
            "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": 78291.42,
              "a_price": 62979.5,
              "tp1_ad_382": 72442.27,
              "tp2_ad_618": 68828.65,
              "tp3_a_or_structure_liquidity": 62979.5,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4008,
              "ABC": 0.6096
            },
            "x_price": 90592.7,
            "x_idx": 183,
            "x_order": 3,
            "a_price": 62979.5,
            "a_idx": 214,
            "a_order": 3,
            "b_price": 74046.5,
            "b_idx": 218,
            "b_order": 8,
            "c_price": 67300.0,
            "c_idx": 236,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.831,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 74874.67,
            "prz_range": [
              74356.58,
              75392.76
            ],
            "prz_width_pct": 1.384,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT"
            ],
            "price_to_prz_pct": -2.85,
            "price_to_prz_pct_raw": -2.852,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 74874.67,
              "a_price": 71999.9,
              "tp1_ad_382": 73776.51,
              "tp2_ad_618": 73098.06,
              "tp3_a_or_structure_liquidity": 71999.9,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.446,
              "ABC": 1.1548
            },
            "x_price": 65569.2,
            "x_idx": 222,
            "x_order": 5,
            "a_price": 71999.9,
            "a_idx": 239,
            "a_order": 5,
            "b_price": 74868.0,
            "b_idx": 274,
            "b_order": 5,
            "c_price": 78180.0,
            "c_idx": 296,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.824,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 79215.87,
            "prz_range": [
              78658.4,
              79773.34
            ],
            "prz_width_pct": 1.407,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 2.78,
            "price_to_prz_pct_raw": 2.7806,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "crab",
              "d_price": 79215.87,
              "a_price": 64918.2,
              "tp1_ad_382": 73754.16,
              "tp2_ad_618": 70379.91,
              "tp3_a_or_structure_liquidity": 64918.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4787,
              "ABC": 0.8266
            },
            "x_price": 74046.5,
            "x_idx": 218,
            "x_order": 8,
            "a_price": 64918.2,
            "a_idx": 243,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 247,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.821,
            "ratio_score": 0.952,
            "prz_score": 0.703,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": false,
            "d_price": 77272.36,
            "prz_range": [
              75692.07,
              78852.65
            ],
            "prz_width_pct": 4.09,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.26,
            "price_to_prz_pct_raw": 0.2589,
            "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": 77272.36,
              "a_price": 82828.7,
              "tp1_ad_382": 79394.88,
              "tp2_ad_618": 80706.18,
              "tp3_a_or_structure_liquidity": 82828.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4637,
              "ABC": 0.9003
            },
            "x_price": 74868.0,
            "x_idx": 274,
            "x_order": 5,
            "a_price": 82828.7,
            "a_idx": 281,
            "a_order": 8,
            "b_price": 79137.4,
            "b_idx": 283,
            "b_order": 3,
            "c_price": 82460.5,
            "c_idx": 285,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.817,
            "ratio_score": 1.0,
            "prz_score": 0.783,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": false,
            "d_price": 74933.88,
            "prz_range": [
              74654.77,
              75212.98
            ],
            "prz_width_pct": 0.745,
            "prz_confluence_count": 2,
            "prz_fib_families": [
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -2.78,
            "price_to_prz_pct_raw": -2.7752,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 74933.88,
              "a_price": 64918.2,
              "tp1_ad_382": 71107.89,
              "tp2_ad_618": 68744.19,
              "tp3_a_or_structure_liquidity": 64918.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3944,
              "ABC": 0.8266
            },
            "x_price": 75998.9,
            "x_idx": 231,
            "x_order": 8,
            "a_price": 64918.2,
            "a_idx": 243,
            "a_order": 8,
            "b_price": 69288.0,
            "b_idx": 246,
            "b_order": 3,
            "c_price": 65676.1,
            "c_idx": 247,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.876,
            "prz_proximity": "nearby",
            "prz_range": [
              74594.52,
              75813.87
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -2.42,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 75204.19,
              "a_price": 79455.0,
              "tp1_ad_382": 76828.0,
              "tp2_ad_618": 77831.19,
              "tp3_a_or_structure_liquidity": 79455.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $74,594.52-$75,813.87: 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.876,
          "ratio_score": 0.862,
          "prz_score": 1.0,
          "prz_proximity": "nearby",
          "action_status": "nearby",
          "high_confluence_prz": true,
          "d_price": 75204.19,
          "prz_range": [
            74594.52,
            75813.87
          ],
          "prz_width_pct": 1.621,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -2.42,
          "price_to_prz_pct_raw": -2.4245,
          "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": 75204.19,
            "a_price": 79455.0,
            "tp1_ad_382": 76828.0,
            "tp2_ad_618": 77831.19,
            "tp3_a_or_structure_liquidity": 79455.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.5947,
            "ABC": 0.6294
          },
          "x_price": 73669.0,
          "x_idx": 265,
          "x_order": 3,
          "a_price": 79455.0,
          "a_idx": 272,
          "a_order": 5,
          "b_price": 76014.2,
          "b_idx": 293,
          "b_order": 3,
          "c_price": 78180.0,
          "c_idx": 296,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 75204.19,
          "a_price": 79455.0,
          "tp1_ad_382": 76828.0,
          "tp2_ad_618": 77831.19,
          "tp3_a_or_structure_liquidity": 79455.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 75204.19,
            "a_price": 79455.0,
            "tp1_ad_382": 76828.0,
            "tp2_ad_618": 77831.19,
            "tp3_a_or_structure_liquidity": 79455.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "watch",
        "directional_scores": {
          "bullish": 0.13,
          "bearish": 0
        },
        "directional_score_total": 0.13,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.42,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.35,\n  \"setup_signals\": [\n    \"엄격 등급 고품질 bullish Gartley 형성 중: D 예상가 $75,204.19, PRZ $74,594.52-$75,813.87\",\n    \"Gartley PRZ는 ABCD, BC_EXT, XAD 3개 Fib 패밀리 confluence이며 PRZ 점수 1.0, 폭 1.621%\",\n    \"현재가 $77,072.80는 bullish Gartley PRZ 상단 $75,813.87보다 약 1.66% 위, D 예상가 $75,204.19까지 약 2.42% 하방 여지\",\n    \"PRZ 반응 확인 전 상태: confirmed_reaction=false, directional_vote_weight=0.35로 약한 선행 반전 후보일 뿐 구조 전환 신호는 아님\",\n    \"상방 반응 시 Gartley TP ladder: TP1 $76,828.00, TP2 $77,831.19, TP3/A 구조 유동성 $79,455.00\"\n  ],\n  \"reasoning\": \"현재 가장 중요한 실행 후보는 엄격 등급 고품질 bullish Gartley로, PRZ가 $74,594.52-$75,813.87에 형성되어 있으며 D 기준가는 $75,204.19입니다. 다만 아직 PRZ 진입 후 거부, sweep→reclaim, 15m/1h MSS·CHoCH, CVD/OI 확인이 없으므로 harmonic_vote_state는 pre_confirmation_reversal_candidate이고 단독 방향 전환 근거가 아닙니다. 위쪽에는 이미 $78,180.00 부근에서 완료된 bearish Shark/Butterfly 후보가 반응 확인 상태로 남아 있고, $78,130-$79,653 구간의 bearish Bat/Butterfly PRZ 클러스터가 저항으로 작동할 수 있습니다. 따라서 확정 구조는 중립으로 두되, $74,594.52-$75,813.87 진입 후 방어가 확인되면 단기 bullish 반등 셋업으로 TP $76,828.00-$77,831.19-$79,455.00을 사용할 수 있습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      75813.87,\n      75204.19,\n      74594.52,\n      73669.0,\n      73020.96\n    ],\n    \"resistance\": [\n      77831.19,\n      78180.0,\n      78451.55,\n      79029.67,\n      79455.0,\n      80471.36\n    ]\n  },\n  \"time_horizon\": \"medium term\",\n  \"invalidation_level\": \"$74,594.52 하향 이탈 및 일봉 종가 수용\",\n  \"risk_scenario\": \"$74,594.52-$75,813.87 Gartley PRZ에서 반등 확인 없이 $74,594.52 아래로 수용되면 bullish 반전 후보는 실패하며, $73,669.00 및 bearish harmonic TP 구간인 $73,020.96-$69,926.70 재방문 위험이 커집니다. 반대로 가격이 PRZ까지 내려오지 않고 $78,180.00을 회복하면 $78,451-$79,455 저항 및 $80,471.36 bearish Crab D 후보까지 유동성 사냥이 연장될 수 있습니다.\",\n  \"data_quality\": \"medium\"\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": [
        "현재가 $77,072.80는 7일 레인지 EQ 약 $76,191.80 위의 프리미엄 구간에 위치",
        "가격은 EMA20 $77,891.69 및 EMA120 $77,706.70 아래에 있어 구조적 수용 회복 실패",
        "24시간 가격은 +0.47% 상승했지만 OI는 -1.8470% 감소하여 신규 롱 유입보다 숏커버성 반등 가능성",
        "롱 계정 비율 0.552, account_long_crowding 0.640으로 롱 포지셔닝이 아직 상대적으로 혼잡",
        "현물-선물 basis가 -0.0520%로 음수이며 선물 수요가 약한 상태",
        "상단 $77,800에 가장 강한 청산 유동성이 있어 단기 상방 스윕 후 되돌림 위험 존재"
      ],
      "reasoning": "확정 구조는 가격이 EMA20 $77,891.69, EMA120 $77,706.70 아래에 머물고 있으며 EMA240 $84,807.10 대비 -9.1% 낮아 bearish로 판단한다. 단기 반등에도 OI가 24시간 -1.8470% 감소해 신규 매수 주도 상승이 아니라 포지션 언와인딩 또는 숏커버 성격이 강하다. CVD divergence 0.700과 aggregate_score 0.390, bear_signals 3개는 참여 강도 대비 가격 회복이 약하다는 신호이며, basis -0.0520%도 파생 수요 부진을 지지한다. 다만 $77,800이 가장 강한 상단 청산 레벨이고 $78,200, $78,900에도 유동성이 있어, 하락 전 상단 유동성 스윕 가능성은 열려 있다.",
      "key_levels": {
        "support": [
          76600,
          75900,
          74203.6,
          69300
        ],
        "resistance": [
          77800,
          78180,
          78200,
          78900
        ]
      },
      "time_horizon": "단기, 파생 포지셔닝 선행성을 감안하면 향후 4~8시간에서 1~2일",
      "invalidation_level": "$78,900 상방에서 명확히 수용되면 bearish setup은 무효화",
      "risk_scenario": "반대 시나리오는 $77,800 청산 레벨을 흡수한 뒤 $78,200과 $78,900까지 연속적으로 상단 유동성을 회수하는 움직임이다. 이 경우 OI가 재상승하고 basis가 0% 이상으로 회복되면 숏커버가 신규 롱 유입으로 전환되며 $78,900 위 구조 회복을 시도할 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.7,
        "cvd_change": 3451.456,
        "oi_trend": 0.315,
        "oi_change_pct_24h": -1.847,
        "oi_latest": 102944.406,
        "funding_pressure": 0.449,
        "funding_avg": 5.117e-05,
        "funding_change_24h": 4.507e-05,
        "long_account_ratio": 0.577,
        "short_account_ratio": 0.423,
        "long_account_latest": 0.552,
        "short_account_latest": 0.448,
        "long_account_change_24h": -0.0491,
        "short_account_change_24h": 0.0491,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 0.64,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.487,
        "spot_futures_basis_pct": -0.052,
        "basis_change_lookback": -0.0019,
        "aggregate_score": 0.39,
        "bull_signals": 1,
        "bear_signals": 3,
        "liq_below": [
          [
            76600,
            99989.3331712
          ],
          [
            75900,
            89487.28143135
          ],
          [
            69300,
            74693.16745575001
          ]
        ],
        "liq_above": [
          [
            77800,
            107754.26250525
          ],
          [
            78200,
            69917.74759635
          ],
          [
            78900,
            90863.7922295
          ]
        ],
        "strongest_liq_level": 77800,
        "fragility_score": 0.726,
        "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    \"현재가 $77,072.80는 7일 레인지 EQ 약 $76,191.80 위의 프리미엄 구간에 위치\",\n    \"가격은 EMA20 $77,891.69 및 EMA120 $77,706.70 아래에 있어 구조적 수용 회복 실패\",\n    \"24시간 가격은 +0.47% 상승했지만 OI는 -1.8470% 감소하여 신규 롱 유입보다 숏커버성 반등 가능성\",\n    \"롱 계정 비율 0.552, account_long_crowding 0.640으로 롱 포지셔닝이 아직 상대적으로 혼잡\",\n    \"현물-선물 basis가 -0.0520%로 음수이며 선물 수요가 약한 상태\",\n    \"상단 $77,800에 가장 강한 청산 유동성이 있어 단기 상방 스윕 후 되돌림 위험 존재\"\n  ],\n  \"reasoning\": \"확정 구조는 가격이 EMA20 $77,891.69, EMA120 $77,706.70 아래에 머물고 있으며 EMA240 $84,807.10 대비 -9.1% 낮아 bearish로 판단한다. 단기 반등에도 OI가 24시간 -1.8470% 감소해 신규 매수 주도 상승이 아니라 포지션 언와인딩 또는 숏커버 성격이 강하다. CVD divergence 0.700과 aggregate_score 0.390, bear_signals 3개는 참여 강도 대비 가격 회복이 약하다는 신호이며, basis -0.0520%도 파생 수요 부진을 지지한다. 다만 $77,800이 가장 강한 상단 청산 레벨이고 $78,200, $78,900에도 유동성이 있어, 하락 전 상단 유동성 스윕 가능성은 열려 있다.\",\n  \"key_levels\": {\n    \"support\": [\n      76600,\n      75900,\n      74203.6,\n      69300\n    ],\n    \"resistance\": [\n      77800,\n      78180,\n      78200,\n      78900\n    ]\n  },\n  \"time_horizon\": \"단기, 파생 포지셔닝 선행성을 감안하면 향후 4~8시간에서 1~2일\",\n  \"invalidation_level\": \"$78,900 상방에서 명확히 수용되면 bearish setup은 무효화\",\n  \"risk_scenario\": \"반대 시나리오는 $77,800 청산 레벨을 흡수한 뒤 $78,200과 $78,900까지 연속적으로 상단 유동성을 회수하는 움직임이다. 이 경우 OI가 재상승하고 basis가 0% 이상으로 회복되면 숏커버가 신규 롱 유입으로 전환되며 $78,900 위 구조 회복을 시도할 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bullish",
      "confidence": 0.6712,
      "structure_bias": "bullish",
      "setup_bias": "neutral",
      "setup_score": 0.0,
      "setup_signals": [],
      "reasoning": "Fibonacci analysis on Low→High: $74,868 → $82,829. Current price $77,072.80 is near ret_0.786 level at $76,571.59 (0.7% away). Direction: uptrend retracement. Found 1 confluence zones, 0 with 3+ levels. Golden ratio (0.618): $77,908.99.",
      "key_levels": {},
      "time_horizon": "medium",
      "invalidation_level": null,
      "risk_scenario": "",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "Low→High: $74,868 → $82,829",
        "direction": "up",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 76571.59,
        "nearest_fib_distance": 0.65,
        "golden_ratio_level": 77908.99,
        "fib_ret_382": 79787.71,
        "fib_ret_618": 77908.99,
        "confluence_zones": [
          {
            "price": 85081.03,
            "count": 2,
            "levels": [
              "ext_1.272",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          76571.5898
        ],
        "resistance_levels": [
          77908.9874,
          78848.35,
          79787.7126
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 80949.97,
            "distance_pct": 5.03,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 79787.71,
            "distance_pct": 3.52,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.5",
            "price": 78848.35,
            "distance_pct": 2.3,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.618",
            "price": 77908.99,
            "distance_pct": 1.08,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.786",
            "price": 76571.59,
            "distance_pct": 0.65,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 82828.7,
            "distance_pct": 7.47,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 84994.01,
            "distance_pct": 10.28,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 86124.43,
            "distance_pct": 11.74,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.618",
            "price": 87748.41,
            "distance_pct": 13.85,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 90789.4,
            "distance_pct": 17.8,
            "is_support": false,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "approaching",
        "reaction_probability": 0.45
      },
      "raw_llm_response": ""
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bearish",
      "confidence": 0.6635,
      "structure_bias": "bearish",
      "setup_bias": "neutral",
      "setup_score": 0.0,
      "setup_signals": [],
      "reasoning": "Candlestick analysis detected 3 recent patterns: bearish_engulfing, evening_star, doji. Bullish score: 0.00, Bearish score: 1.55. Most recent pattern: doji (neutral).",
      "key_levels": {},
      "time_horizon": "medium",
      "invalidation_level": null,
      "risk_scenario": "",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 135,
        "recent_patterns": 3,
        "pattern_list": [
          "bearish_engulfing@297",
          "evening_star@297",
          "doji@296"
        ],
        "atr_value": 2027.1,
        "vol_avg_20": 120851.55,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "evening_star",
            "signal": "bearish",
            "pattern_quality": 0.453,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.428,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.453,
        "bull_score": 0,
        "bear_score": 1.55
      },
      "raw_llm_response": ""
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bullish",
    "overall_confidence": 0.61,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.56,
      "active_setups": [
        "현재가 $77,072.80가 Wyckoff 주 레인지 저점/SC $80,600.00 및 SOS $82,828.70 아래에 있어 Phase D 강세 재수용이 아직 미확인",
        "가격이 EMA20 $77,891.69 및 EMA120 $77,706.70 아래에 머물며 단기 수용 회복 실패",
        "24시간 가격은 +0.47% 반등했으나 OI는 -1.8470% 감소하여 신규 매수 주도보다 숏커버성 반등 가능성",
        "상단 $77,800-$78,200에 파생 청산 유동성, ICT 전일 고점 $77,427.00, Fib 0.618 $77,908.99, Harmonic bearish PRZ $77,355.12-$78,703.80가 겹치는 저항대",
        "하단 $74,594.52-$75,813.87에 고품질 bullish Gartley PRZ와 ICT BOS 기준 $75,998.90, Wyckoff TERMINAL_SPRING $74,868.00가 겹치는 방어 관찰 구간"
      ],
      "setup_vs_structure": "상위 구조는 축적 우위의 bullish이나, 실행 셋업은 단기적으로 bearish 쪽으로 기울어져 있다. 이는 구조적 강세가 무효화되었다는 뜻이 아니라, $80,600.00 재수용 전까지는 LPS/BU 성격의 하단 테스트와 상단 유동성 소진 리스크가 공존한다는 의미다."
    },
    "signal_breakdown": {
      "bullish_count": 3,
      "bearish_count": 2,
      "neutral_count": 1
    },
    "key_levels": {
      "support": [
        76571.59,
        75998.9,
        75813.87,
        75204.19,
        74868.0,
        74203.6,
        65595.7
      ],
      "resistance": [
        77427.0,
        77800.0,
        77908.99,
        78180.0,
        80600.0,
        82828.7,
        86840.0,
        93080.0
      ]
    },
    "confluences": [
      "Wyckoff와 Fibonacci가 모두 $74,868.00 → $82,828.70 구간을 핵심 상승 스윙으로 해석한다. Fib 기준 현재가는 0.786 되돌림 $76,571.59 부근이며, 이는 상승 스윙의 깊은 되돌림 영역이다.",
      "ICT의 최근 bullish BOS 기준 $75,998.90, Harmonic bullish Gartley PRZ $74,594.52-$75,813.87, Wyckoff TERMINAL_SPRING $74,868.00가 $74.6k-$76.0k 방어 구간으로 중첩된다.",
      "Derivatives의 강한 상단 청산 레벨 $77,800, Fib 0.618 $77,908.99, EMA20 $77,891.69, ICT 전일 고점 $77,427.00, Harmonic bearish Shark PRZ $77,355.12-$78,703.80가 $77.4k-$78.2k 저항 클러스터를 형성한다.",
      "ICT의 7일 고점 $78,180.00, Harmonic 완료 bearish Shark/Butterfly의 D 가격 $78,180.00, Derivatives 저항 $78,200이 거의 동일한 구간에 위치한다.",
      "Wyckoff의 SC/레인지 저점 $80,600.00과 Harmonic bearish Crab 관찰 PRZ $79,480.99-$81,461.73가 $80k-$81.5k 부근의 상위 재수용/저항 확인 구간으로 겹친다."
    ],
    "conflicts": [
      "Wyckoff는 확정 축적 구조와 Phase D 맥락으로 구조를 bullish로 보지만, 현재가가 $80,600.00 및 SOS $82,828.70 아래에 있어 실행 셋업은 bearish로 분리한다.",
      "ICT는 $75,998.90 상향 BOS를 근거로 구조와 셋업을 bullish로 보지만, Derivatives는 EMA20 $77,891.69 및 EMA120 $77,706.70 아래 체류, OI -1.8470%, basis -0.0520%를 근거로 bearish 구조/셋업을 제시한다.",
      "Harmonic은 하단 $74,594.52-$75,813.87 bullish Gartley PRZ를 제시하지만, 동시에 $77,355.12-$78,703.80 및 $78,130-$79,653 부근에는 이미 반응이 확인된 bearish PRZ가 존재해 단기 저항 리스크를 높인다.",
      "Fibonacci는 $74,868.00 → $82,828.70 상승 스윙의 되돌림 구조를 bullish로 해석하지만, Candlestick은 최근 bearish engulfing, evening star, doji 조합으로 단기 캔들 구조를 bearish로 평가한다."
    ],
    "executive_summary": "현재 BTC/USDT 일봉 구조는 Wyckoff 기준 확정 축적 국면의 Phase D로 해석되며, SC $80,600.00, Spring $65,595.70, TERMINAL_SPRING $74,868.00, SOS $82,828.70의 이벤트 체인이 상위 구조를 bullish로 지지한다. 다만 현재가 $77,072.80는 SOS $82,828.70 및 주 레인지 저점 $80,600.00 아래에 있어, Phase D 상승 확정이라기보다 TERMINAL_SPRING 이후 LPS/BU 방어 여부를 검증하는 위치다. $74,594.52-$75,813.87는 Harmonic bullish Gartley PRZ, ICT BOS $75,998.90, Wyckoff $74,868.00가 겹치는 핵심 구조 방어 구간이며, $77,400-$78,200은 Fib, EMA, 파생 청산, Harmonic bearish PRZ가 겹치는 단기 저항 클러스터다. 구조적 무효화는 $65,595.70 하향 이탈이며, $74,868.00 이탈은 축적 Phase D의 질적 약화 신호로 관리해야 한다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bullish\",\n  \"overall_confidence\": 0.61,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.56,\n    \"active_setups\": [\n      \"현재가 $77,072.80가 Wyckoff 주 레인지 저점/SC $80,600.00 및 SOS $82,828.70 아래에 있어 Phase D 강세 재수용이 아직 미확인\",\n      \"가격이 EMA20 $77,891.69 및 EMA120 $77,706.70 아래에 머물며 단기 수용 회복 실패\",\n      \"24시간 가격은 +0.47% 반등했으나 OI는 -1.8470% 감소하여 신규 매수 주도보다 숏커버성 반등 가능성\",\n      \"상단 $77,800-$78,200에 파생 청산 유동성, ICT 전일 고점 $77,427.00, Fib 0.618 $77,908.99, Harmonic bearish PRZ $77,355.12-$78,703.80가 겹치는 저항대\",\n      \"하단 $74,594.52-$75,813.87에 고품질 bullish Gartley PRZ와 ICT BOS 기준 $75,998.90, Wyckoff TERMINAL_SPRING $74,868.00가 겹치는 방어 관찰 구간\"\n    ],\n    \"setup_vs_structure\": \"상위 구조는 축적 우위의 bullish이나, 실행 셋업은 단기적으로 bearish 쪽으로 기울어져 있다. 이는 구조적 강세가 무효화되었다는 뜻이 아니라, $80,600.00 재수용 전까지는 LPS/BU 성격의 하단 테스트와 상단 유동성 소진 리스크가 공존한다는 의미다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 3,\n    \"bearish_count\": 2,\n    \"neutral_count\": 1\n  },\n  \"key_levels\": {\n    \"support\": [\n      76571.59,\n      75998.9,\n      75813.87,\n      75204.19,\n      74868.0,\n      74203.6,\n      65595.7\n    ],\n    \"resistance\": [\n      77427.0,\n      77800.0,\n      77908.99,\n      78180.0,\n      80600.0,\n      82828.7,\n      86840.0,\n      93080.0\n    ]\n  },\n  \"confluences\": [\n    \"Wyckoff와 Fibonacci가 모두 $74,868.00 → $82,828.70 구간을 핵심 상승 스윙으로 해석한다. Fib 기준 현재가는 0.786 되돌림 $76,571.59 부근이며, 이는 상승 스윙의 깊은 되돌림 영역이다.\",\n    \"ICT의 최근 bullish BOS 기준 $75,998.90, Harmonic bullish Gartley PRZ $74,594.52-$75,813.87, Wyckoff TERMINAL_SPRING $74,868.00가 $74.6k-$76.0k 방어 구간으로 중첩된다.\",\n    \"Derivatives의 강한 상단 청산 레벨 $77,800, Fib 0.618 $77,908.99, EMA20 $77,891.69, ICT 전일 고점 $77,427.00, Harmonic bearish Shark PRZ $77,355.12-$78,703.80가 $77.4k-$78.2k 저항 클러스터를 형성한다.\",\n    \"ICT의 7일 고점 $78,180.00, Harmonic 완료 bearish Shark/Butterfly의 D 가격 $78,180.00, Derivatives 저항 $78,200이 거의 동일한 구간에 위치한다.\",\n    \"Wyckoff의 SC/레인지 저점 $80,600.00과 Harmonic bearish Crab 관찰 PRZ $79,480.99-$81,461.73가 $80k-$81.5k 부근의 상위 재수용/저항 확인 구간으로 겹친다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 확정 축적 구조와 Phase D 맥락으로 구조를 bullish로 보지만, 현재가가 $80,600.00 및 SOS $82,828.70 아래에 있어 실행 셋업은 bearish로 분리한다.\",\n    \"ICT는 $75,998.90 상향 BOS를 근거로 구조와 셋업을 bullish로 보지만, Derivatives는 EMA20 $77,891.69 및 EMA120 $77,706.70 아래 체류, OI -1.8470%, basis -0.0520%를 근거로 bearish 구조/셋업을 제시한다.\",\n    \"Harmonic은 하단 $74,594.52-$75,813.87 bullish Gartley PRZ를 제시하지만, 동시에 $77,355.12-$78,703.80 및 $78,130-$79,653 부근에는 이미 반응이 확인된 bearish PRZ가 존재해 단기 저항 리스크를 높인다.\",\n    \"Fibonacci는 $74,868.00 → $82,828.70 상승 스윙의 되돌림 구조를 bullish로 해석하지만, Candlestick은 최근 bearish engulfing, evening star, doji 조합으로 단기 캔들 구조를 bearish로 평가한다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — SC $80,600.00 → AR $93,080.00 → ST $84,408.60 → Spring $65,595.70 → TERMINAL_SPRING $74,868.00 → SOS $82,828.70의 구체적 이벤트 체인이 확인되어 있으며, 축적 구조 점수와 적합도가 가장 높다. 동시에 현재가가 $80,600.00 아래라는 실행 리스크를 분리해 설명하므로 구조 판단과 단기 조건 구분이 가장 명확하다.\",\n  \"invalidation_level\": \"일봉 종가 기준 $65,595.70 하향 이탈 시 확정 축적 구조의 Spring 기반 bullish 구조 해석은 무효화된다. 그 전 단계로 $74,868.00 이탈은 Phase D 진행 약화 및 LPS/BU 실패 경고로 본다.\",\n  \"executive_summary\": \"현재 BTC/USDT 일봉 구조는 Wyckoff 기준 확정 축적 국면의 Phase D로 해석되며, SC $80,600.00, Spring $65,595.70, TERMINAL_SPRING $74,868.00, SOS $82,828.70의 이벤트 체인이 상위 구조를 bullish로 지지한다. 다만 현재가 $77,072.80는 SOS $82,828.70 및 주 레인지 저점 $80,600.00 아래에 있어, Phase D 상승 확정이라기보다 TERMINAL_SPRING 이후 LPS/BU 방어 여부를 검증하는 위치다. $74,594.52-$75,813.87는 Harmonic bullish Gartley PRZ, ICT BOS $75,998.90, Wyckoff $74,868.00가 겹치는 핵심 구조 방어 구간이며, $77,400-$78,200은 Fib, EMA, 파생 청산, Harmonic bearish PRZ가 겹치는 단기 저항 클러스터다. 구조적 무효화는 $65,595.70 하향 이탈이며, $74,868.00 이탈은 축적 Phase D의 질적 약화 신호로 관리해야 한다.\"\n}"
  },
  "overall_signal": "bullish",
  "overall_confidence": 0.61,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.58,
    "waypoints": [
      {
        "seq": 1,
        "price": 75998.9,
        "type": "support_test",
        "source": "ICT BOS $75,998.90, Harmonic Gartley PRZ 상단 $75,813.87, Fib 되돌림 영역",
        "description": "Setup bias가 bearish(56%)이고 가격이 EMA20 $77,891.69 및 EMA120 $77,706.70 아래에 머물며, 최근 bearish engulfing/evening star/doji 캔들 조합이 단기 약세를 지지한다. OI -1.8470%의 숏커버성 반등 이후 ICT의 마지막 bullish BOS 레벨 $75,998.90을 1차로 재테스트하는 흐름이 가장 자연스럽다.",
        "est_hours": 8.0,
        "turning_zone": [
          75400.0,
          75998.9
        ],
        "likely_wick": 75813.87,
        "rejection_confirm": 76300.0,
        "invalid_overshoot": 75350.0,
        "calibration_reasoning": "Chairman support $75,813.87이 base_target 바로 아래에 위치하여 1차 wick 자석 역할을 하며, ATR의 약 0.30배($600) 폭으로 zone을 설정해 BOS 레벨 직하 sweep 여지를 확보. invalid_overshoot $75,350은 waypoint 2 영역 진입을 의미."
      },
      {
        "seq": 2,
        "price": 75204.19,
        "type": "liquidity_sweep",
        "source": "Harmonic bullish Gartley D 기준가, Wyckoff TERMINAL_SPRING $74,868.00 상단, ICT discount 영역",
        "description": "1차 지지가 약하게 깨질 경우 Harmonic 고품질 Gartley D 예상가 $75,204.19까지 깊은 되돌림을 통해 PRZ($74,594.52-$75,813.87) 내 유동성을 sweep하는 시나리오. 이 구간은 Wyckoff TERMINAL_SPRING $74,868.00 직상으로 LPS/BU 성격의 구조 방어가 발동될 핵심 위치다.",
        "est_hours": 14.0,
        "turning_zone": [
          74594.52,
          75204.19
        ],
        "likely_wick": 74868.0,
        "rejection_confirm": 75600.0,
        "invalid_overshoot": 74400.0,
        "calibration_reasoning": "Harmonic Gartley PRZ 하단 $74,594.52를 zone 하한으로 채택(폭 $610, 0.30 ATR)하고, Wyckoff TERMINAL_SPRING $74,868(round 자석)에 likely_wick을 배치. PRZ는 PRE_CONFIRMATION 상태이므로 waypoint를 이동시키지 않고 reaction zone으로만 활용. $74,400 이탈 시 Gartley 무효화."
      },
      {
        "seq": 3,
        "price": 77427.0,
        "type": "resistance_test",
        "source": "ICT 전일 고점 $77,427.00, EMA20 $77,891.69 직하, Harmonic bearish PRZ $77,355.12-$78,703.80 하단",
        "description": "Gartley PRZ에서 방어가 확인되면 상위 구조의 축적 Phase D 맥락이 재활성화되어 ICT 전일 고점 $77,427.00 및 EMA20 $77,891.69 부근의 1차 저항 클러스터까지 되돌림 매수성 반등이 예상된다. 이 구간 돌파 실패 시 다시 박스권 재검증 가능성.",
        "est_hours": 22.0,
        "turning_zone": [
          77427.0,
          78500.0
        ],
        "likely_wick": 77908.99,
        "rejection_confirm": 76900.0,
        "invalid_overshoot": 78800.0,
        "calibration_reasoning": "Terminal waypoint이므로 0.53 ATR($1,073) 폭으로 확장하여 Chairman $77,800·$78,180 클러스터까지 포함. likely_wick은 Fib 0.618 $77,908.99 + EMA20 $77,891.69 confluence에 배치. $78,800 상회 시 저항 클러스터 돌파로 박스 상단 시나리오로 전환."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 77280.0,
        "expected_low": 76400.0,
        "high_first": false
      },
      "8h": {
        "expected_high": 77400.0,
        "expected_low": 75900.0,
        "high_first": false
      },
      "24h": {
        "expected_high": 77600.0,
        "expected_low": 75204.19,
        "high_first": false
      }
    },
    "triggers": {
      "bullish": {
        "price": 77908.99,
        "description": "Fib 0.618 $77,908.99 및 EMA20 $77,891.69 동시 상향 수용 + 캔들 마감 시 단기 셋업 bearish 무효화. 이후 $78,180.00 7일 고점 돌파로 가속, 상위 SOS $82,828.70 재도전 경로 활성화."
      },
      "bearish": {
        "price": 75998.9,
        "description": "ICT bullish BOS 기준 $75,998.90 일봉/4h 종가 이탈 시 단기 구조 약화 확정. $75,204.19 Gartley D까지 매도 압력 확장, $74,868.00 Wyckoff TERMINAL_SPRING 방어 여부가 다음 결정 포인트."
      }
    },
    "scenario_invalidation": 74868.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.58,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 75998.90,\n      \"type\": \"support_test\",\n      \"source\": \"ICT BOS $75,998.90, Harmonic Gartley PRZ 상단 $75,813.87, Fib 되돌림 영역\",\n      \"description\": \"Setup bias가 bearish(56%)이고 가격이 EMA20 $77,891.69 및 EMA120 $77,706.70 아래에 머물며, 최근 bearish engulfing/evening star/doji 캔들 조합이 단기 약세를 지지한다. OI -1.8470%의 숏커버성 반등 이후 ICT의 마지막 bullish BOS 레벨 $75,998.90을 1차로 재테스트하는 흐름이 가장 자연스럽다.\",\n      \"est_hours\": 8.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 75204.19,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Harmonic bullish Gartley D 기준가, Wyckoff TERMINAL_SPRING $74,868.00 상단, ICT discount 영역\",\n      \"description\": \"1차 지지가 약하게 깨질 경우 Harmonic 고품질 Gartley D 예상가 $75,204.19까지 깊은 되돌림을 통해 PRZ($74,594.52-$75,813.87) 내 유동성을 sweep하는 시나리오. 이 구간은 Wyckoff TERMINAL_SPRING $74,868.00 직상으로 LPS/BU 성격의 구조 방어가 발동될 핵심 위치다.\",\n      \"est_hours\": 14.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 77427.00,\n      \"type\": \"resistance_test\",\n      \"source\": \"ICT 전일 고점 $77,427.00, EMA20 $77,891.69 직하, Harmonic bearish PRZ $77,355.12-$78,703.80 하단\",\n      \"description\": \"Gartley PRZ에서 방어가 확인되면 상위 구조의 축적 Phase D 맥락이 재활성화되어 ICT 전일 고점 $77,427.00 및 EMA20 $77,891.69 부근의 1차 저항 클러스터까지 되돌림 매수성 반등이 예상된다. 이 구간 돌파 실패 시 다시 박스권 재검증 가능성.\",\n      \"est_hours\": 22.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\": {\"expected_high\": 77280.00, \"expected_low\": 76400.00, \"high_first\": false},\n    \"8h\": {\"expected_high\": 77400.00, \"expected_low\": 75900.00, \"high_first\": false},\n    \"24h\": {\"expected_high\": 77600.00, \"expected_low\": 75204.19, \"high_first\": false}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 77908.99, \"description\": \"Fib 0.618 $77,908.99 및 EMA20 $77,891.69 동시 상향 수용 + 캔들 마감 시 단기 셋업 bearish 무효화. 이후 $78,180.00 7일 고점 돌파로 가속, 상위 SOS $82,828.70 재도전 경로 활성화.\"},\n    \"bearish\": {\"price\": 75998.90, \"description\": \"ICT bullish BOS 기준 $75,998.90 일봉/4h 종가 이탈 시 단기 구조 약화 확정. $75,204.19 Gartley D까지 매도 압력 확장, $74,868.00 Wyckoff TERMINAL_SPRING 방어 여부가 다음 결정 포인트.\"}\n  },\n  \"scenario_invalidation\": 74868.00\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 75998.9,
        "turning_zone": [
          75400.0,
          75998.9
        ],
        "likely_wick": 75813.87,
        "rejection_confirm": 76300.0,
        "invalid_overshoot": 75350.0,
        "calibration_reasoning": "Chairman support $75,813.87이 base_target 바로 아래에 위치하여 1차 wick 자석 역할을 하며, ATR의 약 0.30배($600) 폭으로 zone을 설정해 BOS 레벨 직하 sweep 여지를 확보. invalid_overshoot $75,350은 waypoint 2 영역 진입을 의미."
      },
      {
        "seq": 2,
        "base_target": 75204.19,
        "turning_zone": [
          74594.52,
          75204.19
        ],
        "likely_wick": 74868.0,
        "rejection_confirm": 75600.0,
        "invalid_overshoot": 74400.0,
        "calibration_reasoning": "Harmonic Gartley PRZ 하단 $74,594.52를 zone 하한으로 채택(폭 $610, 0.30 ATR)하고, Wyckoff TERMINAL_SPRING $74,868(round 자석)에 likely_wick을 배치. PRZ는 PRE_CONFIRMATION 상태이므로 waypoint를 이동시키지 않고 reaction zone으로만 활용. $74,400 이탈 시 Gartley 무효화."
      },
      {
        "seq": 3,
        "base_target": 77427.0,
        "turning_zone": [
          77427.0,
          78500.0
        ],
        "likely_wick": 77908.99,
        "rejection_confirm": 76900.0,
        "invalid_overshoot": 78800.0,
        "calibration_reasoning": "Terminal waypoint이므로 0.53 ATR($1,073) 폭으로 확장하여 Chairman $77,800·$78,180 클러스터까지 포함. likely_wick은 Fib 0.618 $77,908.99 + EMA20 $77,891.69 confluence에 배치. $78,800 상회 시 저항 클러스터 돌파로 박스 상단 시나리오로 전환."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 75998.90,\n      \"turning_zone\": [75400.00, 75998.90],\n      \"likely_wick\": 75813.87,\n      \"rejection_confirm\": 76300.00,\n      \"invalid_overshoot\": 75350.00,\n      \"calibration_reasoning\": \"Chairman support $75,813.87이 base_target 바로 아래에 위치하여 1차 wick 자석 역할을 하며, ATR의 약 0.30배($600) 폭으로 zone을 설정해 BOS 레벨 직하 sweep 여지를 확보. invalid_overshoot $75,350은 waypoint 2 영역 진입을 의미.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 75204.19,\n      \"turning_zone\": [74594.52, 75204.19],\n      \"likely_wick\": 74868.00,\n      \"rejection_confirm\": 75600.00,\n      \"invalid_overshoot\": 74400.00,\n      \"calibration_reasoning\": \"Harmonic Gartley PRZ 하단 $74,594.52를 zone 하한으로 채택(폭 $610, 0.30 ATR)하고, Wyckoff TERMINAL_SPRING $74,868(round 자석)에 likely_wick을 배치. PRZ는 PRE_CONFIRMATION 상태이므로 waypoint를 이동시키지 않고 reaction zone으로만 활용. $74,400 이탈 시 Gartley 무효화.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 77427.00,\n      \"turning_zone\": [77427.00, 78500.00],\n      \"likely_wick\": 77908.99,\n      \"rejection_confirm\": 76900.00,\n      \"invalid_overshoot\": 78800.00,\n      \"calibration_reasoning\": \"Terminal waypoint이므로 0.53 ATR($1,073) 폭으로 확장하여 Chairman $77,800·$78,180 클러스터까지 포함. likely_wick은 Fib 0.618 $77,908.99 + EMA20 $77,891.69 confluence에 배치. $78,800 상회 시 저항 클러스터 돌파로 박스 상단 시나리오로 전환.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 121.7,
      "chairman": 41.3,
      "operating_path": 58.6,
      "tp_calibrator": 47.0
    },
    "agents": {},
    "total_s": 268.6
  }
}