{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-05-29 21:00 KST",
  "last_price": 73447.5,
  "num_candles": 300,
  "stage1_analyses": {
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bullish",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.66,
      "setup_signals": [
        "현재가 $73,447.50이 ret_0.786 $73,447.23을 정확히 테스트 중이며, nearest_fib_distance가 0.000으로 즉각 반응 구간에 위치",
        "스윙 Low $73,333 → High $73,867 기준 EQ ret_0.5 $73,599.90 아래에 있어 단기 할인 구간에서 반등 셋업 형성",
        "0.618 골든레벨 $73,536.91이 바로 위 저항이자 1차 회복 확인선으로 작동",
        "confluence zone $73,597.55에 ret_0.786, ret_0.618, ret_0.5, ret_0.382, ret_0.236이 밀집되어 cluster_score 1.0의 강한 단기 자석 구간 형성",
        "fib_reaction_state가 testing이고 reaction_probability가 0.65로, 구조 전환 전 반등 시도 확률이 우세"
      ],
      "reasoning": "현재 BTC는 스윙 Low $73,333에서 High $73,867까지의 상승파에 대해 깊은 되돌림인 ret_0.786 $73,447.23을 거의 정확히 테스트하고 있으며, 현재가 $73,447.50과의 차이가 사실상 0에 가깝습니다. 다만 구조적으로는 $73,867 상단 돌파나 $73,333 하단 이탈 같은 확정 BOS/CHoCH가 제시되지 않았기 때문에 structure_bias는 neutral로 판단합니다. 셋업 관점에서는 가격이 EQ ret_0.5 $73,599.90 아래의 할인 구간에 있고, 0.786 지지 반응 후보와 0.618 골든레벨 $73,536.91 회복 가능성이 있어 setup_bias는 bullish입니다. 단기 반등이 유효하려면 $73,536.91 및 $73,599.90 회복이 필요하며, 이후 $73,662.89와 스윙 고점/확장 시작부 $73,866.80이 다음 저항입니다.",
      "key_levels": {
        "support": [
          73447.23,
          73333.0,
          72556.0
        ],
        "resistance": [
          73536.91,
          73599.9,
          73662.89,
          73866.8,
          74011.99,
          74087.79,
          74196.69,
          74400.6
        ]
      },
      "time_horizon": "단기",
      "invalidation_level": "$73,333.00",
      "risk_scenario": "반대로 ret_0.786 $73,447.23 지지가 무너지고 특히 스윙 저점 $73,333.00 아래로 종가 수용이 발생하면 현재의 할인 구간 반등 셋업은 실패합니다. 이 경우 구조는 bearish로 기울 수 있으며, 7일 저점 $72,556.00 방향으로 유동성 재탐색이 진행될 위험이 커집니다.",
      "data_quality": "high",
      "metrics": {
        "swing_pair": "Low→High: $73,333 → $73,867",
        "direction": "up",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 73447.23,
        "nearest_fib_distance": 0.0,
        "golden_ratio_level": 73536.91,
        "fib_ret_382": 73662.89,
        "fib_ret_618": 73536.91,
        "confluence_zones": [
          {
            "price": 73597.55,
            "count": 5,
            "levels": [
              "ret_0.786",
              "ret_0.618",
              "ret_0.5",
              "ret_0.382",
              "ret_0.236"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 74004.45,
            "count": 5,
            "levels": [
              "ret_0.236",
              "ext_1.0",
              "ext_1.272",
              "ext_1.414",
              "ext_1.618"
            ],
            "cluster_score": 1.0
          },
          {
            "price": 74598.72,
            "count": 3,
            "levels": [
              "ext_2.0",
              "ret_0.382",
              "ext_2.618"
            ],
            "cluster_score": 0.85
          }
        ],
        "support_levels": [
          73447.2332
        ],
        "resistance_levels": [
          73536.9116,
          73599.9,
          73662.8884
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 73740.82,
            "distance_pct": 0.4,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.382",
            "price": 73662.89,
            "distance_pct": 0.29,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.5",
            "price": 73599.9,
            "distance_pct": 0.21,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.618",
            "price": 73536.91,
            "distance_pct": 0.12,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ret_0.786",
            "price": 73447.23,
            "distance_pct": 0.0,
            "is_support": true,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.0",
            "price": 73866.8,
            "distance_pct": 0.57,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.272",
            "price": 74011.99,
            "distance_pct": 0.77,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.414",
            "price": 74087.79,
            "distance_pct": 0.87,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_1.618",
            "price": 74196.69,
            "distance_pct": 1.02,
            "is_support": false,
            "cluster_score": 1.0
          },
          {
            "name": "ext_2.0",
            "price": 74400.6,
            "distance_pct": 1.3,
            "is_support": false,
            "cluster_score": 0.85
          }
        ],
        "confluence_quality": 1.0,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.66,\n  \"setup_signals\": [\n    \"현재가 $73,447.50이 ret_0.786 $73,447.23을 정확히 테스트 중이며, nearest_fib_distance가 0.000으로 즉각 반응 구간에 위치\",\n    \"스윙 Low $73,333 → High $73,867 기준 EQ ret_0.5 $73,599.90 아래에 있어 단기 할인 구간에서 반등 셋업 형성\",\n    \"0.618 골든레벨 $73,536.91이 바로 위 저항이자 1차 회복 확인선으로 작동\",\n    \"confluence zone $73,597.55에 ret_0.786, ret_0.618, ret_0.5, ret_0.382, ret_0.236이 밀집되어 cluster_score 1.0의 강한 단기 자석 구간 형성\",\n    \"fib_reaction_state가 testing이고 reaction_probability가 0.65로, 구조 전환 전 반등 시도 확률이 우세\"\n  ],\n  \"reasoning\": \"현재 BTC는 스윙 Low $73,333에서 High $73,867까지의 상승파에 대해 깊은 되돌림인 ret_0.786 $73,447.23을 거의 정확히 테스트하고 있으며, 현재가 $73,447.50과의 차이가 사실상 0에 가깝습니다. 다만 구조적으로는 $73,867 상단 돌파나 $73,333 하단 이탈 같은 확정 BOS/CHoCH가 제시되지 않았기 때문에 structure_bias는 neutral로 판단합니다. 셋업 관점에서는 가격이 EQ ret_0.5 $73,599.90 아래의 할인 구간에 있고, 0.786 지지 반응 후보와 0.618 골든레벨 $73,536.91 회복 가능성이 있어 setup_bias는 bullish입니다. 단기 반등이 유효하려면 $73,536.91 및 $73,599.90 회복이 필요하며, 이후 $73,662.89와 스윙 고점/확장 시작부 $73,866.80이 다음 저항입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      73447.23,\n      73333.0,\n      72556.0\n    ],\n    \"resistance\": [\n      73536.91,\n      73599.9,\n      73662.89,\n      73866.8,\n      74011.99,\n      74087.79,\n      74196.69,\n      74400.6\n    ]\n  },\n  \"time_horizon\": \"단기\",\n  \"invalidation_level\": \"$73,333.00\",\n  \"risk_scenario\": \"반대로 ret_0.786 $73,447.23 지지가 무너지고 특히 스윙 저점 $73,333.00 아래로 종가 수용이 발생하면 현재의 할인 구간 반등 셋업은 실패합니다. 이 경우 구조는 bearish로 기울 수 있으며, 7일 저점 $72,556.00 방향으로 유동성 재탐색이 진행될 위험이 커집니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.48,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $73,447.50는 7일 범위 EQ $75,316.55 아래의 할인 구간에 위치",
        "7일 저점 $72,556.00 근처에서 bullish_engulfing@295 후보 발생, 패턴 품질 0.540",
        "최근 doji@299 발생으로 $73,400대에서 매도 압력 둔화 가능성 관찰, 패턴 품질 0.355",
        "다만 EMA20 $73,600.69, EMA120 $73,702.81, EMA240 $74,218.91이 모두 현재가 위에 있어 구조적 확인 전 저항 부담 존재",
        "최근 패턴 모두 high_volume=false로 거래량 확인이 부족함"
      ],
      "reasoning": "현재 BTC/USDT는 $73,447.50으로 EMA20 $73,600.69, EMA120 $73,702.81, EMA240 $74,218.91 아래에 있어 확정 구조는 아직 중립이며, 상승 전환 BOS나 CHoCH 확인은 부족합니다. 다만 가격은 7일 고점 $78,077.10과 저점 $72,556.00의 중간값인 $75,316.55 아래 할인 구간에 있고, 7일 저점에 가까운 위치에서 bullish engulfing 후보가 발생해 단기 반등 셋업은 존재합니다. 최근 doji@299는 $73,400대에서 방향성 둔화를 시사하지만 품질 0.355로 약하며, bullish engulfing 품질도 0.540에 그쳐 강한 확정 신호는 아닙니다. 거래량 확인 패턴이 없고 20봉 평균 거래량 918.02 대비 고거래량 패턴이 없으므로, 현재 신호는 강한 매수보다는 저점권 반등 대기 성격의 중립입니다.",
      "key_levels": {
        "support": [
          73447.5,
          72556.0
        ],
        "resistance": [
          73600.69,
          73702.81,
          74218.91,
          75316.55,
          78077.1
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$72,556.00",
      "risk_scenario": "$72,556.00 7일 저점을 하향 이탈하면 bullish engulfing 기반의 반등 셋업은 무효화되며, 할인 구간 반등이 아니라 하락 지속 구조로 전환될 수 있습니다. 반대로 $73,600.69와 $73,702.81을 회복하고 유지하면 단기 반등이 $74,218.91 EMA240까지 확장될 가능성이 커집니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 145,
        "recent_patterns": 2,
        "pattern_list": [
          "bullish_engulfing@295",
          "doji@299"
        ],
        "atr_value": 136.56,
        "vol_avg_20": 918.02,
        "high_volume_patterns": [],
        "pattern_candidates": [
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.54,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.54,
        "bull_score": 0.75,
        "bear_score": 0
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.48,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $73,447.50는 7일 범위 EQ $75,316.55 아래의 할인 구간에 위치\",\n    \"7일 저점 $72,556.00 근처에서 bullish_engulfing@295 후보 발생, 패턴 품질 0.540\",\n    \"최근 doji@299 발생으로 $73,400대에서 매도 압력 둔화 가능성 관찰, 패턴 품질 0.355\",\n    \"다만 EMA20 $73,600.69, EMA120 $73,702.81, EMA240 $74,218.91이 모두 현재가 위에 있어 구조적 확인 전 저항 부담 존재\",\n    \"최근 패턴 모두 high_volume=false로 거래량 확인이 부족함\"\n  ],\n  \"reasoning\": \"현재 BTC/USDT는 $73,447.50으로 EMA20 $73,600.69, EMA120 $73,702.81, EMA240 $74,218.91 아래에 있어 확정 구조는 아직 중립이며, 상승 전환 BOS나 CHoCH 확인은 부족합니다. 다만 가격은 7일 고점 $78,077.10과 저점 $72,556.00의 중간값인 $75,316.55 아래 할인 구간에 있고, 7일 저점에 가까운 위치에서 bullish engulfing 후보가 발생해 단기 반등 셋업은 존재합니다. 최근 doji@299는 $73,400대에서 방향성 둔화를 시사하지만 품질 0.355로 약하며, bullish engulfing 품질도 0.540에 그쳐 강한 확정 신호는 아닙니다. 거래량 확인 패턴이 없고 20봉 평균 거래량 918.02 대비 고거래량 패턴이 없으므로, 현재 신호는 강한 매수보다는 저점권 반등 대기 성격의 중립입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      73447.5,\n      72556.0\n    ],\n    \"resistance\": [\n      73600.69,\n      73702.81,\n      74218.91,\n      75316.55,\n      78077.1\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$72,556.00\",\n  \"risk_scenario\": \"$72,556.00 7일 저점을 하향 이탈하면 bullish engulfing 기반의 반등 셋업은 무효화되며, 할인 구간 반등이 아니라 하락 지속 구조로 전환될 수 있습니다. 반대로 $73,600.69와 $73,702.81을 회복하고 유지하면 단기 반등이 $74,218.91 EMA240까지 확장될 가능성이 커집니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.72,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.76,
      "setup_signals": [
        "가격이 메인 레인지 EQ 약 $73,326.20 위의 프리미엄 구간에 위치: 현재가 $73,447.50",
        "UTAD 후보/이벤트가 $73,709.30에서 발생한 뒤 현재가가 그 아래로 복귀",
        "현재가 $73,447.50이 BC/메인 레인지 상단 $73,485.00 아래에 있어 상단 수용 실패 상태",
        "UT $73,610.00 및 ST $73,723.00 아래에서 거래되어 상단 공급 반응이 유지됨",
        "Phase B 약세 신호인 SOW_IN_PHASE_B가 $73,158.80에서 선행 발생"
      ],
      "reasoning": "현재 메트릭상 regime은 DIS이고 dis_score 85.6, regime_fitness 0.856으로 분배 구조 우위가 확인되며, 이벤트 체인은 BC $73,485.00 → AR $73,167.40 → ST $73,723.00 → SOW_IN_PHASE_B $73,158.80 → UT $73,610.00 → UTAD $73,709.30 순서입니다. 현재가는 $73,447.50으로 메인 레인지 상단 $73,485.00 바로 아래에 머물며, UTAD 이후 상단 수용에 실패한 상태라 구조적 해석은 bearish입니다. 다만 아직 Phase E 하방 이탈이 확정된 것은 아니므로 즉각적인 붕괴보다는 $73,167.40~$73,158.80의 AR/SOW 저점 재시험 가능성이 우선입니다. $73,610.00을 회복하면 단기 약세 셋업은 약화되고, $73,723.00 위로 수용되면 현재 UTAD 기반 분배 해석은 무효화됩니다.",
      "key_levels": {
        "support": [
          73326.2,
          73167.4,
          73158.8,
          72556.0
        ],
        "resistance": [
          73485.0,
          73610.0,
          73709.3,
          73723.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$73,723.00",
      "risk_scenario": "$73,485.00 메인 레인지 상단을 회복하고 $73,610.00 위에서 유지되면 UTAD 이후 공급 우위가 약화되며, $73,709.30~$73,723.00 재시험이 열립니다. 특히 $73,723.00 위 수용이 확인되면 현재 분배 Phase C 해석은 실패하고 재축적 또는 상방 레인지 확장 시나리오로 재평가해야 합니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 79.5,
        "dis_score": 85.6,
        "regime": "DIS",
        "regime_state": "dis_candidate",
        "structure_bias": "bearish",
        "phase_context": "dis_candidate / distribution / Phase C",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "UTAD"
        ],
        "last_phase": "UTAD",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 186,
            "price": 73485.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 190,
            "price": 73167.4,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 229,
            "price": 73723.0,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 263,
            "price": 73158.8,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 272,
            "price": 73610.0,
            "color": "#f9844a"
          },
          {
            "label": "UTAD",
            "side": "high",
            "idx": 294,
            "price": 73709.3,
            "color": "#f9844a"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "distribution",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bearish",
            "phase_context": "distribution",
            "start_idx": 186,
            "end_idx": 294,
            "phase_count": 6,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 186,
                "price": 73485.0,
                "color": "#ffd166",
                "dt": "2026-05-28 16:30:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 190,
                "price": 73167.4,
                "color": "#06d6a0",
                "dt": "2026-05-28 17:30:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 229,
                "price": 73723.0,
                "color": "#118ab2",
                "dt": "2026-05-29 03:15:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 263,
                "price": 73158.8,
                "color": "#ef476f",
                "dt": "2026-05-29 11:45:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 272,
                "price": 73610.0,
                "color": "#f9844a",
                "dt": "2026-05-29 14:00:00+09:00"
              },
              {
                "label": "UTAD",
                "side": "high",
                "idx": 294,
                "price": 73709.3,
                "color": "#f9844a",
                "dt": "2026-05-29 19:30:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_1",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.8556020066889631,
        "current_event": "UTAD",
        "major_phase": "C",
        "pos_in_range": 0.5,
        "main_range_low": 73167.4,
        "main_range_high": 73485.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.72,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.76,\n  \"setup_signals\": [\n    \"가격이 메인 레인지 EQ 약 $73,326.20 위의 프리미엄 구간에 위치: 현재가 $73,447.50\",\n    \"UTAD 후보/이벤트가 $73,709.30에서 발생한 뒤 현재가가 그 아래로 복귀\",\n    \"현재가 $73,447.50이 BC/메인 레인지 상단 $73,485.00 아래에 있어 상단 수용 실패 상태\",\n    \"UT $73,610.00 및 ST $73,723.00 아래에서 거래되어 상단 공급 반응이 유지됨\",\n    \"Phase B 약세 신호인 SOW_IN_PHASE_B가 $73,158.80에서 선행 발생\"\n  ],\n  \"reasoning\": \"현재 메트릭상 regime은 DIS이고 dis_score 85.6, regime_fitness 0.856으로 분배 구조 우위가 확인되며, 이벤트 체인은 BC $73,485.00 → AR $73,167.40 → ST $73,723.00 → SOW_IN_PHASE_B $73,158.80 → UT $73,610.00 → UTAD $73,709.30 순서입니다. 현재가는 $73,447.50으로 메인 레인지 상단 $73,485.00 바로 아래에 머물며, UTAD 이후 상단 수용에 실패한 상태라 구조적 해석은 bearish입니다. 다만 아직 Phase E 하방 이탈이 확정된 것은 아니므로 즉각적인 붕괴보다는 $73,167.40~$73,158.80의 AR/SOW 저점 재시험 가능성이 우선입니다. $73,610.00을 회복하면 단기 약세 셋업은 약화되고, $73,723.00 위로 수용되면 현재 UTAD 기반 분배 해석은 무효화됩니다.\",\n  \"key_levels\": {\n    \"support\": [\n      73326.2,\n      73167.4,\n      73158.8,\n      72556.0\n    ],\n    \"resistance\": [\n      73485.0,\n      73610.0,\n      73709.3,\n      73723.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$73,723.00\",\n  \"risk_scenario\": \"$73,485.00 메인 레인지 상단을 회복하고 $73,610.00 위에서 유지되면 UTAD 이후 공급 우위가 약화되며, $73,709.30~$73,723.00 재시험이 열립니다. 특히 $73,723.00 위 수용이 확인되면 현재 분배 Phase C 해석은 실패하고 재축적 또는 상방 레인지 확장 시나리오로 재평가해야 합니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.7,
      "setup_signals": [
        "가격 $73,447.50이 EMA20 $73,600.69, EMA120 $73,702.81, EMA240 $74,218.91 아래에 위치해 단기 반등 수용 실패",
        "CVD 변화 +$2,434.60 대비 가격 24h -0.04%로 정체되어 cvd_divergence 0.850: 매수 체결이 가격 상승으로 연결되지 않는 흡수/분배 신호",
        "OI 24h 변화 점수 0.748, oi_trend 0.575로 신규 포지션 유입 중이나 가격은 7d 저점 $72,556 근처에서 압축되어 변동성 확장 위험",
        "롱 계정 비율 0.626, account_long_crowding 1.000으로 여전히 롱 포지셔닝이 붐비며, long_account_change_24h -0.0170과 short_account_change_24h +0.017로 계정 플로우는 숏 증가/롱 감소",
        "선물 basis -0.0551%로 현물 대비 선물 할인 상태이며, 하방 청산 유동성 $70,800/$70,700이 단기 자석으로 작동 가능"
      ],
      "reasoning": "확정 구조는 $72,556 7일 저점을 아직 명확히 이탈하지 않았고, $76,400~$76,700 상단 유동성도 미회수라서 구조_bias는 중립으로 본다. 다만 실행 셋업은 약세 쪽이다: 현재가 $73,447.50은 EMA20 $73,600.69와 EMA120 $73,702.81 아래에 있고, CVD가 +$2,434.60 증가했음에도 가격이 24h -0.04%로 못 오르며 cvd_divergence 0.850을 기록해 매수 흡수 가능성이 높다. OI 유입 점수 0.748과 높은 fragility_score 0.913은 방향성 돌파 시 청산 연쇄가 커질 수 있음을 뜻하며, 롱 계정 비율 0.626 및 account_long_crowding 1.000은 하방 청산을 유도하기 쉬운 포지셔닝이다. 단기적으로 $72,556 이탈 시 $70,800/$70,700 청산대가 다음 목표이며, 반대로 $74,218.91 EMA240 위로 회복·수용되면 약세 셋업은 무효화된다.",
      "key_levels": {
        "support": [
          72556,
          70800,
          70700,
          66400
        ],
        "resistance": [
          73600.69,
          73702.81,
          74218.91,
          76400,
          76700,
          78077.1
        ]
      },
      "time_horizon": "short term, 향후 4-8시간",
      "invalidation_level": "$74,218.91",
      "risk_scenario": "$74,218.91 EMA240 위로 15분봉 종가가 안착하면 CVD 흡수가 아니라 지연된 매수 반영으로 해석이 바뀌며, 숏 커버링이 $76,400-$76,700 상단 청산 유동성까지 가격을 밀어올릴 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.85,
        "cvd_change": 2434.597,
        "oi_trend": 0.575,
        "oi_change_pct_24h": 0.748,
        "oi_latest": 105391.919,
        "funding_pressure": 0.415,
        "funding_avg": 8.464e-05,
        "funding_change_24h": -4.609e-05,
        "long_account_ratio": 0.637,
        "short_account_ratio": 0.363,
        "long_account_latest": 0.626,
        "short_account_latest": 0.374,
        "long_account_change_24h": -0.017,
        "short_account_change_24h": 0.017,
        "account_flow_label": "short_accounts_rising_long_accounts_falling",
        "account_short_crowding": 0.0,
        "account_long_crowding": 1.0,
        "ls_imbalance": 0.0,
        "ls_imbalance_interpretation": "high=short-account crowding / low=long-account crowding",
        "spot_futures_basis_score": 0.486,
        "spot_futures_basis_pct": -0.0551,
        "basis_change_lookback": 0.092,
        "aggregate_score": 0.465,
        "bull_signals": 2,
        "bear_signals": 2,
        "liq_below": [
          [
            70800,
            1388.104557
          ],
          [
            70700,
            1000.397997
          ],
          [
            66400,
            1614.5162449999998
          ]
        ],
        "liq_above": [
          [
            76400,
            1021.602438
          ],
          [
            76700,
            1388.104557
          ],
          [
            80800,
            1277.0030474999999
          ]
        ],
        "strongest_liq_level": 66400,
        "fragility_score": 0.913,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.7,\n  \"setup_signals\": [\n    \"가격 $73,447.50이 EMA20 $73,600.69, EMA120 $73,702.81, EMA240 $74,218.91 아래에 위치해 단기 반등 수용 실패\",\n    \"CVD 변화 +$2,434.60 대비 가격 24h -0.04%로 정체되어 cvd_divergence 0.850: 매수 체결이 가격 상승으로 연결되지 않는 흡수/분배 신호\",\n    \"OI 24h 변화 점수 0.748, oi_trend 0.575로 신규 포지션 유입 중이나 가격은 7d 저점 $72,556 근처에서 압축되어 변동성 확장 위험\",\n    \"롱 계정 비율 0.626, account_long_crowding 1.000으로 여전히 롱 포지셔닝이 붐비며, long_account_change_24h -0.0170과 short_account_change_24h +0.017로 계정 플로우는 숏 증가/롱 감소\",\n    \"선물 basis -0.0551%로 현물 대비 선물 할인 상태이며, 하방 청산 유동성 $70,800/$70,700이 단기 자석으로 작동 가능\"\n  ],\n  \"reasoning\": \"확정 구조는 $72,556 7일 저점을 아직 명확히 이탈하지 않았고, $76,400~$76,700 상단 유동성도 미회수라서 구조_bias는 중립으로 본다. 다만 실행 셋업은 약세 쪽이다: 현재가 $73,447.50은 EMA20 $73,600.69와 EMA120 $73,702.81 아래에 있고, CVD가 +$2,434.60 증가했음에도 가격이 24h -0.04%로 못 오르며 cvd_divergence 0.850을 기록해 매수 흡수 가능성이 높다. OI 유입 점수 0.748과 높은 fragility_score 0.913은 방향성 돌파 시 청산 연쇄가 커질 수 있음을 뜻하며, 롱 계정 비율 0.626 및 account_long_crowding 1.000은 하방 청산을 유도하기 쉬운 포지셔닝이다. 단기적으로 $72,556 이탈 시 $70,800/$70,700 청산대가 다음 목표이며, 반대로 $74,218.91 EMA240 위로 회복·수용되면 약세 셋업은 무효화된다.\",\n  \"key_levels\": {\n    \"support\": [\n      72556,\n      70800,\n      70700,\n      66400\n    ],\n    \"resistance\": [\n      73600.69,\n      73702.81,\n      74218.91,\n      76400,\n      76700,\n      78077.1\n    ]\n  },\n  \"time_horizon\": \"short term, 향후 4-8시간\",\n  \"invalidation_level\": \"$74,218.91\",\n  \"risk_scenario\": \"$74,218.91 EMA240 위로 15분봉 종가가 안착하면 CVD 흡수가 아니라 지연된 매수 반영으로 해석이 바뀌며, 숏 커버링이 $76,400-$76,700 상단 청산 유동성까지 가격을 밀어올릴 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.58,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.62,
      "setup_signals": [
        "완료된 bullish Gartley PRZ $73,274.48-$73,427.59에서 반응 확인: PRZ 터치/방어, AD 0.382 반응 도달, PRZ 중심 회복, D 실패구간 방어",
        "현재가 $73,447.50은 bullish Gartley PRZ 상단 $73,427.59 바로 위에 위치하여 PRZ 방어 후 초기 반등 구간",
        "forming bullish Shark 고점수 패턴 활성 PRZ $73,127.09-$73,527.03, score 0.976, XAD/BC_EXT/ABCD 3중 Fib confluence",
        "forming bullish Crab PRZ $72,882.49-$73,346.55가 하단 보조 반전 후보로 남아 있음",
        "확인된 bullish Gartley TP ladder: TP1 $73,493.12, TP2 $73,580.91, TP3 $73,723.00",
        "단기 상방에는 bearish Shark PRZ $73,497.04-$73,791.41 및 bearish Butterfly/Bat PRZ $73,708.04-$74,255.95가 있어 상승 추격에는 저항 반응 리스크 존재"
      ],
      "reasoning": "하모닉 기준으로는 $73,274.48-$73,427.59의 strict high-quality bullish Gartley가 완료되었고, reaction_score 1.0으로 PRZ 방어 및 AD 0.382 반응까지 확인되어 유효한 중간 수준의 bullish tie-breaker입니다. 현재가 $73,447.50은 해당 PRZ 상단 바로 위이며, 추가로 bullish Shark PRZ $73,127.09-$73,527.03과 bullish Crab PRZ $72,882.49-$73,346.55가 겹쳐 하방 반전 후보군의 confluence가 강합니다. 다만 하모닉 directional dominance는 0.207로 낮고, 위쪽 $73,497.04-$73,791.41 및 $73,708.04-$74,255.95에 bearish PRZ가 대기하므로 독립적인 강한 추세 전환 신호로 해석하면 안 됩니다. 확인된 상승 TP는 $73,493.12 → $73,580.91 → $73,723.00이며, 이 구간부터는 bearish PRZ와 겹치기 때문에 분할청산/반응 관찰 구간입니다.",
      "key_levels": {
        "support": [
          73427.59,
          73351.03,
          73274.48,
          73127.09,
          72882.49
        ],
        "resistance": [
          73493.12,
          73580.91,
          73723.0,
          73791.41,
          74067.24,
          74255.95
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$72,882.49",
      "risk_scenario": "반대로 가격이 $73,497.04-$73,791.41의 bearish Shark PRZ 또는 $73,708.04-$74,255.95의 bearish Butterfly/Bat PRZ에서 거부되고 $73,427.59 아래로 재진입하면 bullish Gartley 반응은 약화됩니다. 이후 $73,274.48을 이탈하면 단기 상승 셋업은 실패 경고이며, $72,882.49까지 수용되면 현재 bullish PRZ 클러스터 방어 논리가 무효화됩니다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 50,
        "completed_patterns_found": 18,
        "forming_d_prz_found": 32,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 57,
        "swing_highs_scanned": 28,
        "swing_lows_scanned": 29,
        "timeframe": "15m",
        "prz_active_threshold_pct": 0.3,
        "prz_nearby_threshold_pct": 0.6,
        "prz_watch_threshold_pct": 1.2,
        "prz_max_width_pct": 0.6,
        "quality_counts": {
          "high": 13,
          "medium": 12,
          "low": 25
        },
        "prz_status_counts": {
          "active": 18,
          "nearby": 14,
          "watch": 11,
          "far": 7,
          "forming": 7
        },
        "high_confluence_prz_count": 23,
        "strict_patterns_found": 26,
        "candidate_patterns_found": 24,
        "active_patterns_at_prz": 18,
        "nearby_patterns": 14,
        "all_patterns": [
          "shark",
          "crab",
          "gartley",
          "bat",
          "gartley",
          "gartley",
          "butterfly",
          "gartley",
          "bat",
          "butterfly",
          "shark",
          "shark",
          "crab",
          "gartley",
          "gartley",
          "butterfly",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "bat",
          "butterfly",
          "butterfly",
          "bat",
          "shark",
          "bat",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "shark",
          "crab",
          "gartley",
          "butterfly",
          "bat",
          "butterfly",
          "crab"
        ],
        "all_signals": [
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish"
        ],
        "best_pattern": "shark",
        "best_pattern_quality": "strict",
        "best_quality": "high",
        "best_pattern_score": 0.976,
        "best_completion_status": "forming",
        "nearest_pattern": "gartley",
        "nearest_prz": 73351.03,
        "price_to_prz": -0.13,
        "prz_range": [
          73274.48,
          73427.59
        ],
        "council_relevant_prz_count": 9,
        "directional_influence_prz_count": 9,
        "confirmed_reaction_prz_count": 2,
        "validated_harmonic_tp_count": 2,
        "pattern_candidates": [
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.976,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 73327.06,
            "prz_range": [
              73127.09,
              73527.03
            ],
            "prz_width_pct": 0.545,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.16,
            "price_to_prz_pct_raw": -0.164,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 73327.06,
              "a_price": 73723.0,
              "tp1_ad_382": 73478.31,
              "tp2_ad_618": 73571.75,
              "tp3_a_or_structure_liquidity": 73723.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5975,
              "ABC": 1.248
            },
            "x_price": 73221.6,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 73723.0,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 73423.4,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 73797.3,
            "c_idx": 281,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.964,
            "ratio_score": 1.0,
            "prz_score": 0.986,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 73114.52,
            "prz_range": [
              72882.49,
              73346.55
            ],
            "prz_width_pct": 0.635,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.45,
            "price_to_prz_pct_raw": -0.4534,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 73114.52,
              "a_price": 73723.0,
              "tp1_ad_382": 73346.96,
              "tp2_ad_618": 73490.56,
              "tp3_a_or_structure_liquidity": 73723.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5975,
              "ABC": 0.6459
            },
            "x_price": 73221.6,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 73723.0,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 73423.4,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 73616.9,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.936,
            "ratio_score": 0.928,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 73333.0,
            "prz_range": [
              73274.48,
              73427.59
            ],
            "prz_width_pct": 0.209,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.13,
            "price_to_prz_pct_raw": -0.1313,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.369,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 73351.03,
              "a_price": 73723.0,
              "tp1_ad_382": 73493.12,
              "tp2_ad_618": 73580.91,
              "tp3_a_or_structure_liquidity": 73723.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5975,
              "ABC": 0.6459,
              "BCD": 1.4672,
              "XAD": 0.7778
            },
            "x_price": 73221.6,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 73723.0,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 73423.4,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 73616.9,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": 283
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.935,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 74067.24,
            "prz_range": [
              73878.53,
              74255.95
            ],
            "prz_width_pct": 0.51,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.84,
            "price_to_prz_pct_raw": 0.8438,
            "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": 74067.24,
              "a_price": 73221.6,
              "tp1_ad_382": 73744.2,
              "tp2_ad_618": 73544.63,
              "tp3_a_or_structure_liquidity": 73221.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4422,
              "ABC": 0.5975
            },
            "x_price": 74355.6,
            "x_idx": 168,
            "x_order": 3,
            "a_price": 73221.6,
            "a_idx": 205,
            "a_order": 3,
            "b_price": 73723.0,
            "b_idx": 229,
            "b_order": 8,
            "c_price": 73423.4,
            "c_idx": 247,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.935,
            "ratio_score": 0.879,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 73351.03,
            "prz_range": [
              73274.48,
              73427.59
            ],
            "prz_width_pct": 0.209,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.13,
            "price_to_prz_pct_raw": -0.1313,
            "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": 73351.03,
              "a_price": 73723.0,
              "tp1_ad_382": 73493.12,
              "tp2_ad_618": 73580.91,
              "tp3_a_or_structure_liquidity": 73723.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5975,
              "ABC": 0.6459
            },
            "x_price": 73221.6,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 73723.0,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 73423.4,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 73616.9,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.934,
            "ratio_score": 0.946,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 72920.0,
            "prz_range": [
              72735.04,
              73104.96
            ],
            "prz_width_pct": 0.507,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.72,
            "price_to_prz_pct_raw": -0.7182,
            "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": 72920.0,
              "a_price": 73932.2,
              "tp1_ad_382": 73306.66,
              "tp2_ad_618": 73545.54,
              "tp3_a_or_structure_liquidity": 73932.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.609,
              "ABC": 0.8256
            },
            "x_price": 72662.2,
            "x_idx": 217,
            "x_order": 3,
            "a_price": 73932.2,
            "a_idx": 244,
            "a_order": 8,
            "b_price": 73158.8,
            "b_idx": 263,
            "b_order": 8,
            "c_price": 73797.3,
            "c_idx": 281,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.931,
            "ratio_score": 0.971,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 73906.93,
            "prz_range": [
              73708.04,
              74105.81
            ],
            "prz_width_pct": 0.538,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.63,
            "price_to_prz_pct_raw": 0.6255,
            "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": 73906.93,
              "a_price": 73212.3,
              "tp1_ad_382": 73641.58,
              "tp2_ad_618": 73477.65,
              "tp3_a_or_structure_liquidity": 73212.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7922,
              "ABC": 0.7017
            },
            "x_price": 73723.0,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 73212.3,
            "a_idx": 236,
            "a_order": 8,
            "b_price": 73616.9,
            "b_idx": 261,
            "b_order": 3,
            "c_price": 73333.0,
            "c_idx": 283,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.931,
            "ratio_score": 0.949,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 74156.3,
            "prz_range": [
              73980.43,
              74332.17
            ],
            "prz_width_pct": 0.474,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.97,
            "price_to_prz_pct_raw": 0.965,
            "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": "gartley",
              "d_price": 74156.3,
              "a_price": 73221.6,
              "tp1_ad_382": 73799.25,
              "tp2_ad_618": 73578.66,
              "tp3_a_or_structure_liquidity": 73221.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6266,
              "ABC": 0.8432
            },
            "x_price": 74355.6,
            "x_idx": 168,
            "x_order": 3,
            "a_price": 73221.6,
            "a_idx": 205,
            "a_order": 3,
            "b_price": 73932.2,
            "b_idx": 244,
            "b_order": 8,
            "c_price": 73333.0,
            "c_idx": 283,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.936,
            "ratio_score": 0.928,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 73333.0,
            "prz_range": [
              73274.48,
              73427.59
            ],
            "prz_width_pct": 0.209,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.13,
            "price_to_prz_pct_raw": -0.1313,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.369,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 73351.03,
              "a_price": 73723.0,
              "tp1_ad_382": 73493.12,
              "tp2_ad_618": 73580.91,
              "tp3_a_or_structure_liquidity": 73723.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5975,
              "ABC": 0.6459,
              "BCD": 1.4672,
              "XAD": 0.7778
            },
            "x_price": 73221.6,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 73723.0,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 73423.4,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 73616.9,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": 283
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.922,
            "ratio_score": 0.988,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 73866.8,
            "prz_range": [
              73708.04,
              74105.81
            ],
            "prz_width_pct": 0.538,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.63,
            "price_to_prz_pct_raw": 0.6255,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.858,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 10,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 73906.93,
              "a_price": 73212.3,
              "tp1_ad_382": 73641.58,
              "tp2_ad_618": 73477.65,
              "tp3_a_or_structure_liquidity": 73212.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7922,
              "ABC": 0.7017,
              "BCD": 1.8802,
              "XAD": 1.2816
            },
            "x_price": 73723.0,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 73212.3,
            "a_idx": 236,
            "a_order": 8,
            "b_price": 73616.9,
            "b_idx": 261,
            "b_order": 3,
            "c_price": 73333.0,
            "c_idx": 283,
            "c_order": 8,
            "d_idx": 289
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.976,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 73327.06,
            "prz_range": [
              73127.09,
              73527.03
            ],
            "prz_width_pct": 0.545,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.16,
            "price_to_prz_pct_raw": -0.164,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 73327.06,
              "a_price": 73723.0,
              "tp1_ad_382": 73478.31,
              "tp2_ad_618": 73571.75,
              "tp3_a_or_structure_liquidity": 73723.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5975,
              "ABC": 1.248
            },
            "x_price": 73221.6,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 73723.0,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 73423.4,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 73797.3,
            "c_idx": 281,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.964,
            "ratio_score": 1.0,
            "prz_score": 0.986,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 73114.52,
            "prz_range": [
              72882.49,
              73346.55
            ],
            "prz_width_pct": 0.635,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.45,
            "price_to_prz_pct_raw": -0.4534,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 73114.52,
              "a_price": 73723.0,
              "tp1_ad_382": 73346.96,
              "tp2_ad_618": 73490.56,
              "tp3_a_or_structure_liquidity": 73723.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5975,
              "ABC": 0.6459
            },
            "x_price": 73221.6,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 73723.0,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 73423.4,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 73616.9,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.935,
            "ratio_score": 0.879,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 73351.03,
            "prz_range": [
              73274.48,
              73427.59
            ],
            "prz_width_pct": 0.209,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.13,
            "price_to_prz_pct_raw": -0.1313,
            "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": 73351.03,
              "a_price": 73723.0,
              "tp1_ad_382": 73493.12,
              "tp2_ad_618": 73580.91,
              "tp3_a_or_structure_liquidity": 73723.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5975,
              "ABC": 0.6459
            },
            "x_price": 73221.6,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 73723.0,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 73423.4,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 73616.9,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.935,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 74067.24,
            "prz_range": [
              73878.53,
              74255.95
            ],
            "prz_width_pct": 0.51,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.84,
            "price_to_prz_pct_raw": 0.8438,
            "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": 74067.24,
              "a_price": 73221.6,
              "tp1_ad_382": 73744.2,
              "tp2_ad_618": 73544.63,
              "tp3_a_or_structure_liquidity": 73221.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4422,
              "ABC": 0.5975
            },
            "x_price": 74355.6,
            "x_idx": 168,
            "x_order": 3,
            "a_price": 73221.6,
            "a_idx": 205,
            "a_order": 3,
            "b_price": 73723.0,
            "b_idx": 229,
            "b_order": 8,
            "c_price": 73423.4,
            "c_idx": 247,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.934,
            "ratio_score": 0.946,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 72920.0,
            "prz_range": [
              72735.04,
              73104.96
            ],
            "prz_width_pct": 0.507,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.72,
            "price_to_prz_pct_raw": -0.7182,
            "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": 72920.0,
              "a_price": 73932.2,
              "tp1_ad_382": 73306.66,
              "tp2_ad_618": 73545.54,
              "tp3_a_or_structure_liquidity": 73932.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.609,
              "ABC": 0.8256
            },
            "x_price": 72662.2,
            "x_idx": 217,
            "x_order": 3,
            "a_price": 73932.2,
            "a_idx": 244,
            "a_order": 8,
            "b_price": 73158.8,
            "b_idx": 263,
            "b_order": 8,
            "c_price": 73797.3,
            "c_idx": 281,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.931,
            "ratio_score": 0.971,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 73906.93,
            "prz_range": [
              73708.04,
              74105.81
            ],
            "prz_width_pct": 0.538,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.63,
            "price_to_prz_pct_raw": 0.6255,
            "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": 73906.93,
              "a_price": 73212.3,
              "tp1_ad_382": 73641.58,
              "tp2_ad_618": 73477.65,
              "tp3_a_or_structure_liquidity": 73212.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7922,
              "ABC": 0.7017
            },
            "x_price": 73723.0,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 73212.3,
            "a_idx": 236,
            "a_order": 8,
            "b_price": 73616.9,
            "b_idx": 261,
            "b_order": 3,
            "c_price": 73333.0,
            "c_idx": 283,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.919,
            "ratio_score": 0.835,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 73644.22,
            "prz_range": [
              73497.04,
              73791.41
            ],
            "prz_width_pct": 0.4,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.27,
            "price_to_prz_pct_raw": 0.2678,
            "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": 73644.22,
              "a_price": 73423.4,
              "tp1_ad_382": 73559.87,
              "tp2_ad_618": 73507.75,
              "tp3_a_or_structure_liquidity": 73423.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6459,
              "ABC": 1.4672
            },
            "x_price": 73723.0,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 73423.4,
            "a_idx": 247,
            "a_order": 8,
            "b_price": 73616.9,
            "b_idx": 261,
            "b_order": 3,
            "c_price": 73333.0,
            "c_idx": 283,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.976,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 73327.06,
            "prz_range": [
              73127.09,
              73527.03
            ],
            "prz_width_pct": 0.545,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.16,
            "price_to_prz_pct_raw": -0.164,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 73327.06,
              "a_price": 73723.0,
              "tp1_ad_382": 73478.31,
              "tp2_ad_618": 73571.75,
              "tp3_a_or_structure_liquidity": 73723.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5975,
              "ABC": 1.248
            },
            "x_price": 73221.6,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 73723.0,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 73423.4,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 73797.3,
            "c_idx": 281,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.964,
            "ratio_score": 1.0,
            "prz_score": 0.986,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 73114.52,
            "prz_range": [
              72882.49,
              73346.55
            ],
            "prz_width_pct": 0.635,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.45,
            "price_to_prz_pct_raw": -0.4534,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 73114.52,
              "a_price": 73723.0,
              "tp1_ad_382": 73346.96,
              "tp2_ad_618": 73490.56,
              "tp3_a_or_structure_liquidity": 73723.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5975,
              "ABC": 0.6459
            },
            "x_price": 73221.6,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 73723.0,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 73423.4,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 73616.9,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.936,
            "ratio_score": 0.928,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 73333.0,
            "prz_range": [
              73274.48,
              73427.59
            ],
            "prz_width_pct": 0.209,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.13,
            "price_to_prz_pct_raw": -0.1313,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.369,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 73351.03,
              "a_price": 73723.0,
              "tp1_ad_382": 73493.12,
              "tp2_ad_618": 73580.91,
              "tp3_a_or_structure_liquidity": 73723.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5975,
              "ABC": 0.6459,
              "BCD": 1.4672,
              "XAD": 0.7778
            },
            "x_price": 73221.6,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 73723.0,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 73423.4,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 73616.9,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": 283
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.935,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 74067.24,
            "prz_range": [
              73878.53,
              74255.95
            ],
            "prz_width_pct": 0.51,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.84,
            "price_to_prz_pct_raw": 0.8438,
            "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": 74067.24,
              "a_price": 73221.6,
              "tp1_ad_382": 73744.2,
              "tp2_ad_618": 73544.63,
              "tp3_a_or_structure_liquidity": 73221.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4422,
              "ABC": 0.5975
            },
            "x_price": 74355.6,
            "x_idx": 168,
            "x_order": 3,
            "a_price": 73221.6,
            "a_idx": 205,
            "a_order": 3,
            "b_price": 73723.0,
            "b_idx": 229,
            "b_order": 8,
            "c_price": 73423.4,
            "c_idx": 247,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.935,
            "ratio_score": 0.879,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 73351.03,
            "prz_range": [
              73274.48,
              73427.59
            ],
            "prz_width_pct": 0.209,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.13,
            "price_to_prz_pct_raw": -0.1313,
            "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": 73351.03,
              "a_price": 73723.0,
              "tp1_ad_382": 73493.12,
              "tp2_ad_618": 73580.91,
              "tp3_a_or_structure_liquidity": 73723.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5975,
              "ABC": 0.6459
            },
            "x_price": 73221.6,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 73723.0,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 73423.4,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 73616.9,
            "c_idx": 261,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.934,
            "ratio_score": 0.946,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 72920.0,
            "prz_range": [
              72735.04,
              73104.96
            ],
            "prz_width_pct": 0.507,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.72,
            "price_to_prz_pct_raw": -0.7182,
            "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": 72920.0,
              "a_price": 73932.2,
              "tp1_ad_382": 73306.66,
              "tp2_ad_618": 73545.54,
              "tp3_a_or_structure_liquidity": 73932.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.609,
              "ABC": 0.8256
            },
            "x_price": 72662.2,
            "x_idx": 217,
            "x_order": 3,
            "a_price": 73932.2,
            "a_idx": 244,
            "a_order": 8,
            "b_price": 73158.8,
            "b_idx": 263,
            "b_order": 8,
            "c_price": 73797.3,
            "c_idx": 281,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.931,
            "ratio_score": 0.971,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 73906.93,
            "prz_range": [
              73708.04,
              74105.81
            ],
            "prz_width_pct": 0.538,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.63,
            "price_to_prz_pct_raw": 0.6255,
            "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": 73906.93,
              "a_price": 73212.3,
              "tp1_ad_382": 73641.58,
              "tp2_ad_618": 73477.65,
              "tp3_a_or_structure_liquidity": 73212.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7922,
              "ABC": 0.7017
            },
            "x_price": 73723.0,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 73212.3,
            "a_idx": 236,
            "a_order": 8,
            "b_price": 73616.9,
            "b_idx": 261,
            "b_order": 3,
            "c_price": 73333.0,
            "c_idx": 283,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.931,
            "ratio_score": 0.949,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 74156.3,
            "prz_range": [
              73980.43,
              74332.17
            ],
            "prz_width_pct": 0.474,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.97,
            "price_to_prz_pct_raw": 0.965,
            "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": "gartley",
              "d_price": 74156.3,
              "a_price": 73221.6,
              "tp1_ad_382": 73799.25,
              "tp2_ad_618": 73578.66,
              "tp3_a_or_structure_liquidity": 73221.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6266,
              "ABC": 0.8432
            },
            "x_price": 74355.6,
            "x_idx": 168,
            "x_order": 3,
            "a_price": 73221.6,
            "a_idx": 205,
            "a_order": 3,
            "b_price": 73932.2,
            "b_idx": 244,
            "b_order": 8,
            "c_price": 73333.0,
            "c_idx": 283,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.922,
            "ratio_score": 0.988,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 73866.8,
            "prz_range": [
              73708.04,
              74105.81
            ],
            "prz_width_pct": 0.538,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.63,
            "price_to_prz_pct_raw": 0.6255,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.858,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 10,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 73906.93,
              "a_price": 73212.3,
              "tp1_ad_382": 73641.58,
              "tp2_ad_618": 73477.65,
              "tp3_a_or_structure_liquidity": 73212.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7922,
              "ABC": 0.7017,
              "BCD": 1.8802,
              "XAD": 1.2816
            },
            "x_price": 73723.0,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 73212.3,
            "a_idx": 236,
            "a_order": 8,
            "b_price": 73616.9,
            "b_idx": 261,
            "b_order": 3,
            "c_price": 73333.0,
            "c_idx": 283,
            "c_order": 8,
            "d_idx": 289
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.919,
            "ratio_score": 0.835,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 73644.22,
            "prz_range": [
              73497.04,
              73791.41
            ],
            "prz_width_pct": 0.4,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.27,
            "price_to_prz_pct_raw": 0.2678,
            "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": 73644.22,
              "a_price": 73423.4,
              "tp1_ad_382": 73559.87,
              "tp2_ad_618": 73507.75,
              "tp3_a_or_structure_liquidity": 73423.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6459,
              "ABC": 1.4672
            },
            "x_price": 73723.0,
            "x_idx": 229,
            "x_order": 8,
            "a_price": 73423.4,
            "a_idx": 247,
            "a_order": 8,
            "b_price": 73616.9,
            "b_idx": 261,
            "b_order": 3,
            "c_price": 73333.0,
            "c_idx": 283,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.856,
            "ratio_score": 0.867,
            "prz_score": 0.983,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 73932.2,
            "prz_range": [
              73759.79,
              74235.7
            ],
            "prz_width_pct": 0.643,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.75,
            "price_to_prz_pct_raw": 0.7492,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.423,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 73997.75,
              "a_price": 72729.2,
              "tp1_ad_382": 73513.16,
              "tp2_ad_618": 73213.78,
              "tp3_a_or_structure_liquidity": 72729.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.611,
              "ABC": 0.5139,
              "BCD": 1.4096,
              "XAD": 0.7397
            },
            "x_price": 74355.6,
            "x_idx": 168,
            "x_order": 3,
            "a_price": 72729.2,
            "a_idx": 182,
            "a_order": 8,
            "b_price": 73723.0,
            "b_idx": 229,
            "b_order": 8,
            "c_price": 73212.3,
            "c_idx": 236,
            "c_order": 8,
            "d_idx": 244
          },
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.823,
            "ratio_score": 0.706,
            "prz_score": 0.997,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 73171.8,
            "prz_range": [
              73127.08,
              73573.74
            ],
            "prz_width_pct": 0.609,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.13,
            "price_to_prz_pct_raw": -0.1322,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 1.337,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "shark",
              "d_price": 73350.41,
              "a_price": 73723.0,
              "tp1_ad_382": 73492.74,
              "tp2_ad_618": 73580.67,
              "tp3_a_or_structure_liquidity": 73723.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5975,
              "ABC": 1.4039,
              "BCD": 1.5982,
              "XAD": 1.0993
            },
            "x_price": 73221.6,
            "x_idx": 205,
            "x_order": 3,
            "a_price": 73723.0,
            "a_idx": 229,
            "a_order": 8,
            "b_price": 73423.4,
            "b_idx": 247,
            "b_order": 8,
            "c_price": 73844.0,
            "c_idx": 256,
            "c_order": 8,
            "d_idx": 268
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "shark",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.976,
            "prz_proximity": "active",
            "prz_range": [
              73127.09,
              73527.03
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.16,
            "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": "shark",
              "d_price": 73327.06,
              "a_price": 73723.0,
              "tp1_ad_382": 73478.31,
              "tp2_ad_618": 73571.75,
              "tp3_a_or_structure_liquidity": 73723.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "SHARK FORMING HIGH PRZ $73,127.09-$73,527.03: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.964,
            "prz_proximity": "active",
            "prz_range": [
              72882.49,
              73346.55
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.45,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 73114.52,
              "a_price": 73723.0,
              "tp1_ad_382": 73346.96,
              "tp2_ad_618": 73490.56,
              "tp3_a_or_structure_liquidity": 73723.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "CRAB FORMING HIGH PRZ $72,882.49-$73,346.55: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.936,
            "prz_proximity": "active",
            "prz_range": [
              73274.48,
              73427.59
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.13,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.369,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 73351.03,
              "a_price": 73723.0,
              "tp1_ad_382": 73493.12,
              "tp2_ad_618": 73580.91,
              "tp3_a_or_structure_liquidity": 73723.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY COMPLETED HIGH PRZ $73,274.48-$73,427.59: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.935,
            "prz_proximity": "nearby",
            "prz_range": [
              73878.53,
              74255.95
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.84,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 74067.24,
              "a_price": 73221.6,
              "tp1_ad_382": 73744.2,
              "tp2_ad_618": 73544.63,
              "tp3_a_or_structure_liquidity": 73221.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $73,878.53-$74,255.95: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.935,
            "prz_proximity": "active",
            "prz_range": [
              73274.48,
              73427.59
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.13,
            "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": 73351.03,
              "a_price": 73723.0,
              "tp1_ad_382": 73493.12,
              "tp2_ad_618": 73580.91,
              "tp3_a_or_structure_liquidity": 73723.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $73,274.48-$73,427.59: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.934,
            "prz_proximity": "nearby",
            "prz_range": [
              72735.04,
              73104.96
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.72,
            "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": 72920.0,
              "a_price": 73932.2,
              "tp1_ad_382": 73306.66,
              "tp2_ad_618": 73545.54,
              "tp3_a_or_structure_liquidity": 73932.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $72,735.04-$73,104.96: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "shark",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.976,
          "ratio_score": 1.0,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 73327.06,
          "prz_range": [
            73127.09,
            73527.03
          ],
          "prz_width_pct": 0.545,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.16,
          "price_to_prz_pct_raw": -0.164,
          "harmonic_vote_state": {
            "authority": "pre_confirmation_reversal_candidate",
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "confirmation_reasons": [],
            "reaction_score": 0.0,
            "reaction_detail": {
              "reaction_score": 0.0,
              "reasons": []
            },
            "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
            "standalone_path_override_allowed": false
          },
          "directional_vote_weight": 0.35,
          "confirmed_reaction": false,
          "standalone_path_override_allowed": false,
          "tp_ladder": {
            "direction": "bullish",
            "source": "shark",
            "d_price": 73327.06,
            "a_price": 73723.0,
            "tp1_ad_382": 73478.31,
            "tp2_ad_618": 73571.75,
            "tp3_a_or_structure_liquidity": 73723.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.5975,
            "ABC": 1.248
          },
          "x_price": 73221.6,
          "x_idx": 205,
          "x_order": 3,
          "a_price": 73723.0,
          "a_idx": 229,
          "a_order": 8,
          "b_price": 73423.4,
          "b_idx": 247,
          "b_order": 8,
          "c_price": 73797.3,
          "c_idx": 281,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "shark",
          "d_price": 73327.06,
          "a_price": 73723.0,
          "tp1_ad_382": 73478.31,
          "tp2_ad_618": 73571.75,
          "tp3_a_or_structure_liquidity": 73723.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "gartley",
          "d_price": 73351.03,
          "a_price": 73723.0,
          "tp1_ad_382": 73493.12,
          "tp2_ad_618": 73580.91,
          "tp3_a_or_structure_liquidity": 73723.0,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "shark",
            "d_price": 73327.06,
            "a_price": 73723.0,
            "tp1_ad_382": 73478.31,
            "tp2_ad_618": 73571.75,
            "tp3_a_or_structure_liquidity": 73723.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 73114.52,
            "a_price": 73723.0,
            "tp1_ad_382": 73346.96,
            "tp2_ad_618": 73490.56,
            "tp3_a_or_structure_liquidity": 73723.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 73351.03,
            "a_price": 73723.0,
            "tp1_ad_382": 73493.12,
            "tp2_ad_618": 73580.91,
            "tp3_a_or_structure_liquidity": 73723.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "bat",
            "d_price": 74067.24,
            "a_price": 73221.6,
            "tp1_ad_382": 73744.2,
            "tp2_ad_618": 73544.63,
            "tp3_a_or_structure_liquidity": 73221.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 73351.03,
            "a_price": 73723.0,
            "tp1_ad_382": 73493.12,
            "tp2_ad_618": 73580.91,
            "tp3_a_or_structure_liquidity": 73723.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 72920.0,
            "a_price": 73932.2,
            "tp1_ad_382": 73306.66,
            "tp2_ad_618": 73545.54,
            "tp3_a_or_structure_liquidity": 73932.2,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 73351.03,
            "a_price": 73723.0,
            "tp1_ad_382": 73493.12,
            "tp2_ad_618": 73580.91,
            "tp3_a_or_structure_liquidity": 73723.0,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "butterfly",
            "d_price": 73906.93,
            "a_price": 73212.3,
            "tp1_ad_382": 73641.58,
            "tp2_ad_618": 73477.65,
            "tp3_a_or_structure_liquidity": 73212.3,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 1.344,
          "bearish": 0.883
        },
        "directional_score_total": 2.227,
        "directional_dominance": 0.207
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.58,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"완료된 bullish Gartley PRZ $73,274.48-$73,427.59에서 반응 확인: PRZ 터치/방어, AD 0.382 반응 도달, PRZ 중심 회복, D 실패구간 방어\",\n    \"현재가 $73,447.50은 bullish Gartley PRZ 상단 $73,427.59 바로 위에 위치하여 PRZ 방어 후 초기 반등 구간\",\n    \"forming bullish Shark 고점수 패턴 활성 PRZ $73,127.09-$73,527.03, score 0.976, XAD/BC_EXT/ABCD 3중 Fib confluence\",\n    \"forming bullish Crab PRZ $72,882.49-$73,346.55가 하단 보조 반전 후보로 남아 있음\",\n    \"확인된 bullish Gartley TP ladder: TP1 $73,493.12, TP2 $73,580.91, TP3 $73,723.00\",\n    \"단기 상방에는 bearish Shark PRZ $73,497.04-$73,791.41 및 bearish Butterfly/Bat PRZ $73,708.04-$74,255.95가 있어 상승 추격에는 저항 반응 리스크 존재\"\n  ],\n  \"reasoning\": \"하모닉 기준으로는 $73,274.48-$73,427.59의 strict high-quality bullish Gartley가 완료되었고, reaction_score 1.0으로 PRZ 방어 및 AD 0.382 반응까지 확인되어 유효한 중간 수준의 bullish tie-breaker입니다. 현재가 $73,447.50은 해당 PRZ 상단 바로 위이며, 추가로 bullish Shark PRZ $73,127.09-$73,527.03과 bullish Crab PRZ $72,882.49-$73,346.55가 겹쳐 하방 반전 후보군의 confluence가 강합니다. 다만 하모닉 directional dominance는 0.207로 낮고, 위쪽 $73,497.04-$73,791.41 및 $73,708.04-$74,255.95에 bearish PRZ가 대기하므로 독립적인 강한 추세 전환 신호로 해석하면 안 됩니다. 확인된 상승 TP는 $73,493.12 → $73,580.91 → $73,723.00이며, 이 구간부터는 bearish PRZ와 겹치기 때문에 분할청산/반응 관찰 구간입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      73427.59,\n      73351.03,\n      73274.48,\n      73127.09,\n      72882.49\n    ],\n    \"resistance\": [\n      73493.12,\n      73580.91,\n      73723.0,\n      73791.41,\n      74067.24,\n      74255.95\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$72,882.49\",\n  \"risk_scenario\": \"반대로 가격이 $73,497.04-$73,791.41의 bearish Shark PRZ 또는 $73,708.04-$74,255.95의 bearish Butterfly/Bat PRZ에서 거부되고 $73,427.59 아래로 재진입하면 bullish Gartley 반응은 약화됩니다. 이후 $73,274.48을 이탈하면 단기 상승 셋업은 실패 경고이며, $72,882.49까지 수용되면 현재 bullish PRZ 클러스터 방어 논리가 무효화됩니다.\",\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.761,
      "setup_signals": [
        "현재가 $73,447.50는 EQ $73,533.70 아래의 discount 영역에 위치",
        "현재 되돌림이 78.6%로 깊은 discount retracement 구간",
        "확정 bullish CHoCH 발생 레벨 $73,592.10",
        "확정 bullish BOS 발생 레벨 $73,723.00",
        "최근 bullish CHoCH 기준 레벨 $73,844.00",
        "상단 BSL 유동성 $73,920.40 및 range high $73,908.60가 단기 자석 역할",
        "하단 SSL $73,319.05 / $73,185.55 아래에 sell-side liquidity가 남아 있어 스윕 후 반등 가능성 존재"
      ],
      "reasoning": "15분 구조상 최근 시퀀스는 bearish BOS 이후 $73,592.10 bullish CHoCH, $73,723.00 bullish BOS, 그리고 $73,844.00 bullish CHoCH가 확인되어 구조_bias는 약한 bullish로 평가한다. 다만 현재가 $73,447.50는 EQ $73,533.70 아래 discount에 있으며 EMA20 $73,600.69, EMA120 $73,702.81 아래에 있어 아직 강한 구조적 수용은 아니다. 세팅 관점에서는 78.6% 깊은 되돌림, discount 위치, 상단 BSL $73,920.40 및 range high $73,908.60 유동성 목표가 있어 단기 bullish setup이 우세하다. 단, $73,319.05와 $73,185.55 SSL이 아직 남아 있어 먼저 하단 유동성을 스윕한 뒤 상승 전개될 가능성도 고려해야 한다.",
      "key_levels": {
        "support": [
          73319.05,
          73185.55,
          73158.8,
          72556.0
        ],
        "resistance": [
          73533.7,
          73600.69,
          73702.81,
          73908.6,
          73920.4,
          75129.8,
          75485.9
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "73158.80",
      "risk_scenario": "$73,158.80 range low가 명확히 이탈되면 bullish discount 반등 세팅은 무효화되며, $73,185.55와 $73,319.05 SSL 스윕이 단순 유동성 회수로 끝나지 않고 추가 하락 확장으로 이어질 수 있다. 이 경우 다음 주요 downside objective는 previous day low $72,556.00이며, 구조_bias도 다시 bearish로 전환될 가능성이 높다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 2,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 1,
        "candidate_bullish_ob": 0,
        "candidate_bearish_ob": 1,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": null,
        "nearest_bear_ob_range": {
          "bottom": 75129.8,
          "top": 75485.9,
          "quality": "candidate",
          "score": 0.55
        },
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 74,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bearish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bullish",
          "BOS_bearish",
          "CHoCH_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bearish",
            "level": 74735.7
          },
          {
            "type": "BOS_bearish",
            "level": 74632.0
          },
          {
            "type": "CHoCH_bullish",
            "level": 73592.1
          },
          {
            "type": "BOS_bullish",
            "level": 73723.0
          },
          {
            "type": "BOS_bearish",
            "level": 73423.4
          },
          {
            "type": "CHoCH_bullish",
            "level": 73844.0
          }
        ],
        "bos_sequence": [
          "BOS_bearish",
          "CHoCH_bearish",
          "BOS_bearish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bullish",
          "BOS_bearish",
          "CHoCH_bullish"
        ],
        "consecutive_bull_bos": 0,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [
          {
            "type": "SSL",
            "level": 73185.55
          },
          {
            "type": "BSL",
            "level": 73920.4
          },
          {
            "type": "SSL",
            "level": 73319.05
          }
        ],
        "current_zone": "discount",
        "eq_level": 73533.7,
        "range_high": 73908.6,
        "range_low": 73158.8,
        "bull_score": 8.9,
        "bear_score": 8.0,
        "setup_bias": "bullish",
        "setup_score": 0.761,
        "setup_signals": [
          "bullish CHoCH above $73,592.10",
          "bullish BOS above $73,723.00",
          "bullish CHoCH above $73,844.00",
          "BSL resting above $73,920.40",
          "deep retracement 78.6% in discount zone"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 78.6,
        "deepest_retracement_pct": 78.6,
        "previous_day_high": 75485.9,
        "previous_day_low": 72556.0,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": false,
            "high": null,
            "low": null
          },
          "New York": {
            "active": true,
            "high": 73908.6,
            "low": 73171.8
          },
          "Asian kill zone": {
            "active": false,
            "high": null,
            "low": null
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.68,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.761,\n  \"setup_signals\": [\n    \"현재가 $73,447.50는 EQ $73,533.70 아래의 discount 영역에 위치\",\n    \"현재 되돌림이 78.6%로 깊은 discount retracement 구간\",\n    \"확정 bullish CHoCH 발생 레벨 $73,592.10\",\n    \"확정 bullish BOS 발생 레벨 $73,723.00\",\n    \"최근 bullish CHoCH 기준 레벨 $73,844.00\",\n    \"상단 BSL 유동성 $73,920.40 및 range high $73,908.60가 단기 자석 역할\",\n    \"하단 SSL $73,319.05 / $73,185.55 아래에 sell-side liquidity가 남아 있어 스윕 후 반등 가능성 존재\"\n  ],\n  \"reasoning\": \"15분 구조상 최근 시퀀스는 bearish BOS 이후 $73,592.10 bullish CHoCH, $73,723.00 bullish BOS, 그리고 $73,844.00 bullish CHoCH가 확인되어 구조_bias는 약한 bullish로 평가한다. 다만 현재가 $73,447.50는 EQ $73,533.70 아래 discount에 있으며 EMA20 $73,600.69, EMA120 $73,702.81 아래에 있어 아직 강한 구조적 수용은 아니다. 세팅 관점에서는 78.6% 깊은 되돌림, discount 위치, 상단 BSL $73,920.40 및 range high $73,908.60 유동성 목표가 있어 단기 bullish setup이 우세하다. 단, $73,319.05와 $73,185.55 SSL이 아직 남아 있어 먼저 하단 유동성을 스윕한 뒤 상승 전개될 가능성도 고려해야 한다.\",\n  \"key_levels\": {\n    \"support\": [\n      73319.05,\n      73185.55,\n      73158.8,\n      72556.0\n    ],\n    \"resistance\": [\n      73533.7,\n      73600.69,\n      73702.81,\n      73908.6,\n      73920.4,\n      75129.8,\n      75485.9\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"73158.80\",\n  \"risk_scenario\": \"$73,158.80 range low가 명확히 이탈되면 bullish discount 반등 세팅은 무효화되며, $73,185.55와 $73,319.05 SSL 스윕이 단순 유동성 회수로 끝나지 않고 추가 하락 확장으로 이어질 수 있다. 이 경우 다음 주요 downside objective는 previous day low $72,556.00이며, 구조_bias도 다시 bearish로 전환될 가능성이 높다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.57,
    "execution_setup": {
      "setup_bias": "bullish",
      "setup_strength": 0.66,
      "active_setups": [
        "피보나치 기준 현재가 $73,447.50이 상승파 $73,333 → $73,867의 0.786 되돌림 $73,447.23을 정밀 테스트 중",
        "하모닉 기준 완료된 bullish Gartley PRZ $73,274.48-$73,427.59 방어 후 현재가가 PRZ 상단 위 $73,447.50에 위치",
        "ICT 기준 현재가가 EQ $73,533.70 아래 discount 영역에 있으며 78.6% 깊은 되돌림 구간",
        "캔들 기준 $72,556.00 7일 저점 인근에서 bullish engulfing 후보가 있었으나 거래량 확인은 부족",
        "반대 조건: Wyckoff 기준 UTAD $73,709.30 이후 가격이 메인 레인지 상단 $73,485.00 아래로 복귀해 상단 수용 실패",
        "반대 조건: 파생 기준 CVD 증가에도 가격이 정체되어 $73,600.69 EMA20 아래에서 매수 흡수 가능성 존재"
      ],
      "setup_vs_structure": "구조 판단은 Wyckoff 분배 우위로 약세지만, 실행 셋업은 $73,274-$73,527 하단 PRZ·0.786 되돌림·discount confluence 때문에 단기 반등형 bullish로 기울어 있다. 즉, 현재는 구조와 실행 셋업이 불일치하는 구간이며, 반등 시도 자체가 구조 전환이 아니라 분배 상단 재시험/실패 여부를 확인하는 조건으로 해석해야 한다."
    },
    "signal_breakdown": {
      "bullish_count": 3,
      "bearish_count": 2,
      "neutral_count": 1
    },
    "key_levels": {
      "support": [
        73447.23,
        73427.59,
        73333.0,
        73326.2,
        73319.05,
        73185.55,
        73167.4,
        73158.8,
        72556.0
      ],
      "resistance": [
        73485.0,
        73533.7,
        73536.91,
        73599.9,
        73600.69,
        73610.0,
        73702.81,
        73709.3,
        73723.0,
        73866.8,
        73908.6,
        73920.4,
        74218.91,
        74255.95
      ]
    },
    "confluences": [
      "피보나치 0.786 되돌림 $73,447.23과 현재가 $73,447.50이 거의 일치하며, 하모닉 bullish Gartley PRZ 상단 $73,427.59 및 forming Shark PRZ 상단 $73,527.03과 같은 하단 반응 구역을 형성한다.",
      "ICT EQ $73,533.70, 피보나치 0.618 $73,536.91, EMA20 $73,600.69, Wyckoff UT $73,610.00이 $73,533-$73,610 구간에 밀집해 단기 회복 확인선이자 저항 클러스터를 만든다.",
      "Wyckoff UTAD $73,709.30, ST $73,723.00, ICT bullish BOS 레벨 $73,723.00, 하모닉 bullish TP3 $73,723.00이 동일 가격대에 겹쳐 구조 확인의 핵심 관문이다.",
      "Wyckoff AR $73,167.40 및 SOW 저점 $73,158.80은 ICT range low $73,158.80, SSL $73,185.55와 중첩되어 하단 구조 지지/유동성 구역으로 작동한다.",
      "7일 저점 및 전일 저점 $72,556.00은 캔들, 파생, ICT, 피보나치 모두가 공통으로 언급한 주요 하방 구조 레벨이다.",
      "상단 $73,878.53-$74,255.95 하모닉 bearish Bat PRZ는 EMA240 $74,218.91 및 피보나치 확장/저항 $74,011.99-$74,196.69와 겹쳐 중기 상단 공급 후보로 평가된다."
    ],
    "conflicts": [
      "Wyckoff는 분배 Phase C 및 UTAD 이후 상단 수용 실패로 구조를 bearish로 보지만, ICT는 최근 CHoCH/BOS 이벤트와 discount 위치를 근거로 구조를 bullish로 본다.",
      "피보나치·하모닉·ICT는 $73,274-$73,527 부근을 반등형 하단 반응 구간으로 해석하지만, 파생 데이터는 CVD 증가 대비 가격 정체와 롱 계정 과밀을 근거로 매수 흡수/하방 취약성을 경고한다.",
      "캔들 분석은 bullish engulfing 후보와 doji를 관찰했으나 패턴 품질과 거래량 확인이 약해, 하모닉의 강한 PRZ 반응 신호를 독립적으로 확인해주지는 못한다.",
      "하모닉 내부에서도 현재 하단 bullish PRZ는 유효하지만, 바로 위 $73,497.04-$73,791.41 및 $73,708.04-$74,255.95에는 bearish PRZ가 대기해 있어 반등이 구조적 전환인지 공급 재진입인지가 아직 확정되지 않았다."
    ],
    "executive_summary": "현재 15분 BTC 구조는 하단 PRZ 반응에도 불구하고 Wyckoff 기준 분배 후보가 우세한 상태이며, Phase C의 UTAD $73,709.30 이후 가격이 메인 레인지 상단 $73,485.00 아래로 복귀한 것이 핵심 구조 진단이다. 다만 현재가 $73,447.50은 피보나치 0.786 $73,447.23, 하모닉 bullish Gartley PRZ $73,274.48-$73,427.59, ICT discount 영역과 겹쳐 실행 셋업은 구조와 달리 반등형 bullish 압력이 강하다. 구조적으로는 $73,533-$73,610 회복 클러스터와 $73,709-$73,723 상단 이벤트 구간이 분배 해석의 검증대이며, 하단에서는 $73,167-$73,158 및 $72,556이 주요 구조 지지/유동성 조건이다. 따라서 현재 국면은 ‘분배 Phase C 이후 상단 수용 실패 상태에서 하단 PRZ 반응이 발생한 구조-셋업 불일치 구간’으로 정리되며, $73,723.00 위 수용 전까지는 bearish 구조 판단을 유지한다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.57,\n  \"execution_setup\": {\n    \"setup_bias\": \"bullish\",\n    \"setup_strength\": 0.66,\n    \"active_setups\": [\n      \"피보나치 기준 현재가 $73,447.50이 상승파 $73,333 → $73,867의 0.786 되돌림 $73,447.23을 정밀 테스트 중\",\n      \"하모닉 기준 완료된 bullish Gartley PRZ $73,274.48-$73,427.59 방어 후 현재가가 PRZ 상단 위 $73,447.50에 위치\",\n      \"ICT 기준 현재가가 EQ $73,533.70 아래 discount 영역에 있으며 78.6% 깊은 되돌림 구간\",\n      \"캔들 기준 $72,556.00 7일 저점 인근에서 bullish engulfing 후보가 있었으나 거래량 확인은 부족\",\n      \"반대 조건: Wyckoff 기준 UTAD $73,709.30 이후 가격이 메인 레인지 상단 $73,485.00 아래로 복귀해 상단 수용 실패\",\n      \"반대 조건: 파생 기준 CVD 증가에도 가격이 정체되어 $73,600.69 EMA20 아래에서 매수 흡수 가능성 존재\"\n    ],\n    \"setup_vs_structure\": \"구조 판단은 Wyckoff 분배 우위로 약세지만, 실행 셋업은 $73,274-$73,527 하단 PRZ·0.786 되돌림·discount confluence 때문에 단기 반등형 bullish로 기울어 있다. 즉, 현재는 구조와 실행 셋업이 불일치하는 구간이며, 반등 시도 자체가 구조 전환이 아니라 분배 상단 재시험/실패 여부를 확인하는 조건으로 해석해야 한다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 3,\n    \"bearish_count\": 2,\n    \"neutral_count\": 1\n  },\n  \"key_levels\": {\n    \"support\": [\n      73447.23,\n      73427.59,\n      73333.0,\n      73326.2,\n      73319.05,\n      73185.55,\n      73167.4,\n      73158.8,\n      72556.0\n    ],\n    \"resistance\": [\n      73485.0,\n      73533.7,\n      73536.91,\n      73599.9,\n      73600.69,\n      73610.0,\n      73702.81,\n      73709.3,\n      73723.0,\n      73866.8,\n      73908.6,\n      73920.4,\n      74218.91,\n      74255.95\n    ]\n  },\n  \"confluences\": [\n    \"피보나치 0.786 되돌림 $73,447.23과 현재가 $73,447.50이 거의 일치하며, 하모닉 bullish Gartley PRZ 상단 $73,427.59 및 forming Shark PRZ 상단 $73,527.03과 같은 하단 반응 구역을 형성한다.\",\n    \"ICT EQ $73,533.70, 피보나치 0.618 $73,536.91, EMA20 $73,600.69, Wyckoff UT $73,610.00이 $73,533-$73,610 구간에 밀집해 단기 회복 확인선이자 저항 클러스터를 만든다.\",\n    \"Wyckoff UTAD $73,709.30, ST $73,723.00, ICT bullish BOS 레벨 $73,723.00, 하모닉 bullish TP3 $73,723.00이 동일 가격대에 겹쳐 구조 확인의 핵심 관문이다.\",\n    \"Wyckoff AR $73,167.40 및 SOW 저점 $73,158.80은 ICT range low $73,158.80, SSL $73,185.55와 중첩되어 하단 구조 지지/유동성 구역으로 작동한다.\",\n    \"7일 저점 및 전일 저점 $72,556.00은 캔들, 파생, ICT, 피보나치 모두가 공통으로 언급한 주요 하방 구조 레벨이다.\",\n    \"상단 $73,878.53-$74,255.95 하모닉 bearish Bat PRZ는 EMA240 $74,218.91 및 피보나치 확장/저항 $74,011.99-$74,196.69와 겹쳐 중기 상단 공급 후보로 평가된다.\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 분배 Phase C 및 UTAD 이후 상단 수용 실패로 구조를 bearish로 보지만, ICT는 최근 CHoCH/BOS 이벤트와 discount 위치를 근거로 구조를 bullish로 본다.\",\n    \"피보나치·하모닉·ICT는 $73,274-$73,527 부근을 반등형 하단 반응 구간으로 해석하지만, 파생 데이터는 CVD 증가 대비 가격 정체와 롱 계정 과밀을 근거로 매수 흡수/하방 취약성을 경고한다.\",\n    \"캔들 분석은 bullish engulfing 후보와 doji를 관찰했으나 패턴 품질과 거래량 확인이 약해, 하모닉의 강한 PRZ 반응 신호를 독립적으로 확인해주지는 못한다.\",\n    \"하모닉 내부에서도 현재 하단 bullish PRZ는 유효하지만, 바로 위 $73,497.04-$73,791.41 및 $73,708.04-$74,255.95에는 bearish PRZ가 대기해 있어 반등이 구조적 전환인지 공급 재진입인지가 아직 확정되지 않았다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 분배 점수가 높고, BC $73,485.00 → AR $73,167.40 → ST $73,723.00 → SOW $73,158.80 → UT $73,610.00 → UTAD $73,709.30의 구체적 이벤트 체인이 제시되어 있다. 현재가 $73,447.50이 메인 레인지 상단 $73,485.00 아래로 복귀한 점은 UTAD 이후 상단 수용 실패라는 구조적 약세 해석을 가장 명확하게 뒷받침한다.\",\n  \"invalidation_level\": \"$73,723.00 위 수용. 이 레벨은 Wyckoff ST이자 ICT bullish BOS 및 하모닉 TP3가 겹치는 구조 관문으로, 그 위에서 유지되면 현재 분배/UTAD 기반 bearish 구조 판단은 크게 약화된다.\",\n  \"executive_summary\": \"현재 15분 BTC 구조는 하단 PRZ 반응에도 불구하고 Wyckoff 기준 분배 후보가 우세한 상태이며, Phase C의 UTAD $73,709.30 이후 가격이 메인 레인지 상단 $73,485.00 아래로 복귀한 것이 핵심 구조 진단이다. 다만 현재가 $73,447.50은 피보나치 0.786 $73,447.23, 하모닉 bullish Gartley PRZ $73,274.48-$73,427.59, ICT discount 영역과 겹쳐 실행 셋업은 구조와 달리 반등형 bullish 압력이 강하다. 구조적으로는 $73,533-$73,610 회복 클러스터와 $73,709-$73,723 상단 이벤트 구간이 분배 해석의 검증대이며, 하단에서는 $73,167-$73,158 및 $72,556이 주요 구조 지지/유동성 조건이다. 따라서 현재 국면은 ‘분배 Phase C 이후 상단 수용 실패 상태에서 하단 PRZ 반응이 발생한 구조-셋업 불일치 구간’으로 정리되며, $73,723.00 위 수용 전까지는 bearish 구조 판단을 유지한다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.57,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.52,
    "waypoints": [
      {
        "seq": 1,
        "price": 73597.55,
        "type": "resistance_test",
        "source": "Fibonacci(0.618 $73,536.91, EQ ret_0.5 $73,599.90), ICT(EQ $73,533.70), Candlestick/Derivatives(EMA20 $73,600.69), Wyckoff(UT $73,610.00), WP1 후보 strict score 1.0 $73,597.55",
        "description": "실행 셋업이 bullish(66%)이고 구조(BEARISH)와 불일치하므로 셋업 방향인 상방을 첫 웨이포인트로 채택. 현재가 $73,447.50이 0.786 되돌림 $73,447.23·Gartley PRZ 상단 $73,427.59·discount 영역에서 반등하여, ICT EQ $73,533.70·피보나치 0.618 $73,536.91·EMA20 $73,600.69·Wyckoff UT $73,610.00이 밀집한 회복/저항 클러스터(WP1 후보 strict, score 1.0 $73,597.55)를 시험. 이 구간은 단기 회복 확인선이자 분배 상단 재시험의 핵심 검증대로, 하모닉 confirmed TP 사다리($73,493→$73,580→$73,723)와도 정합.",
        "est_hours": 3.0,
        "turning_zone": [
          73597.55,
          73663.0
        ],
        "likely_wick": 73612.0,
        "rejection_confirm": 73533.7,
        "invalid_overshoot": 73702.81,
        "calibration_reasoning": "5중 피보나치 컨플루언스($73,597.55)에 차트 저항 $73,599.90·EMA20 $73,600.69·Wyckoff UT $73,610.00이 밀집하고 검증된 가틀리 TP2 AD0.618 $73,580.91과 정합하여, 가장 두꺼운 저항벽인 Wyckoff UT 상단을 likely_wick으로 잡고 존 상단은 피보나치 0.382 저항 $73,662.89(폭 0.48 ATR)로 설정했다. 무효화는 그 위 차트 저항 $73,702.81 수용 시이며, 회복선 ICT EQ/피보나치 0.618 $73,533.70 상실이 거부를 확정한다."
      },
      {
        "seq": 2,
        "price": 73167.4,
        "type": "support_test",
        "source": "Wyckoff(AR $73,167.40, SOW 저점 $73,158.80), ICT(range low $73,158.80, SSL $73,185.55/$73,319.05), Derivatives(EMA 하단 매수 흡수)",
        "description": "구조 우위(Wyckoff 분배 dis_score 85.6)대로 저항 클러스터에서 상단 수용 실패·거부가 발생하면 하방 전개. CVD 다이버전스 0.850(매수 흡수)·EMA20/120 아래 정체·롱 계정 과밀 1.000이 하락을 지지. SSL $73,319.05를 1차 스윕한 뒤 Wyckoff AR $73,167.40·SOW 저점 $73,158.80·ICT range low $73,158.80·SSL $73,185.55가 중첩된 1차 구조 지지/유동성 구역을 시험.",
        "est_hours": 11.0,
        "turning_zone": [
          73130.0,
          73185.55
        ],
        "likely_wick": 73148.0,
        "rejection_confirm": 73319.05,
        "invalid_overshoot": 73090.0,
        "calibration_reasoning": "Wyckoff AR $73,167.40·SOW 저점 $73,158.80·ICT range low $73,158.80·SSL $73,185.55가 중첩된 구역으로, 상단은 SSL 유동성 풀 $73,185.55를 포함하고 구조 저점 $73,158.80 하방 스윕분(폭 0.41 ATR)을 반영해 likely_wick을 $73,148로 잡았다. 반등 확정선은 1차 스윕된 SSL $73,319.05 재탈환이며, $73,090 수용 시 지지 붕괴로 WP3 경로가 열려 무효화된다."
      },
      {
        "seq": 3,
        "price": 72556.0,
        "type": "liquidity_sweep",
        "source": "Derivatives(7일 저점 $72,556, fragility 0.913, 이탈 시 $70,800/$70,700 청산대), Candlestick($72,556 7일 저점), ICT($72,556 지지), Fibonacci($72,556 하단)",
        "description": "$73,158.80 구조 지지 이탈 시 fragility_score 0.913·신규 OI 유입(점수 0.748)에 따른 청산 연쇄로 7일/전일 저점 $72,556.00 유동성 스윕. 캔들·파생·ICT·피보나치가 공통 인용한 핵심 하방 레벨이며 24h 기대 저점. 다만 분배 Phase E 하방 이탈이 아직 미확정이라 도달 확률은 WP2보다 낮은 확장 목표로 평가.",
        "est_hours": 21.0,
        "turning_zone": [
          72470.0,
          72556.0
        ],
        "likely_wick": 72500.0,
        "rejection_confirm": 72600.0,
        "invalid_overshoot": 72410.0,
        "calibration_reasoning": "WP3는 7일/전일 저점 $72,556의 하방(매도측) 유동성 스윕이므로 generic 규칙과 달리 존을 base 아래로 설정했고(거부확정선이 base 위라는 하방 타깃 규칙과 정합), 라운드 넘버 $72,500이 유동성 마그넷이라 likely_wick을 그쪽으로 바이어스했다. 터미널 웨이포인트라 존 폭을 0.63 ATR로 넓혔으며, 스윕 저점 위 $72,600 재탈환이 반전 확정·$72,410 수용 시 진성 하락 이탈로 무효화된다."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 73610.0,
        "expected_low": 73427.59,
        "high_first": true
      },
      "8h": {
        "expected_high": 73610.0,
        "expected_low": 73319.05,
        "high_first": true
      },
      "24h": {
        "expected_high": 73610.0,
        "expected_low": 72556.0,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 73723.0,
        "description": "$73,723.00(Wyckoff ST/UTAD·ICT bullish BOS·하모닉 TP3) 위 수용 시 분배 해석 무효화. $73,610 회복 클러스터를 먼저 탈환하고 $73,723을 종가 수용하면 $73,866.80·$73,908.60·BSL $73,920.40 상단 유동성으로 bullish 가속."
      },
      "bearish": {
        "price": 73158.8,
        "description": "$73,158.80(Wyckoff SOW 저점·ICT range low·SSL 클러스터) 명확한 이탈 시 하방 가속. 7일 저점 $72,556.00 사냥, 추가 이탈 시 $70,800/$70,700 청산대로 확장(fragility 0.913)."
      }
    },
    "scenario_invalidation": 73723.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.52,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 73597.55,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci(0.618 $73,536.91, EQ ret_0.5 $73,599.90), ICT(EQ $73,533.70), Candlestick/Derivatives(EMA20 $73,600.69), Wyckoff(UT $73,610.00), WP1 후보 strict score 1.0 $73,597.55\",\n      \"description\": \"실행 셋업이 bullish(66%)이고 구조(BEARISH)와 불일치하므로 셋업 방향인 상방을 첫 웨이포인트로 채택. 현재가 $73,447.50이 0.786 되돌림 $73,447.23·Gartley PRZ 상단 $73,427.59·discount 영역에서 반등하여, ICT EQ $73,533.70·피보나치 0.618 $73,536.91·EMA20 $73,600.69·Wyckoff UT $73,610.00이 밀집한 회복/저항 클러스터(WP1 후보 strict, score 1.0 $73,597.55)를 시험. 이 구간은 단기 회복 확인선이자 분배 상단 재시험의 핵심 검증대로, 하모닉 confirmed TP 사다리($73,493→$73,580→$73,723)와도 정합.\",\n      \"est_hours\": 3.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 73167.40,\n      \"type\": \"support_test\",\n      \"source\": \"Wyckoff(AR $73,167.40, SOW 저점 $73,158.80), ICT(range low $73,158.80, SSL $73,185.55/$73,319.05), Derivatives(EMA 하단 매수 흡수)\",\n      \"description\": \"구조 우위(Wyckoff 분배 dis_score 85.6)대로 저항 클러스터에서 상단 수용 실패·거부가 발생하면 하방 전개. CVD 다이버전스 0.850(매수 흡수)·EMA20/120 아래 정체·롱 계정 과밀 1.000이 하락을 지지. SSL $73,319.05를 1차 스윕한 뒤 Wyckoff AR $73,167.40·SOW 저점 $73,158.80·ICT range low $73,158.80·SSL $73,185.55가 중첩된 1차 구조 지지/유동성 구역을 시험.\",\n      \"est_hours\": 11.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 72556.00,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Derivatives(7일 저점 $72,556, fragility 0.913, 이탈 시 $70,800/$70,700 청산대), Candlestick($72,556 7일 저점), ICT($72,556 지지), Fibonacci($72,556 하단)\",\n      \"description\": \"$73,158.80 구조 지지 이탈 시 fragility_score 0.913·신규 OI 유입(점수 0.748)에 따른 청산 연쇄로 7일/전일 저점 $72,556.00 유동성 스윕. 캔들·파생·ICT·피보나치가 공통 인용한 핵심 하방 레벨이며 24h 기대 저점. 다만 분배 Phase E 하방 이탈이 아직 미확정이라 도달 확률은 WP2보다 낮은 확장 목표로 평가.\",\n      \"est_hours\": 21.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 73610.00, \"expected_low\": 73427.59, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 73610.00, \"expected_low\": 73319.05, \"high_first\": true},\n    \"24h\": {\"expected_high\": 73610.00, \"expected_low\": 72556.00, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 73723.00, \"description\": \"$73,723.00(Wyckoff ST/UTAD·ICT bullish BOS·하모닉 TP3) 위 수용 시 분배 해석 무효화. $73,610 회복 클러스터를 먼저 탈환하고 $73,723을 종가 수용하면 $73,866.80·$73,908.60·BSL $73,920.40 상단 유동성으로 bullish 가속.\"},\n    \"bearish\": {\"price\": 73158.80, \"description\": \"$73,158.80(Wyckoff SOW 저점·ICT range low·SSL 클러스터) 명확한 이탈 시 하방 가속. 7일 저점 $72,556.00 사냥, 추가 이탈 시 $70,800/$70,700 청산대로 확장(fragility 0.913).\"}\n  },\n  \"scenario_invalidation\": 73723.00\n}\n```\n\n**핵심 판단 요약**: 구조는 약세(Wyckoff 분배, 57%)이나 실행 셋업이 bullish(66%, ≥0.5)로 불일치하므로, 셋업 우선 규칙에 따라 **첫 움직임을 상방 반등(WP1 $73,597.55)**으로 두고, 분배 상단 재시험 실패를 거쳐 **구조 방향인 하방($73,167→$72,556)**으로 전개되는 단일 complex 경로입니다. WP1은 하모닉 PRZ 단독이 아닌 fib·ICT·Wyckoff가 겹친 strict score 1.0 레벨로 선정했습니다. $73,723 수용이 전체 경로 무효화선입니다."
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 73597.55,
        "turning_zone": [
          73597.55,
          73663.0
        ],
        "likely_wick": 73612.0,
        "rejection_confirm": 73533.7,
        "invalid_overshoot": 73702.81,
        "calibration_reasoning": "5중 피보나치 컨플루언스($73,597.55)에 차트 저항 $73,599.90·EMA20 $73,600.69·Wyckoff UT $73,610.00이 밀집하고 검증된 가틀리 TP2 AD0.618 $73,580.91과 정합하여, 가장 두꺼운 저항벽인 Wyckoff UT 상단을 likely_wick으로 잡고 존 상단은 피보나치 0.382 저항 $73,662.89(폭 0.48 ATR)로 설정했다. 무효화는 그 위 차트 저항 $73,702.81 수용 시이며, 회복선 ICT EQ/피보나치 0.618 $73,533.70 상실이 거부를 확정한다."
      },
      {
        "seq": 2,
        "base_target": 73167.4,
        "turning_zone": [
          73130.0,
          73185.55
        ],
        "likely_wick": 73148.0,
        "rejection_confirm": 73319.05,
        "invalid_overshoot": 73090.0,
        "calibration_reasoning": "Wyckoff AR $73,167.40·SOW 저점 $73,158.80·ICT range low $73,158.80·SSL $73,185.55가 중첩된 구역으로, 상단은 SSL 유동성 풀 $73,185.55를 포함하고 구조 저점 $73,158.80 하방 스윕분(폭 0.41 ATR)을 반영해 likely_wick을 $73,148로 잡았다. 반등 확정선은 1차 스윕된 SSL $73,319.05 재탈환이며, $73,090 수용 시 지지 붕괴로 WP3 경로가 열려 무효화된다."
      },
      {
        "seq": 3,
        "base_target": 72556.0,
        "turning_zone": [
          72470.0,
          72556.0
        ],
        "likely_wick": 72500.0,
        "rejection_confirm": 72600.0,
        "invalid_overshoot": 72410.0,
        "calibration_reasoning": "WP3는 7일/전일 저점 $72,556의 하방(매도측) 유동성 스윕이므로 generic 규칙과 달리 존을 base 아래로 설정했고(거부확정선이 base 위라는 하방 타깃 규칙과 정합), 라운드 넘버 $72,500이 유동성 마그넷이라 likely_wick을 그쪽으로 바이어스했다. 터미널 웨이포인트라 존 폭을 0.63 ATR로 넓혔으며, 스윕 저점 위 $72,600 재탈환이 반전 확정·$72,410 수용 시 진성 하락 이탈로 무효화된다."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 73597.55,\n      \"turning_zone\": [73597.55, 73663.00],\n      \"likely_wick\": 73612.00,\n      \"rejection_confirm\": 73533.70,\n      \"invalid_overshoot\": 73702.81,\n      \"calibration_reasoning\": \"5중 피보나치 컨플루언스($73,597.55)에 차트 저항 $73,599.90·EMA20 $73,600.69·Wyckoff UT $73,610.00이 밀집하고 검증된 가틀리 TP2 AD0.618 $73,580.91과 정합하여, 가장 두꺼운 저항벽인 Wyckoff UT 상단을 likely_wick으로 잡고 존 상단은 피보나치 0.382 저항 $73,662.89(폭 0.48 ATR)로 설정했다. 무효화는 그 위 차트 저항 $73,702.81 수용 시이며, 회복선 ICT EQ/피보나치 0.618 $73,533.70 상실이 거부를 확정한다.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 73167.40,\n      \"turning_zone\": [73130.00, 73185.55],\n      \"likely_wick\": 73148.00,\n      \"rejection_confirm\": 73319.05,\n      \"invalid_overshoot\": 73090.00,\n      \"calibration_reasoning\": \"Wyckoff AR $73,167.40·SOW 저점 $73,158.80·ICT range low $73,158.80·SSL $73,185.55가 중첩된 구역으로, 상단은 SSL 유동성 풀 $73,185.55를 포함하고 구조 저점 $73,158.80 하방 스윕분(폭 0.41 ATR)을 반영해 likely_wick을 $73,148로 잡았다. 반등 확정선은 1차 스윕된 SSL $73,319.05 재탈환이며, $73,090 수용 시 지지 붕괴로 WP3 경로가 열려 무효화된다.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 72556.00,\n      \"turning_zone\": [72470.00, 72556.00],\n      \"likely_wick\": 72500.00,\n      \"rejection_confirm\": 72600.00,\n      \"invalid_overshoot\": 72410.00,\n      \"calibration_reasoning\": \"WP3는 7일/전일 저점 $72,556의 하방(매도측) 유동성 스윕이므로 generic 규칙과 달리 존을 base 아래로 설정했고(거부확정선이 base 위라는 하방 타깃 규칙과 정합), 라운드 넘버 $72,500이 유동성 마그넷이라 likely_wick을 그쪽으로 바이어스했다. 터미널 웨이포인트라 존 폭을 0.63 ATR로 넓혔으며, 스윕 저점 위 $72,600 재탈환이 반전 확정·$72,410 수용 시 진성 하락 이탈로 무효화된다.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 55.6,
      "chairman": 50.4,
      "operating_path": 332.3,
      "tp_calibrator": 213.0
    },
    "agents": {},
    "total_s": 651.3
  }
}