{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-06-27 01:00 KST",
  "last_price": 60300.6,
  "num_candles": 300,
  "stage1_analyses": {
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "bullish",
      "confidence": 0.68,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.64,
      "setup_signals": [
        "현재가 $60,300.60은 EMA20 $59,807.49 및 EMA120 $59,997.68 위에 있어 단기 매수 반응이 유지됨",
        "최근 엄격 등급 bullish_engulfing 감지, pattern_quality 0.748 및 high_volume=true로 매수 캔들 신뢰도 우위",
        "7일 범위 EQ 약 $60,619.80 아래에 위치해 아직 프리미엄이 아닌 할인/중립 구간에서 반등 시도",
        "EMA240 $60,493.89가 바로 위 저항으로 남아 있어 구조 전환 확인 전의 선행 bullish setup 단계",
        "최근 패턴 bull_score 1.6000 대 bear_score 0으로 캔들 모멘텀은 매수 쪽에 편향"
      ],
      "reasoning": "최근 300개 15분봉에서 총 109개 패턴이 감지되었고, 최근에는 bullish_engulfing 2개와 doji 1개가 나타났으며 가장 강한 패턴은 high volume bullish_engulfing, quality 0.748입니다. 현재가 $60,300.60은 EMA20 $59,807.49와 EMA120 $59,997.68 위에 있어 단기 반등 구조는 유효하지만, EMA240 $60,493.89와 7일 EQ 약 $60,619.80 아래에 있어 아직 확정적 상승 구조라고 보기는 어렵습니다. 따라서 structure_bias는 명확한 BOS/CHoCH 확인 전까지 neutral로 두되, setup_bias는 고거래량 bullish engulfing과 단기 EMA 회복을 근거로 bullish입니다. 다만 ATR이 $436.25로 크기 때문에 $60,493.89~$60,619.80 저항을 돌파하지 못하면 단기 매수세가 쉽게 흔들릴 수 있습니다.",
      "key_levels": {
        "support": [
          59997.68,
          59807.49,
          58030.0
        ],
        "resistance": [
          60493.89,
          60619.8,
          63209.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,807.49",
      "risk_scenario": "반대 시나리오는 현재 반등이 EMA240 $60,493.89 및 7일 EQ $60,619.80에서 거절되는 경우입니다. 이 경우 bullish engulfing의 매수 신호가 실패 패턴으로 전환될 수 있으며, EMA120 $59,997.68 이탈 후 EMA20 $59,807.49 아래로 내려가면 단기 매수 setup은 무효화되고 $58,030.00 7일 저점 재테스트 위험이 커집니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 109,
        "recent_patterns": 3,
        "pattern_list": [
          "bullish_engulfing@290",
          "bullish_engulfing@296",
          "doji@295"
        ],
        "atr_value": 436.25,
        "vol_avg_20": 5207.79,
        "high_volume_patterns": [
          "bullish_engulfing"
        ],
        "pattern_candidates": [
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.748,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "bullish_engulfing",
            "signal": "bullish",
            "pattern_quality": 0.49,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "doji",
            "signal": "neutral",
            "pattern_quality": 0.355,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.748,
        "bull_score": 1.6,
        "bear_score": 0
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.68,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"현재가 $60,300.60은 EMA20 $59,807.49 및 EMA120 $59,997.68 위에 있어 단기 매수 반응이 유지됨\",\n    \"최근 엄격 등급 bullish_engulfing 감지, pattern_quality 0.748 및 high_volume=true로 매수 캔들 신뢰도 우위\",\n    \"7일 범위 EQ 약 $60,619.80 아래에 위치해 아직 프리미엄이 아닌 할인/중립 구간에서 반등 시도\",\n    \"EMA240 $60,493.89가 바로 위 저항으로 남아 있어 구조 전환 확인 전의 선행 bullish setup 단계\",\n    \"최근 패턴 bull_score 1.6000 대 bear_score 0으로 캔들 모멘텀은 매수 쪽에 편향\"\n  ],\n  \"reasoning\": \"최근 300개 15분봉에서 총 109개 패턴이 감지되었고, 최근에는 bullish_engulfing 2개와 doji 1개가 나타났으며 가장 강한 패턴은 high volume bullish_engulfing, quality 0.748입니다. 현재가 $60,300.60은 EMA20 $59,807.49와 EMA120 $59,997.68 위에 있어 단기 반등 구조는 유효하지만, EMA240 $60,493.89와 7일 EQ 약 $60,619.80 아래에 있어 아직 확정적 상승 구조라고 보기는 어렵습니다. 따라서 structure_bias는 명확한 BOS/CHoCH 확인 전까지 neutral로 두되, setup_bias는 고거래량 bullish engulfing과 단기 EMA 회복을 근거로 bullish입니다. 다만 ATR이 $436.25로 크기 때문에 $60,493.89~$60,619.80 저항을 돌파하지 못하면 단기 매수세가 쉽게 흔들릴 수 있습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59997.68,\n      59807.49,\n      58030.0\n    ],\n    \"resistance\": [\n      60493.89,\n      60619.8,\n      63209.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,807.49\",\n  \"risk_scenario\": \"반대 시나리오는 현재 반등이 EMA240 $60,493.89 및 7일 EQ $60,619.80에서 거절되는 경우입니다. 이 경우 bullish engulfing의 매수 신호가 실패 패턴으로 전환될 수 있으며, EMA120 $59,997.68 이탈 후 EMA20 $59,807.49 아래로 내려가면 단기 매수 setup은 무효화되고 $58,030.00 7일 저점 재테스트 위험이 커집니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "derivatives": {
      "agent_id": "derivatives",
      "display_name": "Derivatives Trader",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "7일 레인지 EQ 약 $60,619.80 아래에서 거래 중이며 현재가 $60,300.60은 구조적 상단 수용을 아직 확인하지 못함",
        "롱 계정 비율 0.673, account_long_crowding 1.000으로 롱 포지셔닝이 과밀한 contrarian bearish 조건",
        "24시간 가격은 +1.28% 상승했지만 CVD 변화가 -3,749.3780으로 음수라 매수 주도 참여가 약한 상승",
        "OI가 24시간 -1.0360% 감소하여 상승이 신규 롱 유입보다는 포지션 언와인딩/숏커버 성격일 가능성",
        "상단 청산 밀집 구간 $60,600, $61,200, $61,500이 존재하며, 특히 strongest_liq_level $61,200 스윕 후 upthrust 실패 시 하방 전환 위험",
        "현물-선물 베이시스가 -0.0513%로 약한 백워데이션 성격을 보여 파생시장 수요가 강하지 않음"
      ],
      "reasoning": "현재 BTC는 $60,300.60으로 EMA20 $59,807.49와 EMA120 $59,997.68 위에 있지만 EMA240 $60,493.89 아래에 있어 단기 반등은 있으나 구조적 강세 수용은 확인되지 않았습니다. 파생 포지셔닝은 롱 계정 비율 0.673, account_long_crowding 1.000으로 롱 쏠림이 강하고, 동시에 CVD가 -3,749.3780 감소해 가격 상승 대비 실제 매수 체결 참여가 약합니다. OI도 24시간 -1.0360% 감소해 신규 추세 진입보다는 기존 포지션 언와인딩 성격이 강하며, aggregate_score 0.298 및 bear_signals 3개는 4-8시간 선행 관점에서 하방 압력을 시사합니다. 다만 $60,600-$61,500 상단 청산대, 특히 $61,200이 먼저 끌릴 수 있어 즉시 급락보다는 상단 유동성 스윕 후 실패하는 bearish setup이 더 신뢰도 높습니다.",
      "key_levels": {
        "support": [
          59997.68,
          59807.49,
          58030,
          57700,
          54100,
          54000
        ],
        "resistance": [
          60493.89,
          60600,
          61200,
          61500,
          63209.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,500 상방에서 15분봉 기준 명확히 수용되고 OI가 동반 증가할 경우",
      "risk_scenario": "$60,600과 $61,200 청산 유동성을 흡수한 뒤에도 가격이 $61,500 위에서 유지되고 OI가 증가하면, 현재의 롱 과밀 신호는 숏 스퀴즈 연료로 바뀌며 $63,209.60 7일 고점 재테스트로 확장될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.15,
        "cvd_change": -3749.378,
        "oi_trend": 0.396,
        "oi_change_pct_24h": -1.036,
        "oi_latest": 104294.808,
        "funding_pressure": 0.457,
        "funding_avg": 4.261e-05,
        "funding_change_24h": 4.324e-05,
        "long_account_ratio": 0.69,
        "short_account_ratio": 0.31,
        "long_account_latest": 0.673,
        "short_account_latest": 0.327,
        "long_account_change_24h": -0.03,
        "short_account_change_24h": 0.03,
        "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.487,
        "spot_futures_basis_pct": -0.0513,
        "basis_change_lookback": 0.0058,
        "aggregate_score": 0.298,
        "bull_signals": 0,
        "bear_signals": 3,
        "liq_below": [
          [
            57700,
            3728.896954
          ],
          [
            54100,
            3748.6504475
          ],
          [
            54000,
            4277.5743375
          ]
        ],
        "liq_above": [
          [
            60600,
            3879.2300204999997
          ],
          [
            61200,
            5125.628641650001
          ],
          [
            61500,
            3796.6027145000007
          ]
        ],
        "strongest_liq_level": 61200,
        "fragility_score": 0.495,
        "positioning_extreme": "balanced"
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"7일 레인지 EQ 약 $60,619.80 아래에서 거래 중이며 현재가 $60,300.60은 구조적 상단 수용을 아직 확인하지 못함\",\n    \"롱 계정 비율 0.673, account_long_crowding 1.000으로 롱 포지셔닝이 과밀한 contrarian bearish 조건\",\n    \"24시간 가격은 +1.28% 상승했지만 CVD 변화가 -3,749.3780으로 음수라 매수 주도 참여가 약한 상승\",\n    \"OI가 24시간 -1.0360% 감소하여 상승이 신규 롱 유입보다는 포지션 언와인딩/숏커버 성격일 가능성\",\n    \"상단 청산 밀집 구간 $60,600, $61,200, $61,500이 존재하며, 특히 strongest_liq_level $61,200 스윕 후 upthrust 실패 시 하방 전환 위험\",\n    \"현물-선물 베이시스가 -0.0513%로 약한 백워데이션 성격을 보여 파생시장 수요가 강하지 않음\"\n  ],\n  \"reasoning\": \"현재 BTC는 $60,300.60으로 EMA20 $59,807.49와 EMA120 $59,997.68 위에 있지만 EMA240 $60,493.89 아래에 있어 단기 반등은 있으나 구조적 강세 수용은 확인되지 않았습니다. 파생 포지셔닝은 롱 계정 비율 0.673, account_long_crowding 1.000으로 롱 쏠림이 강하고, 동시에 CVD가 -3,749.3780 감소해 가격 상승 대비 실제 매수 체결 참여가 약합니다. OI도 24시간 -1.0360% 감소해 신규 추세 진입보다는 기존 포지션 언와인딩 성격이 강하며, aggregate_score 0.298 및 bear_signals 3개는 4-8시간 선행 관점에서 하방 압력을 시사합니다. 다만 $60,600-$61,500 상단 청산대, 특히 $61,200이 먼저 끌릴 수 있어 즉시 급락보다는 상단 유동성 스윕 후 실패하는 bearish setup이 더 신뢰도 높습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59997.68,\n      59807.49,\n      58030,\n      57700,\n      54100,\n      54000\n    ],\n    \"resistance\": [\n      60493.89,\n      60600,\n      61200,\n      61500,\n      63209.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,500 상방에서 15분봉 기준 명확히 수용되고 OI가 동반 증가할 경우\",\n  \"risk_scenario\": \"$60,600과 $61,200 청산 유동성을 흡수한 뒤에도 가격이 $61,500 위에서 유지되고 OI가 증가하면, 현재의 롱 과밀 신호는 숏 스퀴즈 연료로 바뀌며 $63,209.60 7일 고점 재테스트로 확장될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.6,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.68,
      "setup_signals": [
        "가격이 EQ/0.5 되돌림 $59,561.00 위의 프리미엄 구간에 위치",
        "하락 스윙 $60,734 → $58,388 기준 0.786 깊은 되돌림 $60,231.96을 테스트 중",
        "골든비율 0.618 되돌림 $59,837.83 위에서 거래되지만 스윙 고점 $60,734를 아직 돌파하지 못함",
        "EMA240 $60,493.89가 현재가 $60,300.60 위에 있어 단기 상단 저항으로 작용 가능",
        "피보나치 반응 상태가 testing이며 reaction_probability 0.65로 되돌림 구간 반응 가능성 존재"
      ],
      "reasoning": "현재 BTC는 하락 스윙 $60,734 → $58,388의 0.786 되돌림인 $60,231.96 부근을 테스트하고 있으며, 현재가 $60,300.60은 해당 레벨을 약간 상회합니다. 그러나 구조적으로는 스윙 고점 $60,734를 확정 돌파하지 못했기 때문에 하락 구조가 아직 무효화되지 않았고, 가격은 EQ $59,561.00 및 0.618 골든비율 $59,837.83 위의 프리미엄 구간에 있습니다. 0.618~0.786 구간은 하락 스윙의 고확률 반응 영역이며, confluence_quality 0.600과 $60,120.28 부근의 0.382/0.786 클러스터가 단기 저항성 반응 가능성을 높입니다. 따라서 확정적인 붕괴 전까지는 공격적 숏보다는 $60,231.96 이탈 여부를 확인하는 약세 우위 관점이 적절합니다.",
      "key_levels": {
        "support": [
          60231.96,
          59837.83,
          59561.0,
          59284.17,
          58388.0
        ],
        "resistance": [
          60493.89,
          60734.0,
          63209.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,734.00",
      "risk_scenario": "$60,231.96 위에서 가격이 계속 수용되고 EMA240 $60,493.89까지 회복한 뒤 스윙 고점 $60,734.00을 돌파하면, 현재의 0.786 되돌림 저항 가정은 무효화되며 $63,209.60 7일 고점 방향의 상승 확장 시나리오로 전환될 수 있습니다.",
      "data_quality": "high",
      "metrics": {
        "swing_pair": "High→Low: $60,734 → $58,388",
        "direction": "down",
        "nearest_fib": "ret_0.786",
        "nearest_fib_price": 60231.96,
        "nearest_fib_distance": 0.11,
        "golden_ratio_level": 59837.83,
        "fib_ret_382": 59284.17,
        "fib_ret_618": 59837.83,
        "confluence_zones": [
          {
            "price": 55963.82,
            "count": 2,
            "levels": [
              "ext_1.414",
              "ext_2.0"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 57889.94,
            "count": 2,
            "levels": [
              "ext_1.272",
              "ext_1.0"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 59268.28,
            "count": 2,
            "levels": [
              "ret_0.236",
              "ret_0.382"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 59699.41,
            "count": 2,
            "levels": [
              "ret_0.5",
              "ret_0.618"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 60120.28,
            "count": 2,
            "levels": [
              "ret_0.382",
              "ret_0.786"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          60231.956,
          59837.828,
          59561.0
        ],
        "resistance_levels": [],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 58941.66,
            "distance_pct": 2.25,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ret_0.382",
            "price": 59284.17,
            "distance_pct": 1.69,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.5",
            "price": 59561.0,
            "distance_pct": 1.23,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.618",
            "price": 59837.83,
            "distance_pct": 0.77,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.786",
            "price": 60231.96,
            "distance_pct": 0.11,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.0",
            "price": 58388.0,
            "distance_pct": 3.17,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.272",
            "price": 57749.89,
            "distance_pct": 4.23,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 57416.76,
            "distance_pct": 4.78,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.618",
            "price": 56938.17,
            "distance_pct": 5.58,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 56042.0,
            "distance_pct": 7.06,
            "is_support": true,
            "cluster_score": 0.6
          }
        ],
        "confluence_quality": 0.6,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.6,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.68,\n  \"setup_signals\": [\n    \"가격이 EQ/0.5 되돌림 $59,561.00 위의 프리미엄 구간에 위치\",\n    \"하락 스윙 $60,734 → $58,388 기준 0.786 깊은 되돌림 $60,231.96을 테스트 중\",\n    \"골든비율 0.618 되돌림 $59,837.83 위에서 거래되지만 스윙 고점 $60,734를 아직 돌파하지 못함\",\n    \"EMA240 $60,493.89가 현재가 $60,300.60 위에 있어 단기 상단 저항으로 작용 가능\",\n    \"피보나치 반응 상태가 testing이며 reaction_probability 0.65로 되돌림 구간 반응 가능성 존재\"\n  ],\n  \"reasoning\": \"현재 BTC는 하락 스윙 $60,734 → $58,388의 0.786 되돌림인 $60,231.96 부근을 테스트하고 있으며, 현재가 $60,300.60은 해당 레벨을 약간 상회합니다. 그러나 구조적으로는 스윙 고점 $60,734를 확정 돌파하지 못했기 때문에 하락 구조가 아직 무효화되지 않았고, 가격은 EQ $59,561.00 및 0.618 골든비율 $59,837.83 위의 프리미엄 구간에 있습니다. 0.618~0.786 구간은 하락 스윙의 고확률 반응 영역이며, confluence_quality 0.600과 $60,120.28 부근의 0.382/0.786 클러스터가 단기 저항성 반응 가능성을 높입니다. 따라서 확정적인 붕괴 전까지는 공격적 숏보다는 $60,231.96 이탈 여부를 확인하는 약세 우위 관점이 적절합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60231.96,\n      59837.83,\n      59561.0,\n      59284.17,\n      58388.0\n    ],\n    \"resistance\": [\n      60493.89,\n      60734.0,\n      63209.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,734.00\",\n  \"risk_scenario\": \"$60,231.96 위에서 가격이 계속 수용되고 EMA240 $60,493.89까지 회복한 뒤 스윙 고점 $60,734.00을 돌파하면, 현재의 0.786 되돌림 저항 가정은 무효화되며 $63,209.60 7일 고점 방향의 상승 확장 시나리오로 전환될 수 있습니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "bearish",
      "confidence": 0.74,
      "structure_bias": "bearish",
      "setup_bias": "bearish",
      "setup_score": 0.62,
      "setup_signals": [
        "현재가 $60,300.60이 분배 메인 레인지 하단/AR $60,752.80 아래에 위치하여 하단 이탈 이후 되돌림 성격",
        "UT $60,734.00 및 AR $60,752.80 재진입 실패 시 Phase E 분배 약세 지속 조건",
        "최근 SOW $59,210.40 이후 Phase E 저점 $58,388.00 형성, 반등은 아직 BC $61,188.00 및 ST $61,931.10 회복 전",
        "분배 시퀀스가 BC $61,188.00 → AR $60,752.80 → ST $61,931.10 → SOW_IN_PHASE_B $58,030.00 → UT $60,734.00 → SOW $59,210.40 → Phase E $58,388.00로 진행"
      ],
      "reasoning": "15분 구조는 regime=DIS, regime_fitness 0.963, active_structure 15m_cycle_1 기준 분배 후보이지만 phase_structures에서 is_confirmed=true로 표시되어 구조적 편향은 bearish로 본다. 핵심 앵커는 BC $61,188.00과 AR $60,752.80이며, 현재가 $60,300.60은 AR 하단 $60,752.80 및 UT $60,734.00 아래에 있어 Phase E 이후 되돌림이 아직 레인지 내부로 수용되지 않았다. 다만 현재 가격은 Phase E 저점 $58,388.00 및 SOW_IN_PHASE_B $58,030.00에서 반등한 상태이므로 즉각적인 추가 하락 확정보다는 $60,734~$60,752 재시험 후 거절 여부가 중요하다. $60,752.80을 회복하지 못하면 $59,210.40, $58,388.00, $58,030.00 재시험 가능성이 우세하고, $61,188.00 이상 회복 시 분배 Phase E 해석은 약화된다.",
      "key_levels": {
        "support": [
          59210.4,
          58388.0,
          58030.0
        ],
        "resistance": [
          60734.0,
          60752.8,
          61188.0,
          61931.1
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$61,931.10",
      "risk_scenario": "$60,734.00~$60,752.80을 회복하고 그 위에서 수용되면 Phase E 하락 지속 시나리오는 약화되며, $61,188.00 BC 및 $61,931.10 ST 재시험으로 이어질 수 있다. 특히 $61,931.10 상향 돌파 및 유지가 확인되면 현재 분배 기반 bearish 구조 해석은 무효화된다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 96.2,
        "dis_score": 96.2,
        "regime": "DIS",
        "regime_state": "dis_candidate",
        "structure_bias": "bearish",
        "phase_context": "dis_candidate / distribution / Phase E",
        "phases_detected": [
          "BC",
          "AR",
          "ST",
          "SOW_IN_PHASE_B",
          "UT",
          "SOW",
          "Phase E"
        ],
        "last_phase": "Phase E",
        "phase_candidates": [
          {
            "label": "BC",
            "side": "high",
            "idx": 127,
            "price": 61188.0,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "low",
            "idx": 134,
            "price": 60752.8,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "high",
            "idx": 170,
            "price": 61931.1,
            "color": "#118ab2"
          },
          {
            "label": "SOW_IN_PHASE_B",
            "side": "low",
            "idx": 195,
            "price": 58030.0,
            "color": "#ef476f"
          },
          {
            "label": "UT",
            "side": "high",
            "idx": 266,
            "price": 60734.0,
            "color": "#f9844a"
          },
          {
            "label": "SOW",
            "side": "low",
            "idx": 279,
            "price": 59210.4,
            "color": "#ef476f"
          },
          {
            "label": "Phase E",
            "side": "low",
            "idx": 289,
            "price": 58388.0,
            "color": "#7209b7"
          }
        ],
        "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": 127,
            "end_idx": 289,
            "phase_count": 7,
            "phases": [
              {
                "label": "BC",
                "side": "high",
                "idx": 127,
                "price": 61188.0,
                "color": "#ffd166",
                "dt": "2026-06-25 05:45:00+09:00"
              },
              {
                "label": "AR",
                "side": "low",
                "idx": 134,
                "price": 60752.8,
                "color": "#06d6a0",
                "dt": "2026-06-25 07:30:00+09:00"
              },
              {
                "label": "ST",
                "side": "high",
                "idx": 170,
                "price": 61931.1,
                "color": "#118ab2",
                "dt": "2026-06-25 16:30:00+09:00"
              },
              {
                "label": "SOW_IN_PHASE_B",
                "side": "low",
                "idx": 195,
                "price": 58030.0,
                "color": "#ef476f",
                "dt": "2026-06-25 22:45:00+09:00"
              },
              {
                "label": "UT",
                "side": "high",
                "idx": 266,
                "price": 60734.0,
                "color": "#f9844a",
                "dt": "2026-06-26 16:30:00+09:00"
              },
              {
                "label": "SOW",
                "side": "low",
                "idx": 279,
                "price": 59210.4,
                "color": "#ef476f",
                "dt": "2026-06-26 19:45:00+09:00"
              },
              {
                "label": "Phase E",
                "side": "low",
                "idx": 289,
                "price": 58388.0,
                "color": "#7209b7",
                "dt": "2026-06-26 22:15:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_1",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 1,
        "regime_fitness": 0.9625,
        "current_event": "Phase E",
        "major_phase": "E",
        "pos_in_range": 0.5,
        "main_range_low": 60752.8,
        "main_range_high": 61188.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.74,\n  \"structure_bias\": \"bearish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.62,\n  \"setup_signals\": [\n    \"현재가 $60,300.60이 분배 메인 레인지 하단/AR $60,752.80 아래에 위치하여 하단 이탈 이후 되돌림 성격\",\n    \"UT $60,734.00 및 AR $60,752.80 재진입 실패 시 Phase E 분배 약세 지속 조건\",\n    \"최근 SOW $59,210.40 이후 Phase E 저점 $58,388.00 형성, 반등은 아직 BC $61,188.00 및 ST $61,931.10 회복 전\",\n    \"분배 시퀀스가 BC $61,188.00 → AR $60,752.80 → ST $61,931.10 → SOW_IN_PHASE_B $58,030.00 → UT $60,734.00 → SOW $59,210.40 → Phase E $58,388.00로 진행\"\n  ],\n  \"reasoning\": \"15분 구조는 regime=DIS, regime_fitness 0.963, active_structure 15m_cycle_1 기준 분배 후보이지만 phase_structures에서 is_confirmed=true로 표시되어 구조적 편향은 bearish로 본다. 핵심 앵커는 BC $61,188.00과 AR $60,752.80이며, 현재가 $60,300.60은 AR 하단 $60,752.80 및 UT $60,734.00 아래에 있어 Phase E 이후 되돌림이 아직 레인지 내부로 수용되지 않았다. 다만 현재 가격은 Phase E 저점 $58,388.00 및 SOW_IN_PHASE_B $58,030.00에서 반등한 상태이므로 즉각적인 추가 하락 확정보다는 $60,734~$60,752 재시험 후 거절 여부가 중요하다. $60,752.80을 회복하지 못하면 $59,210.40, $58,388.00, $58,030.00 재시험 가능성이 우세하고, $61,188.00 이상 회복 시 분배 Phase E 해석은 약화된다.\",\n  \"key_levels\": {\n    \"support\": [\n      59210.4,\n      58388.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60734.0,\n      60752.8,\n      61188.0,\n      61931.1\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$61,931.10\",\n  \"risk_scenario\": \"$60,734.00~$60,752.80을 회복하고 그 위에서 수용되면 Phase E 하락 지속 시나리오는 약화되며, $61,188.00 BC 및 $61,931.10 ST 재시험으로 이어질 수 있다. 특히 $61,931.10 상향 돌파 및 유지가 확인되면 현재 분배 기반 bearish 구조 해석은 무효화된다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "bearish",
      "confidence": 0.64,
      "structure_bias": "bullish",
      "setup_bias": "bearish",
      "setup_score": 0.768,
      "setup_signals": [
        "현재가 $60,300.60은 EQ $59,561.00 위의 premium zone에 위치",
        "하락 관점 retracement가 89.8%까지 진행되어 range high $60,734.00 인근 프리미엄 구간 진입",
        "최근 구조 이벤트에 bearish CHoCH $62,402.80 및 bearish CHoCH $60,648.00 존재",
        "현재가가 EMA240 $60,493.89 아래에 있어 상단 수용 실패 가능성 존재",
        "이전일 고점 및 현재 range high $60,734.00을 아직 돌파하지 못함"
      ],
      "reasoning": "확정 구조 관점에서는 가장 최근 이벤트가 BOS_bullish $60,245.00이므로 단기 structure_bias는 bullish로 읽지만, 연속 bullish BOS가 1회뿐이고 구조가 CHoCH/BOS로 교차되어 강한 추세 확정은 아닙니다. 실행 셋업 관점에서는 현재가 $60,300.60이 EQ $59,561.00 위 premium zone에 있으며, retracement가 89.8%로 깊게 올라와 range high $60,734.00 및 Asian high $60,494.10 근처에서 매도 반응이 나올 수 있는 위치입니다. 특히 $60,648.00 bearish CHoCH 레벨과 $60,734.00 이전일 고점이 바로 위에 있어, 이 구간을 수용하지 못하면 기관 관점에서는 프리미엄에서 롱 유동성을 유도한 뒤 $60,245.00, $59,997.68, $59,561.00 방향으로 되돌릴 가능성이 큽니다. 다만 미체결 FVG가 0개이고 active OB도 없어, 강한 디스플레이스먼트보다는 상단 실패 후 단기 되돌림 셋업으로 보는 것이 적절합니다.",
      "key_levels": {
        "support": [
          60245.0,
          59997.68,
          59807.49,
          59561.0,
          59560.0,
          58944.0,
          58288.0
        ],
        "resistance": [
          60494.1,
          60493.89,
          60648.0,
          60734.0,
          61256.0,
          62402.8,
          63209.6
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,734.00",
      "risk_scenario": "$60,734.00을 15분봉 기준으로 상방 돌파하고 수용하면 bearish setup은 무효화되며, $61,256.00 BOS 레벨 재공략 이후 $62,402.80 및 7일 고점 $63,209.60까지 buy-side liquidity 확장 시나리오가 열립니다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 1,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 1,
        "candidate_bearish_ob": 0,
        "active_bullish_ob": 0,
        "active_bearish_ob": 0,
        "nearest_bull_ob_range": {
          "bottom": 58288.0,
          "top": 58944.0,
          "quality": "candidate",
          "score": 0.577
        },
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [],
        "ob_mitigated_count": 1,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 64,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "CHoCH_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "CHoCH_bearish",
            "level": 62402.8
          },
          {
            "type": "BOS_bullish",
            "level": 61256.0
          },
          {
            "type": "CHoCH_bearish",
            "level": 60648.0
          },
          {
            "type": "BOS_bullish",
            "level": 60245.0
          }
        ],
        "bos_sequence": [
          "CHoCH_bearish",
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bullish"
        ],
        "consecutive_bull_bos": 1,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "premium",
        "eq_level": 59561.0,
        "range_high": 60734.0,
        "range_low": 58388.0,
        "bull_score": 5.0,
        "bear_score": 5.9,
        "setup_bias": "bearish",
        "setup_score": 0.768,
        "setup_signals": [
          "bearish CHoCH below $62,402.80",
          "bearish CHoCH below $60,648.00",
          "deep retracement 89.8% in premium zone"
        ],
        "retracement_direction": "bearish",
        "current_retracement_pct": 89.8,
        "deepest_retracement_pct": 89.8,
        "previous_day_high": 60734.0,
        "previous_day_low": 58288.0,
        "broken_prev_high": false,
        "broken_prev_low": false,
        "sessions": {
          "London": {
            "active": false,
            "high": null,
            "low": null
          },
          "New York": {
            "active": false,
            "high": null,
            "low": null
          },
          "Asian kill zone": {
            "active": true,
            "high": 60494.1,
            "low": 59560.0
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.64,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.768,\n  \"setup_signals\": [\n    \"현재가 $60,300.60은 EQ $59,561.00 위의 premium zone에 위치\",\n    \"하락 관점 retracement가 89.8%까지 진행되어 range high $60,734.00 인근 프리미엄 구간 진입\",\n    \"최근 구조 이벤트에 bearish CHoCH $62,402.80 및 bearish CHoCH $60,648.00 존재\",\n    \"현재가가 EMA240 $60,493.89 아래에 있어 상단 수용 실패 가능성 존재\",\n    \"이전일 고점 및 현재 range high $60,734.00을 아직 돌파하지 못함\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 가장 최근 이벤트가 BOS_bullish $60,245.00이므로 단기 structure_bias는 bullish로 읽지만, 연속 bullish BOS가 1회뿐이고 구조가 CHoCH/BOS로 교차되어 강한 추세 확정은 아닙니다. 실행 셋업 관점에서는 현재가 $60,300.60이 EQ $59,561.00 위 premium zone에 있으며, retracement가 89.8%로 깊게 올라와 range high $60,734.00 및 Asian high $60,494.10 근처에서 매도 반응이 나올 수 있는 위치입니다. 특히 $60,648.00 bearish CHoCH 레벨과 $60,734.00 이전일 고점이 바로 위에 있어, 이 구간을 수용하지 못하면 기관 관점에서는 프리미엄에서 롱 유동성을 유도한 뒤 $60,245.00, $59,997.68, $59,561.00 방향으로 되돌릴 가능성이 큽니다. 다만 미체결 FVG가 0개이고 active OB도 없어, 강한 디스플레이스먼트보다는 상단 실패 후 단기 되돌림 셋업으로 보는 것이 적절합니다.\",\n  \"key_levels\": {\n    \"support\": [\n      60245.0,\n      59997.68,\n      59807.49,\n      59561.0,\n      59560.0,\n      58944.0,\n      58288.0\n    ],\n    \"resistance\": [\n      60494.1,\n      60493.89,\n      60648.0,\n      60734.0,\n      61256.0,\n      62402.8,\n      63209.6\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,734.00\",\n  \"risk_scenario\": \"$60,734.00을 15분봉 기준으로 상방 돌파하고 수용하면 bearish setup은 무효화되며, $61,256.00 BOS 레벨 재공략 이후 $62,402.80 및 7일 고점 $63,209.60까지 buy-side liquidity 확장 시나리오가 열립니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bearish",
      "confidence": 0.38,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.46,
      "setup_signals": [
        "현재가 $60,300.60이 완료된 bearish Bat PRZ $60,016.48-$60,577.81 내부에 위치하며, D=$60,297.15 부근을 재시험 중",
        "완료된 bearish Bat은 PRZ 진입/거부 및 AD 0.382 반응 도달 확인, reaction_score 0.8, vote_weight 0.58로 중간급 반전 리스크 형성",
        "완료된 bearish Gartley PRZ $59,831.89-$60,188.30은 reaction_score 1.0으로 확인된 하방 반응을 보였고 TP1 $59,561.29, TP2 $59,284.01이 남아 있음",
        "근접한 strict high bearish Gartley forming PRZ $59,757.24-$60,064.56은 XAD/BC_EXT/ABCD 3중 Fib confluence이며, D 목표 $59,910.90",
        "상단에는 추가 bearish PRZ 클러스터가 $60,475.12-$60,972.63 및 $60,515.21-$60,931.75에 대기해 반등 시 공급/반전 후보 구간으로 작동"
      ],
      "reasoning": "하모닉 기준으로는 현재가 $60,300.60이 완료된 bearish Bat PRZ $60,016.48-$60,577.81 내부에 있어 단기 하방 반응 위험이 우세하지만, 해당 패턴은 candidate/low 품질이므로 단독 방향 엔진으로 쓰기 어렵다. 더 강한 근거는 완료 bearish Gartley $59,831.89-$60,188.30의 reaction_score 1.0과 완료 Bat의 reaction_score 0.8이며, 두 패턴 모두 PRZ 터치/거부와 AD 0.382 반응을 충족했다. 다만 council 기준에서 가장 관련 있는 strict high 패턴은 아직 forming bearish Gartley PRZ $59,757.24-$60,064.56이며 confirmed_reaction=false라서 구조를 하락으로 확정할 수 없다. 따라서 structure_bias는 중립, setup_bias는 PRZ 클러스터 기반의 약한 bearish로 판단하며, TP 후보는 $59,738.68, $59,621.27, $59,442.33, $59,152.70 순서가 유효하다.",
      "key_levels": {
        "support": [
          60016.48,
          60064.56,
          59757.24,
          59738.68,
          59621.27,
          59442.33,
          59152.7,
          58835.2
        ],
        "resistance": [
          60577.81,
          60590.03,
          60931.75,
          60972.63,
          61269.0
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,972.63",
      "risk_scenario": "가격이 $60,577.81 상단을 회복하고 특히 $60,972.63 위에서 15분봉/1시간봉 기준 수용되면 현재 bearish PRZ 반응은 실패로 간주된다. 그 경우 $60,831.28-$61,269.00의 상위 bearish Shark PRZ까지 유동성 확장 가능성이 열리며, 하모닉 하방 TP인 $59,738.68-$59,442.33 도달 가능성은 크게 약화된다.",
      "data_quality": "medium",
      "metrics": {
        "patterns_found": 98,
        "completed_patterns_found": 38,
        "forming_d_prz_found": 60,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 55,
        "swing_highs_scanned": 29,
        "swing_lows_scanned": 26,
        "timeframe": "15m",
        "prz_active_threshold_pct": 0.3,
        "prz_nearby_threshold_pct": 0.6,
        "prz_watch_threshold_pct": 1.2,
        "prz_max_width_pct": 0.6,
        "quality_counts": {
          "high": 5,
          "medium": 33,
          "low": 60
        },
        "prz_status_counts": {
          "active": 27,
          "nearby": 11,
          "watch": 11,
          "far": 49,
          "forming": 33
        },
        "high_confluence_prz_count": 26,
        "strict_patterns_found": 42,
        "candidate_patterns_found": 56,
        "active_patterns_at_prz": 27,
        "nearby_patterns": 11,
        "all_patterns": [
          "bat",
          "shark",
          "bat",
          "crab",
          "shark",
          "butterfly",
          "gartley",
          "gartley",
          "crab",
          "bat",
          "gartley",
          "bat",
          "gartley",
          "bat",
          "bat",
          "crab",
          "butterfly",
          "gartley",
          "shark",
          "gartley",
          "shark",
          "gartley",
          "gartley",
          "butterfly",
          "bat",
          "gartley",
          "bat",
          "bat",
          "shark",
          "bat",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "crab",
          "bat",
          "butterfly",
          "shark",
          "butterfly",
          "crab",
          "bat",
          "gartley",
          "crab",
          "crab",
          "butterfly",
          "crab",
          "butterfly",
          "butterfly",
          "crab",
          "butterfly",
          "butterfly",
          "crab",
          "butterfly",
          "gartley",
          "crab",
          "crab",
          "bat",
          "butterfly",
          "butterfly",
          "gartley",
          "shark",
          "bat",
          "shark",
          "crab",
          "butterfly",
          "crab",
          "shark",
          "gartley",
          "butterfly",
          "crab",
          "shark",
          "crab",
          "shark",
          "butterfly",
          "crab",
          "gartley",
          "shark",
          "crab",
          "gartley",
          "shark",
          "crab",
          "butterfly",
          "shark",
          "crab",
          "butterfly",
          "butterfly",
          "shark",
          "butterfly",
          "butterfly",
          "crab",
          "crab",
          "crab",
          "crab",
          "butterfly",
          "shark",
          "butterfly"
        ],
        "all_signals": [
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.902,
        "best_completion_status": "forming",
        "nearest_pattern": "bat",
        "nearest_prz": 60297.15,
        "price_to_prz": -0.01,
        "prz_range": [
          60016.48,
          60577.81
        ],
        "council_relevant_prz_count": 1,
        "directional_influence_prz_count": 1,
        "confirmed_reaction_prz_count": 0,
        "validated_harmonic_tp_count": 0,
        "pattern_candidates": [
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.865,
            "ratio_score": 0.788,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59910.9,
            "prz_range": [
              59757.24,
              60064.56
            ],
            "prz_width_pct": 0.513,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.65,
            "price_to_prz_pct_raw": -0.6463,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 59910.9,
              "a_price": 59152.7,
              "tp1_ad_382": 59621.27,
              "tp2_ad_618": 59442.33,
              "tp3_a_or_structure_liquidity": 59152.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6464,
              "ABC": 0.8989
            },
            "x_price": 60035.7,
            "x_idx": 204,
            "x_order": 5,
            "a_price": 59152.7,
            "a_idx": 217,
            "a_order": 8,
            "b_price": 59723.5,
            "b_idx": 220,
            "b_order": 5,
            "c_price": 59210.4,
            "c_idx": 279,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.854,
            "ratio_score": 0.813,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60164.3,
            "prz_range": [
              59831.89,
              60188.3
            ],
            "prz_width_pct": 0.594,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.48,
            "price_to_prz_pct_raw": -0.4818,
            "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.383,
                "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": 60010.1,
              "a_price": 58835.2,
              "tp1_ad_382": 59561.29,
              "tp2_ad_618": 59284.01,
              "tp3_a_or_structure_liquidity": 58835.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.576,
              "ABC": 0.6622,
              "BCD": 1.6256,
              "XAD": 0.8145
            },
            "x_price": 60466.9,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 58835.2,
            "a_idx": 201,
            "a_order": 3,
            "b_price": 59775.0,
            "b_idx": 212,
            "b_order": 5,
            "c_price": 59152.7,
            "c_idx": 217,
            "c_order": 8,
            "d_idx": 234
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.895,
            "ratio_score": 1.0,
            "prz_score": 0.955,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61050.14,
            "prz_range": [
              60831.28,
              61269.0
            ],
            "prz_width_pct": 0.717,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.24,
            "price_to_prz_pct_raw": 1.243,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 61050.14,
              "a_price": 60752.8,
              "tp1_ad_382": 60936.55,
              "tp2_ad_618": 60866.38,
              "tp3_a_or_structure_liquidity": 60752.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4773,
              "ABC": 1.5046
            },
            "x_price": 61188.0,
            "x_idx": 127,
            "x_order": 3,
            "a_price": 60752.8,
            "a_idx": 134,
            "a_order": 3,
            "b_price": 60960.5,
            "b_idx": 147,
            "b_order": 3,
            "c_price": 60648.0,
            "c_idx": 153,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.884,
            "ratio_score": 0.882,
            "prz_score": 0.907,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60336.71,
            "prz_range": [
              60083.38,
              60590.03
            ],
            "prz_width_pct": 0.84,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.06,
            "price_to_prz_pct_raw": 0.0599,
            "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": 60336.71,
              "a_price": 59705.4,
              "tp1_ad_382": 60095.55,
              "tp2_ad_618": 59946.56,
              "tp3_a_or_structure_liquidity": 59705.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6026,
              "ABC": 1.0854
            },
            "x_price": 60466.9,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 59705.4,
            "a_idx": 231,
            "a_order": 3,
            "b_price": 60164.3,
            "b_idx": 234,
            "b_order": 5,
            "c_price": 59666.2,
            "c_idx": 260,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.879,
            "ratio_score": 0.867,
            "prz_score": 0.967,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60723.48,
            "prz_range": [
              60515.21,
              60931.75
            ],
            "prz_width_pct": 0.686,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.7,
            "price_to_prz_pct_raw": 0.7013,
            "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": 60723.48,
              "a_price": 58835.2,
              "tp1_ad_382": 60002.16,
              "tp2_ad_618": 59556.52,
              "tp3_a_or_structure_liquidity": 58835.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8145,
              "ABC": 0.7177
            },
            "x_price": 60466.9,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 58835.2,
            "a_idx": 201,
            "a_order": 3,
            "b_price": 60164.3,
            "b_idx": 234,
            "b_order": 5,
            "c_price": 59210.4,
            "c_idx": 279,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.865,
            "ratio_score": 0.873,
            "prz_score": 0.915,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60723.87,
            "prz_range": [
              60475.12,
              60972.63
            ],
            "prz_width_pct": 0.819,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.7,
            "price_to_prz_pct_raw": 0.7019,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60723.87,
              "a_price": 58030.0,
              "tp1_ad_382": 59694.81,
              "tp2_ad_618": 59059.06,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5966,
              "ABC": 0.8835
            },
            "x_price": 61742.9,
            "x_idx": 190,
            "x_order": 8,
            "a_price": 58030.0,
            "a_idx": 195,
            "a_order": 8,
            "b_price": 60245.0,
            "b_idx": 227,
            "b_order": 8,
            "c_price": 58288.0,
            "c_idx": 248,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.852,
            "ratio_score": 0.81,
            "prz_score": 0.879,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60063.01,
            "prz_range": [
              59789.27,
              60336.74
            ],
            "prz_width_pct": 0.911,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.39,
            "price_to_prz_pct_raw": -0.394,
            "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": 60063.01,
              "a_price": 59114.4,
              "tp1_ad_382": 59700.64,
              "tp2_ad_618": 59476.77,
              "tp3_a_or_structure_liquidity": 59114.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4884,
              "ABC": 0.942
            },
            "x_price": 60466.9,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 59114.4,
            "a_idx": 208,
            "a_order": 5,
            "b_price": 59775.0,
            "b_idx": 212,
            "b_order": 5,
            "c_price": 59152.7,
            "c_idx": 217,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.835,
            "ratio_score": 0.852,
            "prz_score": 0.871,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60274.2,
            "prz_range": [
              60016.48,
              60577.81
            ],
            "prz_width_pct": 0.931,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.01,
            "price_to_prz_pct_raw": -0.0057,
            "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"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.636,
                "adverse_move_ratio_ad": 0.153,
                "bars_after_d": 7,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "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": "bat",
              "d_price": 60297.15,
              "a_price": 58835.2,
              "tp1_ad_382": 59738.68,
              "tp2_ad_618": 59393.66,
              "tp3_a_or_structure_liquidity": 58835.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5444,
              "ABC": 0.5776,
              "BCD": 2.0733,
              "XAD": 0.8819
            },
            "x_price": 60466.9,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 58835.2,
            "a_idx": 201,
            "a_order": 3,
            "b_price": 59723.5,
            "b_idx": 220,
            "b_order": 5,
            "c_price": 59210.4,
            "c_idx": 279,
            "c_order": 5,
            "d_idx": 292
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.865,
            "ratio_score": 0.788,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59910.9,
            "prz_range": [
              59757.24,
              60064.56
            ],
            "prz_width_pct": 0.513,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.65,
            "price_to_prz_pct_raw": -0.6463,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 59910.9,
              "a_price": 59152.7,
              "tp1_ad_382": 59621.27,
              "tp2_ad_618": 59442.33,
              "tp3_a_or_structure_liquidity": 59152.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6464,
              "ABC": 0.8989
            },
            "x_price": 60035.7,
            "x_idx": 204,
            "x_order": 5,
            "a_price": 59152.7,
            "a_idx": 217,
            "a_order": 8,
            "b_price": 59723.5,
            "b_idx": 220,
            "b_order": 5,
            "c_price": 59210.4,
            "c_idx": 279,
            "c_order": 5,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.865,
            "ratio_score": 0.788,
            "prz_score": 1.0,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59910.9,
            "prz_range": [
              59757.24,
              60064.56
            ],
            "prz_width_pct": 0.513,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.65,
            "price_to_prz_pct_raw": -0.6463,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 59910.9,
              "a_price": 59152.7,
              "tp1_ad_382": 59621.27,
              "tp2_ad_618": 59442.33,
              "tp3_a_or_structure_liquidity": 59152.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6464,
              "ABC": 0.8989
            },
            "x_price": 60035.7,
            "x_idx": 204,
            "x_order": 5,
            "a_price": 59152.7,
            "a_idx": 217,
            "a_order": 8,
            "b_price": 59723.5,
            "b_idx": 220,
            "b_order": 5,
            "c_price": 59210.4,
            "c_idx": 279,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.854,
            "ratio_score": 0.813,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60164.3,
            "prz_range": [
              59831.89,
              60188.3
            ],
            "prz_width_pct": 0.594,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.48,
            "price_to_prz_pct_raw": -0.4818,
            "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.383,
                "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": 60010.1,
              "a_price": 58835.2,
              "tp1_ad_382": 59561.29,
              "tp2_ad_618": 59284.01,
              "tp3_a_or_structure_liquidity": 58835.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.576,
              "ABC": 0.6622,
              "BCD": 1.6256,
              "XAD": 0.8145
            },
            "x_price": 60466.9,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 58835.2,
            "a_idx": 201,
            "a_order": 3,
            "b_price": 59775.0,
            "b_idx": 212,
            "b_order": 5,
            "c_price": 59152.7,
            "c_idx": 217,
            "c_order": 8,
            "d_idx": 234
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.895,
            "ratio_score": 1.0,
            "prz_score": 0.955,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 61050.14,
            "prz_range": [
              60831.28,
              61269.0
            ],
            "prz_width_pct": 0.717,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.24,
            "price_to_prz_pct_raw": 1.243,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "shark",
              "d_price": 61050.14,
              "a_price": 60752.8,
              "tp1_ad_382": 60936.55,
              "tp2_ad_618": 60866.38,
              "tp3_a_or_structure_liquidity": 60752.8,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4773,
              "ABC": 1.5046
            },
            "x_price": 61188.0,
            "x_idx": 127,
            "x_order": 3,
            "a_price": 60752.8,
            "a_idx": 134,
            "a_order": 3,
            "b_price": 60960.5,
            "b_idx": 147,
            "b_order": 3,
            "c_price": 60648.0,
            "c_idx": 153,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "shark",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.884,
            "ratio_score": 0.882,
            "prz_score": 0.907,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60336.71,
            "prz_range": [
              60083.38,
              60590.03
            ],
            "prz_width_pct": 0.84,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.06,
            "price_to_prz_pct_raw": 0.0599,
            "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": 60336.71,
              "a_price": 59705.4,
              "tp1_ad_382": 60095.55,
              "tp2_ad_618": 59946.56,
              "tp3_a_or_structure_liquidity": 59705.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6026,
              "ABC": 1.0854
            },
            "x_price": 60466.9,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 59705.4,
            "a_idx": 231,
            "a_order": 3,
            "b_price": 60164.3,
            "b_idx": 234,
            "b_order": 5,
            "c_price": 59666.2,
            "c_idx": 260,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.879,
            "ratio_score": 0.867,
            "prz_score": 0.967,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60723.48,
            "prz_range": [
              60515.21,
              60931.75
            ],
            "prz_width_pct": 0.686,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.7,
            "price_to_prz_pct_raw": 0.7013,
            "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": 60723.48,
              "a_price": 58835.2,
              "tp1_ad_382": 60002.16,
              "tp2_ad_618": 59556.52,
              "tp3_a_or_structure_liquidity": 58835.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8145,
              "ABC": 0.7177
            },
            "x_price": 60466.9,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 58835.2,
            "a_idx": 201,
            "a_order": 3,
            "b_price": 60164.3,
            "b_idx": 234,
            "b_order": 5,
            "c_price": 59210.4,
            "c_idx": 279,
            "c_order": 5,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.865,
            "ratio_score": 0.873,
            "prz_score": 0.915,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60723.87,
            "prz_range": [
              60475.12,
              60972.63
            ],
            "prz_width_pct": 0.819,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.7,
            "price_to_prz_pct_raw": 0.7019,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "gartley",
              "d_price": 60723.87,
              "a_price": 58030.0,
              "tp1_ad_382": 59694.81,
              "tp2_ad_618": 59059.06,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5966,
              "ABC": 0.8835
            },
            "x_price": 61742.9,
            "x_idx": 190,
            "x_order": 8,
            "a_price": 58030.0,
            "a_idx": 195,
            "a_order": 8,
            "b_price": 60245.0,
            "b_idx": 227,
            "b_order": 8,
            "c_price": 58288.0,
            "c_idx": 248,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.852,
            "ratio_score": 0.81,
            "prz_score": 0.879,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60063.01,
            "prz_range": [
              59789.27,
              60336.74
            ],
            "prz_width_pct": 0.911,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.39,
            "price_to_prz_pct_raw": -0.394,
            "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": 60063.01,
              "a_price": 59114.4,
              "tp1_ad_382": 59700.64,
              "tp2_ad_618": 59476.77,
              "tp3_a_or_structure_liquidity": 59114.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4884,
              "ABC": 0.942
            },
            "x_price": 60466.9,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 59114.4,
            "a_idx": 208,
            "a_order": 5,
            "b_price": 59775.0,
            "b_idx": 212,
            "b_order": 5,
            "c_price": 59152.7,
            "c_idx": 217,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.835,
            "ratio_score": 0.852,
            "prz_score": 0.871,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60274.2,
            "prz_range": [
              60016.48,
              60577.81
            ],
            "prz_width_pct": 0.931,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.01,
            "price_to_prz_pct_raw": -0.0057,
            "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"
              ],
              "reaction_score": 0.8,
              "reaction_detail": {
                "reaction_score": 0.8,
                "reaction_move_ratio_ad": 0.636,
                "adverse_move_ratio_ad": 0.153,
                "bars_after_d": 7,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected"
                ]
              },
              "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": "bat",
              "d_price": 60297.15,
              "a_price": 58835.2,
              "tp1_ad_382": 59738.68,
              "tp2_ad_618": 59393.66,
              "tp3_a_or_structure_liquidity": 58835.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5444,
              "ABC": 0.5776,
              "BCD": 2.0733,
              "XAD": 0.8819
            },
            "x_price": 60466.9,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 58835.2,
            "a_idx": 201,
            "a_order": 3,
            "b_price": 59723.5,
            "b_idx": 220,
            "b_order": 5,
            "c_price": 59210.4,
            "c_idx": 279,
            "c_order": 5,
            "d_idx": 292
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "low",
            "pattern_score": 0.83,
            "ratio_score": 0.815,
            "prz_score": 0.879,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60245.0,
            "prz_range": [
              59789.27,
              60336.74
            ],
            "prz_width_pct": 0.911,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.39,
            "price_to_prz_pct_raw": -0.394,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.563,
                "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": "bearish",
              "source": "bat",
              "d_price": 60063.01,
              "a_price": 59114.4,
              "tp1_ad_382": 59700.64,
              "tp2_ad_618": 59476.77,
              "tp3_a_or_structure_liquidity": 59114.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4884,
              "ABC": 0.942,
              "BCD": 1.7553,
              "XAD": 0.8359
            },
            "x_price": 60466.9,
            "x_idx": 198,
            "x_order": 3,
            "a_price": 59114.4,
            "a_idx": 208,
            "a_order": 5,
            "b_price": 59775.0,
            "b_idx": 212,
            "b_order": 5,
            "c_price": 59152.7,
            "c_idx": 217,
            "c_order": 8,
            "d_idx": 227
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "low",
            "pattern_score": 0.824,
            "ratio_score": 0.828,
            "prz_score": 0.878,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59775.24,
            "prz_range": [
              59501.96,
              60048.52
            ],
            "prz_width_pct": 0.914,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.87,
            "price_to_prz_pct_raw": -0.8712,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59775.24,
              "a_price": 61931.1,
              "tp1_ad_382": 60598.78,
              "tp2_ad_618": 61107.56,
              "tp3_a_or_structure_liquidity": 61931.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.749,
              "ABC": 0.659
            },
            "x_price": 60752.8,
            "x_idx": 134,
            "x_order": 3,
            "a_price": 61931.1,
            "a_idx": 170,
            "a_order": 8,
            "b_price": 61048.5,
            "b_idx": 189,
            "b_order": 3,
            "c_price": 60466.9,
            "c_idx": 198,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.811,
            "ratio_score": 0.802,
            "prz_score": 0.915,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60734.0,
            "prz_range": [
              60475.12,
              60972.63
            ],
            "prz_width_pct": 0.819,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.7,
            "price_to_prz_pct_raw": 0.7019,
            "harmonic_vote_state": {
              "authority": "post_confirmation_vote_eligible",
              "directional_vote_weight": 0.58,
              "confirmed_reaction": true,
              "confirmation_reasons": [
                "PRZ_touch_or_entry",
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 0.483,
                "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": 60723.87,
              "a_price": 58030.0,
              "tp1_ad_382": 59694.81,
              "tp2_ad_618": 59059.06,
              "tp3_a_or_structure_liquidity": 58030.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5966,
              "ABC": 0.8835,
              "BCD": 1.2499,
              "XAD": 0.7283
            },
            "x_price": 61742.9,
            "x_idx": 190,
            "x_order": 8,
            "a_price": 58030.0,
            "a_idx": 195,
            "a_order": 8,
            "b_price": 60245.0,
            "b_idx": 227,
            "b_order": 8,
            "c_price": 58288.0,
            "c_idx": 248,
            "c_order": 8,
            "d_idx": 266
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "candidate",
            "quality": "medium",
            "pattern_score": 0.801,
            "ratio_score": 0.668,
            "prz_score": 0.964,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 60805.38,
            "prz_range": [
              60595.04,
              61015.72
            ],
            "prz_width_pct": 0.692,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.84,
            "price_to_prz_pct_raw": 0.8371,
            "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": 60805.38,
              "a_price": 61800.0,
              "tp1_ad_382": 61185.33,
              "tp2_ad_618": 61420.06,
              "tp3_a_or_structure_liquidity": 61800.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6523,
              "ABC": 0.924
            },
            "x_price": 60648.0,
            "x_idx": 153,
            "x_order": 8,
            "a_price": 61800.0,
            "a_idx": 161,
            "a_order": 5,
            "b_price": 61048.5,
            "b_idx": 189,
            "b_order": 3,
            "c_price": 61742.9,
            "c_idx": 190,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.865,
            "prz_proximity": "nearby",
            "prz_range": [
              59757.24,
              60064.56
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": -0.65,
            "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": "gartley",
              "d_price": 59910.9,
              "a_price": 59152.7,
              "tp1_ad_382": 59621.27,
              "tp2_ad_618": 59442.33,
              "tp3_a_or_structure_liquidity": 59152.7,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $59,757.24-$60,064.56: expected reversal DOWN if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "gartley",
          "signal": "bearish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.865,
          "ratio_score": 0.788,
          "prz_score": 1.0,
          "prz_proximity": "nearby",
          "action_status": "nearby",
          "high_confluence_prz": true,
          "d_price": 59910.9,
          "prz_range": [
            59757.24,
            60064.56
          ],
          "prz_width_pct": 0.513,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": -0.65,
          "price_to_prz_pct_raw": -0.6463,
          "harmonic_vote_state": {
            "authority": "pre_confirmation_reversal_candidate",
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "confirmation_reasons": [],
            "reaction_score": 0.0,
            "reaction_detail": {
              "reaction_score": 0.0,
              "reasons": []
            },
            "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
            "standalone_path_override_allowed": false
          },
          "directional_vote_weight": 0.35,
          "confirmed_reaction": false,
          "standalone_path_override_allowed": false,
          "tp_ladder": {
            "direction": "bearish",
            "source": "gartley",
            "d_price": 59910.9,
            "a_price": 59152.7,
            "tp1_ad_382": 59621.27,
            "tp2_ad_618": 59442.33,
            "tp3_a_or_structure_liquidity": 59152.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.6464,
            "ABC": 0.8989
          },
          "x_price": 60035.7,
          "x_idx": 204,
          "x_order": 5,
          "a_price": 59152.7,
          "a_idx": 217,
          "a_order": 8,
          "b_price": 59723.5,
          "b_idx": 220,
          "b_order": 5,
          "c_price": 59210.4,
          "c_idx": 279,
          "c_order": 5,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bearish",
          "source": "gartley",
          "d_price": 59910.9,
          "a_price": 59152.7,
          "tp1_ad_382": 59621.27,
          "tp2_ad_618": 59442.33,
          "tp3_a_or_structure_liquidity": 59152.7,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bearish",
            "source": "gartley",
            "d_price": 59910.9,
            "a_price": 59152.7,
            "tp1_ad_382": 59621.27,
            "tp2_ad_618": 59442.33,
            "tp3_a_or_structure_liquidity": 59152.7,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "watch",
        "directional_scores": {
          "bullish": 0,
          "bearish": 0.128
        },
        "directional_score_total": 0.128,
        "directional_dominance": 1.0
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.38,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.46,\n  \"setup_signals\": [\n    \"현재가 $60,300.60이 완료된 bearish Bat PRZ $60,016.48-$60,577.81 내부에 위치하며, D=$60,297.15 부근을 재시험 중\",\n    \"완료된 bearish Bat은 PRZ 진입/거부 및 AD 0.382 반응 도달 확인, reaction_score 0.8, vote_weight 0.58로 중간급 반전 리스크 형성\",\n    \"완료된 bearish Gartley PRZ $59,831.89-$60,188.30은 reaction_score 1.0으로 확인된 하방 반응을 보였고 TP1 $59,561.29, TP2 $59,284.01이 남아 있음\",\n    \"근접한 strict high bearish Gartley forming PRZ $59,757.24-$60,064.56은 XAD/BC_EXT/ABCD 3중 Fib confluence이며, D 목표 $59,910.90\",\n    \"상단에는 추가 bearish PRZ 클러스터가 $60,475.12-$60,972.63 및 $60,515.21-$60,931.75에 대기해 반등 시 공급/반전 후보 구간으로 작동\"\n  ],\n  \"reasoning\": \"하모닉 기준으로는 현재가 $60,300.60이 완료된 bearish Bat PRZ $60,016.48-$60,577.81 내부에 있어 단기 하방 반응 위험이 우세하지만, 해당 패턴은 candidate/low 품질이므로 단독 방향 엔진으로 쓰기 어렵다. 더 강한 근거는 완료 bearish Gartley $59,831.89-$60,188.30의 reaction_score 1.0과 완료 Bat의 reaction_score 0.8이며, 두 패턴 모두 PRZ 터치/거부와 AD 0.382 반응을 충족했다. 다만 council 기준에서 가장 관련 있는 strict high 패턴은 아직 forming bearish Gartley PRZ $59,757.24-$60,064.56이며 confirmed_reaction=false라서 구조를 하락으로 확정할 수 없다. 따라서 structure_bias는 중립, setup_bias는 PRZ 클러스터 기반의 약한 bearish로 판단하며, TP 후보는 $59,738.68, $59,621.27, $59,442.33, $59,152.70 순서가 유효하다.\",\n  \"key_levels\": {\n    \"support\": [\n      60016.48,\n      60064.56,\n      59757.24,\n      59738.68,\n      59621.27,\n      59442.33,\n      59152.7,\n      58835.2\n    ],\n    \"resistance\": [\n      60577.81,\n      60590.03,\n      60931.75,\n      60972.63,\n      61269.0\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,972.63\",\n  \"risk_scenario\": \"가격이 $60,577.81 상단을 회복하고 특히 $60,972.63 위에서 15분봉/1시간봉 기준 수용되면 현재 bearish PRZ 반응은 실패로 간주된다. 그 경우 $60,831.28-$61,269.00의 상위 bearish Shark PRZ까지 유동성 확장 가능성이 열리며, 하모닉 하방 TP인 $59,738.68-$59,442.33 도달 가능성은 크게 약화된다.\",\n  \"data_quality\": \"medium\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bearish",
    "overall_confidence": 0.67,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.72,
      "active_setups": [
        "프리미엄 구간: 현재가 $60,300.60은 Fib/ICT EQ $59,561.00 위에 있으며, 하락 스윙 $60,734 → $58,388의 0.786 되돌림 $60,231.96 부근을 테스트 중",
        "분배 구조 되돌림: 현재가가 Wyckoff AR $60,752.80 및 UT $60,734.00 아래에 있어 Phase E 이후 레인지 재수용이 아직 확인되지 않음",
        "상단 저항 클러스터: EMA240 $60,493.89, Asian high $60,494.10, bearish CHoCH $60,648.00, 전일 고점/UT $60,734.00, AR $60,752.80이 근접",
        "파생 포지셔닝 부담: 롱 계정 비율 0.673으로 롱 쏠림이 강하고, 24시간 가격 상승에도 CVD 변화가 -3,749.3780으로 음수",
        "하모닉 PRZ 반응 위험: 완료 bearish Bat PRZ $60,016.48-$60,577.81 내부에 가격이 위치하며 D값 $60,297.15 부근 재시험 중",
        "단기 반대 신호: 고거래량 bullish engulfing quality 0.748 및 현재가가 EMA20 $59,807.49, EMA120 $59,997.68 위에 있어 즉시 약세 확정은 아님"
      ],
      "setup_vs_structure": "구조와 실행 셋업은 대체로 일치한다. 상위 구조는 분배 Phase E 성격의 bearish이고, 실행 조건도 프리미엄 되돌림·롱 과밀·CVD 약화·상단 저항 클러스터로 bearish 우위이나, 단기 캔들/EMA 회복 때문에 $60,493-$60,752 구간의 수용 여부가 핵심 조건이다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 5,
      "neutral_count": 0
    },
    "key_levels": {
      "support": [
        60231.96,
        59997.68,
        59837.83,
        59807.49,
        59561.0,
        59210.4,
        58388.0,
        58030.0
      ],
      "resistance": [
        60493.89,
        60494.1,
        60648.0,
        60734.0,
        60752.8,
        61188.0,
        61200.0,
        61931.1
      ]
    },
    "confluences": [
      "Candlestick와 ICT가 $60,493.89-$60,494.10을 공통 저항으로 제시한다. 이는 EMA240 및 Asian high가 겹치는 단기 구조 판단선이다.",
      "Fibonacci, Wyckoff, ICT가 $60,734 부근을 핵심 상단 구조 레벨로 본다. Fib 스윙 고점 $60,734, Wyckoff UT $60,734, ICT 전일 고점/range high $60,734가 일치한다.",
      "Wyckoff의 AR $60,752.80과 Fib/ICT의 $60,734 클러스터가 근접해 있어 $60,734-$60,752는 분배 레인지 재진입 여부를 판단하는 핵심 구조 구간이다.",
      "Candlestick, Derivatives, ICT가 $59,997.68을 공통 지지로 제시한다. 이는 EMA120이자 단기 반등 유지 여부를 가르는 중간 지지다.",
      "Candlestick와 ICT가 $59,807-$59,838 부근을 지지로 제시하며, Fibonacci의 0.618 되돌림 $59,837.83과 EMA20 $59,807.49가 근접한다.",
      "Fibonacci와 ICT가 EQ $59,561.00을 공통 구조 기준선으로 제시한다. 현재가는 이 위에 있어 프리미엄 영역으로 분류된다.",
      "Wyckoff와 Fibonacci가 $58,388을 구조 저점으로 공유한다. Wyckoff Phase E 저점이자 Fib 스윙 저점이다.",
      "Derivatives의 상단 청산 밀집 $61,200은 Wyckoff BC $61,188 및 ICT BOS 레벨 $61,256과 근접해 있어, $61,188-$61,256은 bearish 구조 무효화 위험 구간이다."
    ],
    "conflicts": [
      "Candlestick Reader는 고거래량 bullish engulfing과 EMA20/EMA120 회복을 근거로 setup bullish를 제시하지만, Wyckoff·Fibonacci·ICT·Derivatives는 현재 위치를 프리미엄 되돌림 또는 분배 하단 이탈 후 반등으로 해석한다.",
      "ICT는 가장 최근 구조 이벤트가 BOS bullish $60,245.00이므로 단기 structure_bias를 bullish로 읽지만, 동시에 프리미엄 89.8% 되돌림과 bearish CHoCH $60,648.00 때문에 실행 셋업은 bearish로 제시한다.",
      "Derivatives는 롱 과밀과 CVD 약화를 bearish로 보지만, $60,600-$61,500 상단 청산대, 특히 $61,200 유동성 존재를 언급해 즉각적인 구조 붕괴보다는 상단 유동성 처리 리스크를 함께 제시한다.",
      "Harmonic은 bearish PRZ 반응을 제시하지만 신뢰도 38%이며 다수 패턴이 candidate 또는 forming 단계라 단독 구조 판정 엔진으로 쓰기 어렵다."
    ],
    "executive_summary": "현재 BTC 15분 구조는 단기 반등에도 불구하고 Wyckoff 기준 분배 Phase E 이후의 되돌림 성격이 우세하며, 가격은 AR $60,752.80 및 UT/전일고점 $60,734.00 아래에 머물러 레인지 내부 재수용이 확인되지 않았다. Fib/ICT 기준으로도 현재가는 EQ $59,561.00 위 프리미엄 영역이며, 하락 스윙 $60,734 → $58,388의 0.786 되돌림 $60,231.96 부근에서 구조적 반응 구간에 위치한다. 다만 고거래량 bullish engulfing과 EMA20 $59,807.49, EMA120 $59,997.68 회복은 단기 매수 반응이 살아 있음을 보여주므로, bearish 구조 안에서도 $60,493.89-$60,752.80 저항 클러스터의 수용 여부가 핵심 조건이다. 구조적 bearish thesis의 주요 무효화는 $61,188.00 이상 수용이며, 그 전까지는 $60,734-$60,752 회복 실패가 분배 구조 지속 조건으로 남는다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bearish\",\n  \"overall_confidence\": 0.67,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.72,\n    \"active_setups\": [\n      \"프리미엄 구간: 현재가 $60,300.60은 Fib/ICT EQ $59,561.00 위에 있으며, 하락 스윙 $60,734 → $58,388의 0.786 되돌림 $60,231.96 부근을 테스트 중\",\n      \"분배 구조 되돌림: 현재가가 Wyckoff AR $60,752.80 및 UT $60,734.00 아래에 있어 Phase E 이후 레인지 재수용이 아직 확인되지 않음\",\n      \"상단 저항 클러스터: EMA240 $60,493.89, Asian high $60,494.10, bearish CHoCH $60,648.00, 전일 고점/UT $60,734.00, AR $60,752.80이 근접\",\n      \"파생 포지셔닝 부담: 롱 계정 비율 0.673으로 롱 쏠림이 강하고, 24시간 가격 상승에도 CVD 변화가 -3,749.3780으로 음수\",\n      \"하모닉 PRZ 반응 위험: 완료 bearish Bat PRZ $60,016.48-$60,577.81 내부에 가격이 위치하며 D값 $60,297.15 부근 재시험 중\",\n      \"단기 반대 신호: 고거래량 bullish engulfing quality 0.748 및 현재가가 EMA20 $59,807.49, EMA120 $59,997.68 위에 있어 즉시 약세 확정은 아님\"\n    ],\n    \"setup_vs_structure\": \"구조와 실행 셋업은 대체로 일치한다. 상위 구조는 분배 Phase E 성격의 bearish이고, 실행 조건도 프리미엄 되돌림·롱 과밀·CVD 약화·상단 저항 클러스터로 bearish 우위이나, 단기 캔들/EMA 회복 때문에 $60,493-$60,752 구간의 수용 여부가 핵심 조건이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 5,\n    \"neutral_count\": 0\n  },\n  \"key_levels\": {\n    \"support\": [\n      60231.96,\n      59997.68,\n      59837.83,\n      59807.49,\n      59561.0,\n      59210.4,\n      58388.0,\n      58030.0\n    ],\n    \"resistance\": [\n      60493.89,\n      60494.1,\n      60648.0,\n      60734.0,\n      60752.8,\n      61188.0,\n      61200.0,\n      61931.1\n    ]\n  },\n  \"confluences\": [\n    \"Candlestick와 ICT가 $60,493.89-$60,494.10을 공통 저항으로 제시한다. 이는 EMA240 및 Asian high가 겹치는 단기 구조 판단선이다.\",\n    \"Fibonacci, Wyckoff, ICT가 $60,734 부근을 핵심 상단 구조 레벨로 본다. Fib 스윙 고점 $60,734, Wyckoff UT $60,734, ICT 전일 고점/range high $60,734가 일치한다.\",\n    \"Wyckoff의 AR $60,752.80과 Fib/ICT의 $60,734 클러스터가 근접해 있어 $60,734-$60,752는 분배 레인지 재진입 여부를 판단하는 핵심 구조 구간이다.\",\n    \"Candlestick, Derivatives, ICT가 $59,997.68을 공통 지지로 제시한다. 이는 EMA120이자 단기 반등 유지 여부를 가르는 중간 지지다.\",\n    \"Candlestick와 ICT가 $59,807-$59,838 부근을 지지로 제시하며, Fibonacci의 0.618 되돌림 $59,837.83과 EMA20 $59,807.49가 근접한다.\",\n    \"Fibonacci와 ICT가 EQ $59,561.00을 공통 구조 기준선으로 제시한다. 현재가는 이 위에 있어 프리미엄 영역으로 분류된다.\",\n    \"Wyckoff와 Fibonacci가 $58,388을 구조 저점으로 공유한다. Wyckoff Phase E 저점이자 Fib 스윙 저점이다.\",\n    \"Derivatives의 상단 청산 밀집 $61,200은 Wyckoff BC $61,188 및 ICT BOS 레벨 $61,256과 근접해 있어, $61,188-$61,256은 bearish 구조 무효화 위험 구간이다.\"\n  ],\n  \"conflicts\": [\n    \"Candlestick Reader는 고거래량 bullish engulfing과 EMA20/EMA120 회복을 근거로 setup bullish를 제시하지만, Wyckoff·Fibonacci·ICT·Derivatives는 현재 위치를 프리미엄 되돌림 또는 분배 하단 이탈 후 반등으로 해석한다.\",\n    \"ICT는 가장 최근 구조 이벤트가 BOS bullish $60,245.00이므로 단기 structure_bias를 bullish로 읽지만, 동시에 프리미엄 89.8% 되돌림과 bearish CHoCH $60,648.00 때문에 실행 셋업은 bearish로 제시한다.\",\n    \"Derivatives는 롱 과밀과 CVD 약화를 bearish로 보지만, $60,600-$61,500 상단 청산대, 특히 $61,200 유동성 존재를 언급해 즉각적인 구조 붕괴보다는 상단 유동성 처리 리스크를 함께 제시한다.\",\n    \"Harmonic은 bearish PRZ 반응을 제시하지만 신뢰도 38%이며 다수 패턴이 candidate 또는 forming 단계라 단독 구조 판정 엔진으로 쓰기 어렵다.\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — 15분 구조를 확인된 분배 후보로 판정하고, BC $61,188.00, AR $60,752.80, UT $60,734.00, SOW $59,210.40, Phase E 저점 $58,388.00의 명확한 순서를 제시했다. 현재가 $60,300.60이 AR/UT 아래에 있어 레인지 재수용 실패 상태라는 구조 진단이 가장 구체적이며, confidence 74%로 가장 높다.\",\n  \"invalidation_level\": \"$61,188.00 이상 15분봉 기준 수용이 확인되면 현재의 분배 Phase E bearish 구조 해석은 크게 약화된다. 보수적으로는 $61,931.10 회복 시 분배 구조 무효화 위험이 더 커진다.\",\n  \"executive_summary\": \"현재 BTC 15분 구조는 단기 반등에도 불구하고 Wyckoff 기준 분배 Phase E 이후의 되돌림 성격이 우세하며, 가격은 AR $60,752.80 및 UT/전일고점 $60,734.00 아래에 머물러 레인지 내부 재수용이 확인되지 않았다. Fib/ICT 기준으로도 현재가는 EQ $59,561.00 위 프리미엄 영역이며, 하락 스윙 $60,734 → $58,388의 0.786 되돌림 $60,231.96 부근에서 구조적 반응 구간에 위치한다. 다만 고거래량 bullish engulfing과 EMA20 $59,807.49, EMA120 $59,997.68 회복은 단기 매수 반응이 살아 있음을 보여주므로, bearish 구조 안에서도 $60,493.89-$60,752.80 저항 클러스터의 수용 여부가 핵심 조건이다. 구조적 bearish thesis의 주요 무효화는 $61,188.00 이상 수용이며, 그 전까지는 $60,734-$60,752 회복 실패가 분배 구조 지속 조건으로 남는다.\"\n}"
  },
  "overall_signal": "bearish",
  "overall_confidence": 0.67,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.66,
    "waypoints": [
      {
        "seq": 1,
        "price": 60648.0,
        "type": "liquidity_sweep",
        "source": "ICT (bearish CHoCH $60,648.00, 프리미엄 롱 유동성 유도), Derivatives (상단 유동성 스윕 $60,600-$61,200 후 실패 관점), Wyckoff (UT $60,734/AR $60,752.80 클러스터 재시험), Candlestick (고거래량 bullish engulfing·EMA20/120 회복으로 살아있는 반등)",
        "description": "단기 고거래량 bullish engulfing과 EMA20 $59,807.49/EMA120 $59,997.68 회복으로 살아있는 반등이 상단 저항 클러스터로 확장. EMA240 $60,493.89·Asian high $60,494.10 위로 유동성을 스윕하며 ICT bearish CHoCH $60,648.00을 태그, 프리미엄 구간에서 롱 유동성을 유도한다. $60,734 range high까지 위꼬리 가능하나 $60,752.80 AR 아래에서 거절 예상 — 분배 레인지 재수용 실패가 이 path의 핵심 전제.",
        "est_hours": 2.0,
        "turning_zone": [
          60648.0,
          60760.0
        ],
        "likely_wick": 60734.0,
        "rejection_confirm": 60493.89,
        "invalid_overshoot": 60835.0,
        "calibration_reasoning": "밀집 저항 클러스터(CHoCH $60,648 / range high $60,734 / AR $60,752.80)가 zone 경계를 고정하며 폭은 약 0.26 ATR로 타이트. range high $60,734의 매수 스톱 유동성 풀로 위꼬리 유도, 스윕한 EMA240/Asian high $60,494 재이탈이 거절 확인, AR 위 $60,835 유지 시 $61,188 방향 무효."
      },
      {
        "seq": 2,
        "price": 59997.68,
        "type": "support_test",
        "source": "Candlestick·Derivatives·ICT 공통 지지 EMA120 $59,997.68",
        "description": "클러스터 거절 후 첫 하방 지지 테스트. 0.786 되돌림 $60,231.96 재이탈을 동반하며 Candlestick·Derivatives·ICT가 공통 지지로 제시한 EMA120 $59,997.68로 복귀, 단기 반등 유지 여부를 가르는 중간 지지.",
        "est_hours": 5.0,
        "turning_zone": [
          59837.83,
          59997.68
        ],
        "likely_wick": 59910.9,
        "rejection_confirm": 60120.28,
        "invalid_overshoot": 59795.0,
        "calibration_reasoning": "EMA120 base에서 0.618 골든비율·Chairman 공통지지 $59,837.83까지 약 0.37 ATR 폭으로 설정. Gartley PRZ $59,910.9(pre-confirmation)는 조건부 반응존으로만 사용해 zone 내부 likely_wick에 반영하되 waypoint 자체는 이동시키지 않음. $60,120.28 confluence 재탈환이 반등 확인, EMA20 $59,807.49 하향 이탈 시 무효."
      },
      {
        "seq": 3,
        "price": 59561.0,
        "type": "support_test",
        "source": "Fibonacci (EQ/0.5 되돌림 $59,561.00), ICT (EQ premium/discount 경계선)",
        "description": "EMA20/0.618 골든비율 $59,807.49-$59,837.83 지지 상실 후 Fib·ICT 공통 구조 기준선 EQ $59,561.00 테스트. 프리미엄→디스카운트 경계로, 현재 프리미엄 위치를 디스카운트로 전환시키는 구조적 핵심 지지.",
        "est_hours": 12.0,
        "turning_zone": [
          59420.0,
          59561.0
        ],
        "likely_wick": 59500.0,
        "rejection_confirm": 59699.41,
        "invalid_overshoot": 59395.0,
        "calibration_reasoning": "EQ(프리미엄/디스카운트 경계) base에서 조건부 harmonic TP2 $59,442.33 부근까지 약 0.32 ATR zone. 라운드 넘버 $59,500을 likely_wick 자석으로 적용, $59,699.41(ret_0.5/0.618 confluence) 재탈환이 반등 확인, $59,420 하향 이탈 시 WP4 전환존으로 연장되어 무효."
      },
      {
        "seq": 4,
        "price": 59268.28,
        "type": "swing_low",
        "source": "WP1 Candidate table (fib_confluence, 최근접 후보), Wyckoff (SOW $59,210.40 인접 confluence)",
        "description": "EQ 이탈 시 fib_confluence 후보 $59,268.28 도달. 바로 아래 Wyckoff SOW $59,210.40이 겹쳐 $59,210-$59,268 전환 구간을 형성한다(candidate 등급이므로 넓은 전환존 적용). 가속 시 Phase E 저점 $58,388 방향 확장 위험.",
        "est_hours": 19.0,
        "turning_zone": [
          59000.0,
          59268.28
        ],
        "likely_wick": 59200.0,
        "rejection_confirm": 59561.0,
        "invalid_overshoot": 58980.0,
        "calibration_reasoning": "터미널 waypoint(candidate 등급)로 fib confluence $59,268.28과 Wyckoff SOW $59,210.40 전환존을 포함, $59,000 라운드 넘버까지 약 0.61 ATR 넓은 zone 적용. 라운드 넘버+SOW 유동성 클러스터 $59,200을 likely_wick로, EQ $59,561 재탈환이 반전 확인, $59,000 하향 이탈 시 Phase E $58,388 가속으로 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 60648.0,
        "expected_low": 59997.68,
        "high_first": true
      },
      "8h": {
        "expected_high": 60648.0,
        "expected_low": 59807.49,
        "high_first": true
      },
      "24h": {
        "expected_high": 60648.0,
        "expected_low": 59268.28,
        "high_first": true
      }
    },
    "triggers": {
      "bullish": {
        "price": 60752.8,
        "description": "Wyckoff AR/클러스터 상단 $60,752.80 위 수용 시 분배 레인지 재진입 → 단기 약세 거절 실패, 강세 가속. $61,188 이상은 구조 무효화 영역."
      },
      "bearish": {
        "price": 59807.49,
        "description": "EMA20/0.618 골든비율 $59,807.49-$59,837.83 상실 시 단기 bullish engulfing 반등 무효화 → EQ $59,561, $59,268 방향 하방 가속, CVD 약세·롱 과밀 청산 트리거."
      }
    },
    "scenario_invalidation": 61188.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.66,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 60648.00,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"ICT (bearish CHoCH $60,648.00, 프리미엄 롱 유동성 유도), Derivatives (상단 유동성 스윕 $60,600-$61,200 후 실패 관점), Wyckoff (UT $60,734/AR $60,752.80 클러스터 재시험), Candlestick (고거래량 bullish engulfing·EMA20/120 회복으로 살아있는 반등)\",\n      \"description\": \"단기 고거래량 bullish engulfing과 EMA20 $59,807.49/EMA120 $59,997.68 회복으로 살아있는 반등이 상단 저항 클러스터로 확장. EMA240 $60,493.89·Asian high $60,494.10 위로 유동성을 스윕하며 ICT bearish CHoCH $60,648.00을 태그, 프리미엄 구간에서 롱 유동성을 유도한다. $60,734 range high까지 위꼬리 가능하나 $60,752.80 AR 아래에서 거절 예상 — 분배 레인지 재수용 실패가 이 path의 핵심 전제.\",\n      \"est_hours\": 2.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 59997.68,\n      \"type\": \"support_test\",\n      \"source\": \"Candlestick·Derivatives·ICT 공통 지지 EMA120 $59,997.68\",\n      \"description\": \"클러스터 거절 후 첫 하방 지지 테스트. 0.786 되돌림 $60,231.96 재이탈을 동반하며 Candlestick·Derivatives·ICT가 공통 지지로 제시한 EMA120 $59,997.68로 복귀, 단기 반등 유지 여부를 가르는 중간 지지.\",\n      \"est_hours\": 5.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 59561.00,\n      \"type\": \"support_test\",\n      \"source\": \"Fibonacci (EQ/0.5 되돌림 $59,561.00), ICT (EQ premium/discount 경계선)\",\n      \"description\": \"EMA20/0.618 골든비율 $59,807.49-$59,837.83 지지 상실 후 Fib·ICT 공통 구조 기준선 EQ $59,561.00 테스트. 프리미엄→디스카운트 경계로, 현재 프리미엄 위치를 디스카운트로 전환시키는 구조적 핵심 지지.\",\n      \"est_hours\": 12.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 59268.28,\n      \"type\": \"swing_low\",\n      \"source\": \"WP1 Candidate table (fib_confluence, 최근접 후보), Wyckoff (SOW $59,210.40 인접 confluence)\",\n      \"description\": \"EQ 이탈 시 fib_confluence 후보 $59,268.28 도달. 바로 아래 Wyckoff SOW $59,210.40이 겹쳐 $59,210-$59,268 전환 구간을 형성한다(candidate 등급이므로 넓은 전환존 적용). 가속 시 Phase E 저점 $58,388 방향 확장 위험.\",\n      \"est_hours\": 19.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 60648.00, \"expected_low\": 59997.68, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 60648.00, \"expected_low\": 59807.49, \"high_first\": true},\n    \"24h\": {\"expected_high\": 60648.00, \"expected_low\": 59268.28, \"high_first\": true}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 60752.80, \"description\": \"Wyckoff AR/클러스터 상단 $60,752.80 위 수용 시 분배 레인지 재진입 → 단기 약세 거절 실패, 강세 가속. $61,188 이상은 구조 무효화 영역.\"},\n    \"bearish\": {\"price\": 59807.49, \"description\": \"EMA20/0.618 골든비율 $59,807.49-$59,837.83 상실 시 단기 bullish engulfing 반등 무효화 → EQ $59,561, $59,268 방향 하방 가속, CVD 약세·롱 과밀 청산 트리거.\"}\n  },\n  \"scenario_invalidation\": 61188.00\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 60648.0,
        "turning_zone": [
          60648.0,
          60760.0
        ],
        "likely_wick": 60734.0,
        "rejection_confirm": 60493.89,
        "invalid_overshoot": 60835.0,
        "calibration_reasoning": "밀집 저항 클러스터(CHoCH $60,648 / range high $60,734 / AR $60,752.80)가 zone 경계를 고정하며 폭은 약 0.26 ATR로 타이트. range high $60,734의 매수 스톱 유동성 풀로 위꼬리 유도, 스윕한 EMA240/Asian high $60,494 재이탈이 거절 확인, AR 위 $60,835 유지 시 $61,188 방향 무효."
      },
      {
        "seq": 2,
        "base_target": 59997.68,
        "turning_zone": [
          59837.83,
          59997.68
        ],
        "likely_wick": 59910.9,
        "rejection_confirm": 60120.28,
        "invalid_overshoot": 59795.0,
        "calibration_reasoning": "EMA120 base에서 0.618 골든비율·Chairman 공통지지 $59,837.83까지 약 0.37 ATR 폭으로 설정. Gartley PRZ $59,910.9(pre-confirmation)는 조건부 반응존으로만 사용해 zone 내부 likely_wick에 반영하되 waypoint 자체는 이동시키지 않음. $60,120.28 confluence 재탈환이 반등 확인, EMA20 $59,807.49 하향 이탈 시 무효."
      },
      {
        "seq": 3,
        "base_target": 59561.0,
        "turning_zone": [
          59420.0,
          59561.0
        ],
        "likely_wick": 59500.0,
        "rejection_confirm": 59699.41,
        "invalid_overshoot": 59395.0,
        "calibration_reasoning": "EQ(프리미엄/디스카운트 경계) base에서 조건부 harmonic TP2 $59,442.33 부근까지 약 0.32 ATR zone. 라운드 넘버 $59,500을 likely_wick 자석으로 적용, $59,699.41(ret_0.5/0.618 confluence) 재탈환이 반등 확인, $59,420 하향 이탈 시 WP4 전환존으로 연장되어 무효."
      },
      {
        "seq": 4,
        "base_target": 59268.28,
        "turning_zone": [
          59000.0,
          59268.28
        ],
        "likely_wick": 59200.0,
        "rejection_confirm": 59561.0,
        "invalid_overshoot": 58980.0,
        "calibration_reasoning": "터미널 waypoint(candidate 등급)로 fib confluence $59,268.28과 Wyckoff SOW $59,210.40 전환존을 포함, $59,000 라운드 넘버까지 약 0.61 ATR 넓은 zone 적용. 라운드 넘버+SOW 유동성 클러스터 $59,200을 likely_wick로, EQ $59,561 재탈환이 반전 확인, $59,000 하향 이탈 시 Phase E $58,388 가속으로 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 60648.00,\n      \"turning_zone\": [60648.00, 60760.00],\n      \"likely_wick\": 60734.00,\n      \"rejection_confirm\": 60493.89,\n      \"invalid_overshoot\": 60835.00,\n      \"calibration_reasoning\": \"밀집 저항 클러스터(CHoCH $60,648 / range high $60,734 / AR $60,752.80)가 zone 경계를 고정하며 폭은 약 0.26 ATR로 타이트. range high $60,734의 매수 스톱 유동성 풀로 위꼬리 유도, 스윕한 EMA240/Asian high $60,494 재이탈이 거절 확인, AR 위 $60,835 유지 시 $61,188 방향 무효.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 59997.68,\n      \"turning_zone\": [59837.83, 59997.68],\n      \"likely_wick\": 59910.90,\n      \"rejection_confirm\": 60120.28,\n      \"invalid_overshoot\": 59795.00,\n      \"calibration_reasoning\": \"EMA120 base에서 0.618 골든비율·Chairman 공통지지 $59,837.83까지 약 0.37 ATR 폭으로 설정. Gartley PRZ $59,910.9(pre-confirmation)는 조건부 반응존으로만 사용해 zone 내부 likely_wick에 반영하되 waypoint 자체는 이동시키지 않음. $60,120.28 confluence 재탈환이 반등 확인, EMA20 $59,807.49 하향 이탈 시 무효.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 59561.00,\n      \"turning_zone\": [59420.00, 59561.00],\n      \"likely_wick\": 59500.00,\n      \"rejection_confirm\": 59699.41,\n      \"invalid_overshoot\": 59395.00,\n      \"calibration_reasoning\": \"EQ(프리미엄/디스카운트 경계) base에서 조건부 harmonic TP2 $59,442.33 부근까지 약 0.32 ATR zone. 라운드 넘버 $59,500을 likely_wick 자석으로 적용, $59,699.41(ret_0.5/0.618 confluence) 재탈환이 반등 확인, $59,420 하향 이탈 시 WP4 전환존으로 연장되어 무효.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 59268.28,\n      \"turning_zone\": [59000.00, 59268.28],\n      \"likely_wick\": 59200.00,\n      \"rejection_confirm\": 59561.00,\n      \"invalid_overshoot\": 58980.00,\n      \"calibration_reasoning\": \"터미널 waypoint(candidate 등급)로 fib confluence $59,268.28과 Wyckoff SOW $59,210.40 전환존을 포함, $59,000 라운드 넘버까지 약 0.61 ATR 넓은 zone 적용. 라운드 넘버+SOW 유동성 클러스터 $59,200을 likely_wick로, EQ $59,561 재탈환이 반전 확인, $59,000 하향 이탈 시 Phase E $58,388 가속으로 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 53.4,
      "chairman": 89.2,
      "operating_path": 301.9,
      "tp_calibrator": 155.0
    },
    "agents": {},
    "total_s": 599.6
  }
}