{
  "symbol": "BTC/USDT",
  "timeframe": "15m",
  "timestamp": "2026-06-30 01:00 KST",
  "last_price": 59816.8,
  "num_candles": 300,
  "stage1_analyses": {
    "fibonacci": {
      "agent_id": "fibonacci",
      "display_name": "Fibonacci Analyst",
      "signal": "bearish",
      "confidence": 0.62,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.65,
      "setup_signals": [
        "현재가 $59,816.80이 0.5 되돌림 저항 $59,873.15 바로 아래에서 테스트 중",
        "골든 비율 0.618 되돌림 $60,082.05를 아직 회복하지 못해 하락 스윙의 되돌림 구간으로 해석",
        "강한 피보나치 클러스터가 $59,731.25 부근에 형성되어 있으며 cluster_score 0.85로 단기 반응 가능성 높음",
        "EMA120 $59,840.47 및 EMA240 $59,853.70이 0.5 되돌림 $59,873.15와 겹쳐 단기 공급대 역할",
        "fib_reaction_state가 testing이며 reaction_probability 0.65로 현재 구간에서 피보나치 반응 가능성 우세"
      ],
      "reasoning": "확정 구조 관점에서는 명확한 BOS나 CHoCH 정보가 없기 때문에 structure_bias는 neutral로 평가한다. 다만 실행 셋업 관점에서는 하락 스윙 $60,758 → $58,988 이후 현재가 $59,816.80이 0.5 되돌림 $59,873.15 바로 아래에 위치해 있어 되돌림 저항 테스트 국면이다. 특히 $59,731.25 클러스터는 ret_0.5와 ret_0.382가 중첩된 고품질 구간이며 confluence_quality가 0.850으로 높다. 가격이 골든 비율 0.618인 $60,082.05를 회복하지 못하는 한, 단기적으로는 $59,664.25, 이후 $59,405.79 방향의 하락 재개 가능성이 더 높다.",
      "key_levels": {
        "support": [
          59664.25,
          59405.79,
          58988.0,
          58506.48,
          58255.1
        ],
        "resistance": [
          59873.15,
          60082.05,
          60379.46
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "60082.05",
      "risk_scenario": "$60,082.05의 0.618 골든 비율을 명확히 상향 돌파하면 현재의 bearish setup은 약화되며, 다음 저항인 0.786 되돌림 $60,379.46 및 스윙 고점 $60,758 재테스트로 확장될 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "swing_pair": "High→Low: $60,758 → $58,988",
        "direction": "down",
        "nearest_fib": "ret_0.5",
        "nearest_fib_price": 59873.15,
        "nearest_fib_distance": 0.09,
        "golden_ratio_level": 60082.05,
        "fib_ret_382": 59664.25,
        "fib_ret_618": 60082.05,
        "confluence_zones": [
          {
            "price": 59731.25,
            "count": 3,
            "levels": [
              "ret_0.5",
              "ret_0.382",
              "ret_0.5"
            ],
            "cluster_score": 0.85
          },
          {
            "price": 58380.79,
            "count": 2,
            "levels": [
              "ext_1.414",
              "ext_1.272"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 58959.43,
            "count": 2,
            "levels": [
              "ret_0.786",
              "ext_1.0"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 59381.41,
            "count": 2,
            "levels": [
              "ret_0.618",
              "ret_0.236"
            ],
            "cluster_score": 0.6
          },
          {
            "price": 60018.86,
            "count": 2,
            "levels": [
              "ret_0.382",
              "ret_0.618"
            ],
            "cluster_score": 0.6
          }
        ],
        "support_levels": [
          59664.2546,
          59405.7908,
          58988.0
        ],
        "resistance_levels": [
          59873.15,
          60082.0454,
          60379.4558
        ],
        "level_candidates": [
          {
            "name": "ret_0.236",
            "price": 59405.79,
            "distance_pct": 0.69,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.382",
            "price": 59664.25,
            "distance_pct": 0.26,
            "is_support": true,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.5",
            "price": 59873.15,
            "distance_pct": 0.09,
            "is_support": false,
            "cluster_score": 0.85
          },
          {
            "name": "ret_0.618",
            "price": 60082.05,
            "distance_pct": 0.44,
            "is_support": false,
            "cluster_score": 0.6
          },
          {
            "name": "ret_0.786",
            "price": 60379.46,
            "distance_pct": 0.94,
            "is_support": false,
            "cluster_score": 0.0
          },
          {
            "name": "ext_1.0",
            "price": 58988.0,
            "distance_pct": 1.39,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.272",
            "price": 58506.48,
            "distance_pct": 2.19,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.414",
            "price": 58255.1,
            "distance_pct": 2.61,
            "is_support": true,
            "cluster_score": 0.6
          },
          {
            "name": "ext_1.618",
            "price": 57893.95,
            "distance_pct": 3.21,
            "is_support": true,
            "cluster_score": 0.0
          },
          {
            "name": "ext_2.0",
            "price": 57217.7,
            "distance_pct": 4.35,
            "is_support": true,
            "cluster_score": 0.0
          }
        ],
        "confluence_quality": 0.85,
        "fib_reaction_state": "testing",
        "reaction_probability": 0.65
      },
      "raw_llm_response": "{\n  \"signal\": \"bearish\",\n  \"confidence\": 0.62,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.65,\n  \"setup_signals\": [\n    \"현재가 $59,816.80이 0.5 되돌림 저항 $59,873.15 바로 아래에서 테스트 중\",\n    \"골든 비율 0.618 되돌림 $60,082.05를 아직 회복하지 못해 하락 스윙의 되돌림 구간으로 해석\",\n    \"강한 피보나치 클러스터가 $59,731.25 부근에 형성되어 있으며 cluster_score 0.85로 단기 반응 가능성 높음\",\n    \"EMA120 $59,840.47 및 EMA240 $59,853.70이 0.5 되돌림 $59,873.15와 겹쳐 단기 공급대 역할\",\n    \"fib_reaction_state가 testing이며 reaction_probability 0.65로 현재 구간에서 피보나치 반응 가능성 우세\"\n  ],\n  \"reasoning\": \"확정 구조 관점에서는 명확한 BOS나 CHoCH 정보가 없기 때문에 structure_bias는 neutral로 평가한다. 다만 실행 셋업 관점에서는 하락 스윙 $60,758 → $58,988 이후 현재가 $59,816.80이 0.5 되돌림 $59,873.15 바로 아래에 위치해 있어 되돌림 저항 테스트 국면이다. 특히 $59,731.25 클러스터는 ret_0.5와 ret_0.382가 중첩된 고품질 구간이며 confluence_quality가 0.850으로 높다. 가격이 골든 비율 0.618인 $60,082.05를 회복하지 못하는 한, 단기적으로는 $59,664.25, 이후 $59,405.79 방향의 하락 재개 가능성이 더 높다.\",\n  \"key_levels\": {\n    \"support\": [\n      59664.25,\n      59405.79,\n      58988.0,\n      58506.48,\n      58255.1\n    ],\n    \"resistance\": [\n      59873.15,\n      60082.05,\n      60379.46\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"60082.05\",\n  \"risk_scenario\": \"$60,082.05의 0.618 골든 비율을 명확히 상향 돌파하면 현재의 bearish setup은 약화되며, 다음 저항인 0.786 되돌림 $60,379.46 및 스윙 고점 $60,758 재테스트로 확장될 수 있다.\",\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.72,
      "setup_signals": [
        "현재가 $59,816.80은 7일 레인지 EQ $59,656.35 위에 있어 약한 프리미엄 구간",
        "롱 계정 비율 0.708, 숏 계정 비율 0.292로 롱 계정 쏠림 극단(account_long_crowding 1.000)",
        "롱 계정 24시간 변화 +0.035, 숏 계정 -0.035로 롱 유입 증가·숏 감소 흐름",
        "OI 24시간 변화 -0.655%로 신규 추세 추종보다는 포지션 언와인딩 성격",
        "CVD 변화 -3749.9980 및 cvd_divergence 0.150으로 가격 반등 대비 매수 체결 강도 약함",
        "상단 최대 청산 유동성 $61,900이 열려 있으나, 현재 파생 포지셔닝은 롱 과밀로 단기 롱 스퀴즈 리스크 우위"
      ],
      "reasoning": "구조적으로는 $58,388.00 저점과 $60,924.70 고점 사이 박스권이며, 현재가 $59,816.80은 EMA120 $59,840.47 및 EMA240 $59,853.70 부근에서 명확한 수용을 만들지 못해 confirmed BOS/CHoCH가 없는 중립 구조입니다. 다만 셋업 관점에서는 롱 계정 비율이 0.708까지 올라 account_long_crowding이 1.000으로 극단이며, OI가 24시간 -0.655% 감소해 상승 추세의 건강한 신규 롱 유입보다는 포지션 정리 성격이 강합니다. CVD도 -3749.9980으로 약해 가격이 EQ $59,656.35 위 프리미엄에 머무는 동안 매수 체결이 따라오지 않는 bearish divergence 성격입니다. 상단 $61,900에 가장 큰 청산 유동성이 있으나, 먼저 $59,840~$60,000 회복 실패 시 $58,200 및 7일 저점 $58,388 부근 하단 유동성 재확인 가능성이 더 높습니다.",
      "key_levels": {
        "support": [
          59656.35,
          58388.0,
          58200,
          57100,
          54600
        ],
        "resistance": [
          59840.47,
          59853.7,
          60924.7,
          61900,
          65400,
          65800
        ]
      },
      "time_horizon": "short term, 약 4-8시간",
      "invalidation_level": "$60,924.70 상방 15분봉 종가 수용",
      "risk_scenario": "$60,924.70을 회복하고 상방 수용이 나오면 롱 과밀에도 불구하고 숏 커버링과 청산 유동성 사냥이 붙어 $61,900까지 빠르게 확장될 수 있으며, 이후 $65,400-$65,800 상단 청산 클러스터가 다음 목표가 됩니다.",
      "data_quality": "medium",
      "metrics": {
        "cvd_divergence": 0.15,
        "cvd_change": -3749.998,
        "oi_trend": 0.435,
        "oi_change_pct_24h": -0.655,
        "oi_latest": 102580.31,
        "funding_pressure": 0.45,
        "funding_avg": 4.995e-05,
        "funding_change_24h": 3.014e-05,
        "long_account_ratio": 0.689,
        "short_account_ratio": 0.311,
        "long_account_latest": 0.708,
        "short_account_latest": 0.292,
        "long_account_change_24h": 0.035,
        "short_account_change_24h": -0.035,
        "account_flow_label": "long_accounts_rising_short_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.497,
        "spot_futures_basis_pct": -0.0121,
        "basis_change_lookback": 0.0302,
        "aggregate_score": 0.306,
        "bull_signals": 0,
        "bear_signals": 3,
        "liq_below": [
          [
            58200,
            3995.9682117499997
          ],
          [
            57100,
            4218.284391
          ],
          [
            54600,
            3526.411975
          ]
        ],
        "liq_above": [
          [
            61900,
            5191.283341
          ],
          [
            65400,
            5000.86673625
          ],
          [
            65800,
            4302.61523125
          ]
        ],
        "strongest_liq_level": 61900,
        "fragility_score": 0.516,
        "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.72,\n  \"setup_signals\": [\n    \"현재가 $59,816.80은 7일 레인지 EQ $59,656.35 위에 있어 약한 프리미엄 구간\",\n    \"롱 계정 비율 0.708, 숏 계정 비율 0.292로 롱 계정 쏠림 극단(account_long_crowding 1.000)\",\n    \"롱 계정 24시간 변화 +0.035, 숏 계정 -0.035로 롱 유입 증가·숏 감소 흐름\",\n    \"OI 24시간 변화 -0.655%로 신규 추세 추종보다는 포지션 언와인딩 성격\",\n    \"CVD 변화 -3749.9980 및 cvd_divergence 0.150으로 가격 반등 대비 매수 체결 강도 약함\",\n    \"상단 최대 청산 유동성 $61,900이 열려 있으나, 현재 파생 포지셔닝은 롱 과밀로 단기 롱 스퀴즈 리스크 우위\"\n  ],\n  \"reasoning\": \"구조적으로는 $58,388.00 저점과 $60,924.70 고점 사이 박스권이며, 현재가 $59,816.80은 EMA120 $59,840.47 및 EMA240 $59,853.70 부근에서 명확한 수용을 만들지 못해 confirmed BOS/CHoCH가 없는 중립 구조입니다. 다만 셋업 관점에서는 롱 계정 비율이 0.708까지 올라 account_long_crowding이 1.000으로 극단이며, OI가 24시간 -0.655% 감소해 상승 추세의 건강한 신규 롱 유입보다는 포지션 정리 성격이 강합니다. CVD도 -3749.9980으로 약해 가격이 EQ $59,656.35 위 프리미엄에 머무는 동안 매수 체결이 따라오지 않는 bearish divergence 성격입니다. 상단 $61,900에 가장 큰 청산 유동성이 있으나, 먼저 $59,840~$60,000 회복 실패 시 $58,200 및 7일 저점 $58,388 부근 하단 유동성 재확인 가능성이 더 높습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59656.35,\n      58388.0,\n      58200,\n      57100,\n      54600\n    ],\n    \"resistance\": [\n      59840.47,\n      59853.7,\n      60924.7,\n      61900,\n      65400,\n      65800\n    ]\n  },\n  \"time_horizon\": \"short term, 약 4-8시간\",\n  \"invalidation_level\": \"$60,924.70 상방 15분봉 종가 수용\",\n  \"risk_scenario\": \"$60,924.70을 회복하고 상방 수용이 나오면 롱 과밀에도 불구하고 숏 커버링과 청산 유동성 사냥이 붙어 $61,900까지 빠르게 확장될 수 있으며, 이후 $65,400-$65,800 상단 청산 클러스터가 다음 목표가 됩니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "wyckoff": {
      "agent_id": "wyckoff",
      "display_name": "Wyckoff Expert",
      "signal": "neutral",
      "confidence": 0.66,
      "structure_bias": "bullish",
      "setup_bias": "neutral",
      "setup_score": 0.48,
      "setup_signals": [
        "ACC regime 우세: acc_score 96.2, dis_score 92.5, regime_fitness 0.963",
        "현재가 $59,816.80은 주 range low $59,819.80 바로 아래에 위치하여 하단 경계 재확인 구간",
        "주 range EQ 약 $60,067.05 아래의 discount 영역에 있어 구조상 매수 반응 가능 구간",
        "active cycle의 AR $59,784.90 위에 머물고 있으나 BU $59,855.00 상단 안착은 아직 불충분",
        "Terminal Spring $59,552.60 및 SOS $59,689.60 이후 BU 후보가 형성됐지만 Phase E acceptance는 아직 확인 전"
      ],
      "reasoning": "15분 구조는 regime=ACC, acc_score 96.2 및 regime_fitness 0.963으로 축적 구조가 우세하며, 주요 앵커는 SC $59,819.80 → AR $60,314.30입니다. 다만 현재가 $59,816.80은 주 range low $59,819.80 바로 아래에 있어 Phase E/BU가 완전히 수용됐다고 보기 어렵고, active structure의 BU $59,855.00 위 재안착이 필요합니다. 구조적 편향은 bullish이지만 즉시 경로는 $59,784.90 active AR 및 $59,689.60 SOS 지지 재검증 가능성이 남아 있어 setup_bias는 neutral로 둡니다. 상방 확인은 $59,855.00 회복 후 $60,314.30 AR/range high 재탈환이며, 실패 시 $59,552.60 Terminal Spring 재테스트가 핵심 위험입니다.",
      "key_levels": {
        "support": [
          59819.8,
          59784.9,
          59689.6,
          59552.6,
          59360.3,
          58850.0
        ],
        "resistance": [
          59855.0,
          60314.3,
          60758.3
        ]
      },
      "time_horizon": "short to medium term",
      "invalidation_level": "59552.60",
      "risk_scenario": "$59,855.00 BU 후보를 회복하지 못하고 $59,784.90 active AR 아래로 다시 밀리면, Phase E 진행보다는 BU 실패 후 $59,689.60 SOS 및 $59,552.60 Terminal Spring 재검증으로 해석해야 합니다. 특히 $59,552.60 이탈 시 현재 ACC Phase E 후보는 약화되고, $59,360.30 ST 및 $58,850.00 SC 쪽으로 하단 유동성 테스트가 열립니다.",
      "data_quality": "high",
      "metrics": {
        "acc_score": 96.2,
        "dis_score": 92.5,
        "regime": "ACC",
        "regime_state": "acc_candidate",
        "structure_bias": "bullish",
        "phase_context": "acc_candidate / accumulation / Phase E",
        "phases_detected": [
          "SC",
          "AR",
          "ST",
          "Spring",
          "TERMINAL_SPRING",
          "SOS",
          "BU"
        ],
        "last_phase": "BU",
        "phase_candidates": [
          {
            "label": "SC",
            "side": "low",
            "idx": 133,
            "price": 59819.8,
            "color": "#ffd166"
          },
          {
            "label": "AR",
            "side": "high",
            "idx": 149,
            "price": 60314.3,
            "color": "#06d6a0"
          },
          {
            "label": "ST",
            "side": "low",
            "idx": 192,
            "price": 59934.3,
            "color": "#118ab2"
          },
          {
            "label": "Spring",
            "side": "low",
            "idx": 196,
            "price": 60003.6,
            "color": "#f9844a"
          },
          {
            "label": "TERMINAL_SPRING",
            "side": "low",
            "idx": 210,
            "price": 59366.6,
            "color": "#f3722c"
          },
          {
            "label": "SOS",
            "side": "high",
            "idx": 228,
            "price": 59883.2,
            "color": "#06d6a0"
          },
          {
            "label": "BU",
            "side": "high",
            "idx": 284,
            "price": 60758.3,
            "color": "#7209b7"
          }
        ],
        "phase_structures": [
          {
            "structure_id": "15m_cycle_1",
            "sequence": 1,
            "timeframe": "15m",
            "regime": "accumulation",
            "role": "prior_completed_structure",
            "is_active": false,
            "is_completed": true,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 133,
            "end_idx": 284,
            "phase_count": 7,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 133,
                "price": 59819.8,
                "color": "#ffd166",
                "dt": "2026-06-28 07:15:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 149,
                "price": 60314.3,
                "color": "#06d6a0",
                "dt": "2026-06-28 11:15:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 192,
                "price": 59934.3,
                "color": "#118ab2",
                "dt": "2026-06-28 22:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 196,
                "price": 60003.6,
                "color": "#f9844a",
                "dt": "2026-06-28 23:00:00+09:00"
              },
              {
                "label": "TERMINAL_SPRING",
                "side": "low",
                "idx": 210,
                "price": 59366.6,
                "color": "#f3722c",
                "dt": "2026-06-29 02:30:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 228,
                "price": 59883.2,
                "color": "#06d6a0",
                "dt": "2026-06-29 07:00:00+09:00"
              },
              {
                "label": "BU",
                "side": "high",
                "idx": 284,
                "price": 60758.3,
                "color": "#7209b7",
                "dt": "2026-06-29 21:00:00+09:00"
              }
            ]
          },
          {
            "structure_id": "15m_cycle_2",
            "sequence": 2,
            "timeframe": "15m",
            "regime": "accumulation",
            "role": "current_structure_candidate",
            "is_active": true,
            "is_completed": false,
            "is_confirmed": true,
            "structure_bias": "bullish",
            "phase_context": "accumulation",
            "start_idx": 244,
            "end_idx": 298,
            "phase_count": 7,
            "phases": [
              {
                "label": "SC",
                "side": "low",
                "idx": 244,
                "price": 58850.0,
                "color": "#ffd166",
                "dt": "2026-06-29 11:00:00+09:00"
              },
              {
                "label": "AR",
                "side": "high",
                "idx": 246,
                "price": 59784.9,
                "color": "#06d6a0",
                "dt": "2026-06-29 11:30:00+09:00"
              },
              {
                "label": "ST",
                "side": "low",
                "idx": 256,
                "price": 59360.3,
                "color": "#118ab2",
                "dt": "2026-06-29 14:00:00+09:00"
              },
              {
                "label": "Spring",
                "side": "low",
                "idx": 270,
                "price": 59712.8,
                "color": "#f9844a",
                "dt": "2026-06-29 17:30:00+09:00"
              },
              {
                "label": "TERMINAL_SPRING",
                "side": "low",
                "idx": 284,
                "price": 59552.6,
                "color": "#f3722c",
                "dt": "2026-06-29 21:00:00+09:00"
              },
              {
                "label": "SOS",
                "side": "high",
                "idx": 294,
                "price": 59689.6,
                "color": "#06d6a0",
                "dt": "2026-06-29 23:30:00+09:00"
              },
              {
                "label": "BU",
                "side": "high",
                "idx": 298,
                "price": 59855.0,
                "color": "#7209b7",
                "dt": "2026-06-30 00:30:00+09:00"
              }
            ]
          }
        ],
        "active_structure_id": "15m_cycle_2",
        "primary_structure_id": "15m_cycle_1",
        "structure_count": 2,
        "regime_fitness": 0.9625,
        "current_event": "BU",
        "major_phase": "E",
        "pos_in_range": 0.5,
        "main_range_low": 59819.8,
        "main_range_high": 60314.3
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.66,\n  \"structure_bias\": \"bullish\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.48,\n  \"setup_signals\": [\n    \"ACC regime 우세: acc_score 96.2, dis_score 92.5, regime_fitness 0.963\",\n    \"현재가 $59,816.80은 주 range low $59,819.80 바로 아래에 위치하여 하단 경계 재확인 구간\",\n    \"주 range EQ 약 $60,067.05 아래의 discount 영역에 있어 구조상 매수 반응 가능 구간\",\n    \"active cycle의 AR $59,784.90 위에 머물고 있으나 BU $59,855.00 상단 안착은 아직 불충분\",\n    \"Terminal Spring $59,552.60 및 SOS $59,689.60 이후 BU 후보가 형성됐지만 Phase E acceptance는 아직 확인 전\"\n  ],\n  \"reasoning\": \"15분 구조는 regime=ACC, acc_score 96.2 및 regime_fitness 0.963으로 축적 구조가 우세하며, 주요 앵커는 SC $59,819.80 → AR $60,314.30입니다. 다만 현재가 $59,816.80은 주 range low $59,819.80 바로 아래에 있어 Phase E/BU가 완전히 수용됐다고 보기 어렵고, active structure의 BU $59,855.00 위 재안착이 필요합니다. 구조적 편향은 bullish이지만 즉시 경로는 $59,784.90 active AR 및 $59,689.60 SOS 지지 재검증 가능성이 남아 있어 setup_bias는 neutral로 둡니다. 상방 확인은 $59,855.00 회복 후 $60,314.30 AR/range high 재탈환이며, 실패 시 $59,552.60 Terminal Spring 재테스트가 핵심 위험입니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59819.8,\n      59784.9,\n      59689.6,\n      59552.6,\n      59360.3,\n      58850.0\n    ],\n    \"resistance\": [\n      59855.0,\n      60314.3,\n      60758.3\n    ]\n  },\n  \"time_horizon\": \"short to medium term\",\n  \"invalidation_level\": \"59552.60\",\n  \"risk_scenario\": \"$59,855.00 BU 후보를 회복하지 못하고 $59,784.90 active AR 아래로 다시 밀리면, Phase E 진행보다는 BU 실패 후 $59,689.60 SOS 및 $59,552.60 Terminal Spring 재검증으로 해석해야 합니다. 특히 $59,552.60 이탈 시 현재 ACC Phase E 후보는 약화되고, $59,360.30 ST 및 $58,850.00 SC 쪽으로 하단 유동성 테스트가 열립니다.\",\n  \"data_quality\": \"high\"\n}"
    },
    "candlestick": {
      "agent_id": "candlestick",
      "display_name": "Candlestick Reader",
      "signal": "neutral",
      "confidence": 0.54,
      "structure_bias": "neutral",
      "setup_bias": "bearish",
      "setup_score": 0.58,
      "setup_signals": [
        "현재가 $59,816.80은 7일 고저점 EQ $59,656.35 위에 있어 소폭 프리미엄 구간",
        "EMA120 $59,840.47 및 EMA240 $59,853.70 바로 아래에서 정체되어 중기 저항 반응 가능",
        "최근 doji@299 출현으로 단기 상승 이후 매수·매도 균형 및 추세 확정 실패",
        "bearish_engulfing@292, bearish_engulfing@296이 반복 출현했으나 품질은 0.424/0.391로 후보 등급",
        "bullish_harami와 piercing_pattern은 고거래량 bullish 패턴이지만 아직 EMA120/EMA240 상단 수용이 확인되지 않음"
      ],
      "reasoning": "BTC는 현재 $59,816.80으로 EMA20 $59,698.48 위에 있어 단기 반등은 유지되고 있지만, EMA120 $59,840.47과 EMA240 $59,853.70 바로 아래에서 막히고 있습니다. 가장 품질이 높은 패턴은 고거래량 piercing_pattern으로 quality 0.802의 bullish 신호지만, 최근 doji@299와 bearish_engulfing 후보들이 함께 나타나 추세 확정력이 약합니다. 7일 범위 $58,388.00~$60,924.70의 중간값 $59,656.35 위에 위치해 프리미엄 구간이며, 구조적으로는 아직 명확한 BOS/CHoCH나 범위 이탈이 없어 neutral로 봅니다. 따라서 확인된 구조는 중립이지만, 단기 실행 셋업은 EMA120/EMA240 저항과 도지 출현 때문에 약한 bearish 쪽으로 기울어 있습니다.",
      "key_levels": {
        "support": [
          59698.48,
          59656.35,
          58388.0
        ],
        "resistance": [
          59840.47,
          59853.7,
          60924.7
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,853.70 상단에서 15분봉 종가 수용이 확인되면 단기 bearish setup은 무효화",
      "risk_scenario": "반대로 가격이 EMA240 $59,853.70 위로 안착하면 doji와 bearish engulfing 후보는 단순한 눌림으로 해석될 수 있으며, $60,000 심리적 구간과 7일 고점 $60,924.70 재시험 가능성이 커집니다. 반면 EMA20 $59,698.48을 이탈하면 $59,656.35 EQ 하향 이탈과 함께 $58,388.00 저점 방향으로 변동성이 확대될 수 있습니다.",
      "data_quality": "medium",
      "metrics": {
        "total_patterns_detected": 123,
        "recent_patterns": 6,
        "pattern_list": [
          "bearish_engulfing@292",
          "bearish_engulfing@296",
          "doji@299",
          "bullish_harami@291",
          "bearish_harami@294",
          "piercing_pattern@293"
        ],
        "atr_value": 362.02,
        "vol_avg_20": 5173.59,
        "high_volume_patterns": [
          "bullish_harami",
          "piercing_pattern"
        ],
        "pattern_candidates": [
          {
            "pattern": "piercing_pattern",
            "signal": "bullish",
            "pattern_quality": 0.802,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "bullish_harami",
            "signal": "bullish",
            "pattern_quality": 0.737,
            "tier": "strict",
            "high_volume": true
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.424,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_engulfing",
            "signal": "bearish",
            "pattern_quality": 0.391,
            "tier": "candidate",
            "high_volume": false
          },
          {
            "pattern": "bearish_harami",
            "signal": "bearish",
            "pattern_quality": 0.36,
            "tier": "candidate",
            "high_volume": false
          }
        ],
        "best_pattern_quality": 0.802,
        "bull_score": 1.5,
        "bear_score": 2.1
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.54,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bearish\",\n  \"setup_score\": 0.58,\n  \"setup_signals\": [\n    \"현재가 $59,816.80은 7일 고저점 EQ $59,656.35 위에 있어 소폭 프리미엄 구간\",\n    \"EMA120 $59,840.47 및 EMA240 $59,853.70 바로 아래에서 정체되어 중기 저항 반응 가능\",\n    \"최근 doji@299 출현으로 단기 상승 이후 매수·매도 균형 및 추세 확정 실패\",\n    \"bearish_engulfing@292, bearish_engulfing@296이 반복 출현했으나 품질은 0.424/0.391로 후보 등급\",\n    \"bullish_harami와 piercing_pattern은 고거래량 bullish 패턴이지만 아직 EMA120/EMA240 상단 수용이 확인되지 않음\"\n  ],\n  \"reasoning\": \"BTC는 현재 $59,816.80으로 EMA20 $59,698.48 위에 있어 단기 반등은 유지되고 있지만, EMA120 $59,840.47과 EMA240 $59,853.70 바로 아래에서 막히고 있습니다. 가장 품질이 높은 패턴은 고거래량 piercing_pattern으로 quality 0.802의 bullish 신호지만, 최근 doji@299와 bearish_engulfing 후보들이 함께 나타나 추세 확정력이 약합니다. 7일 범위 $58,388.00~$60,924.70의 중간값 $59,656.35 위에 위치해 프리미엄 구간이며, 구조적으로는 아직 명확한 BOS/CHoCH나 범위 이탈이 없어 neutral로 봅니다. 따라서 확인된 구조는 중립이지만, 단기 실행 셋업은 EMA120/EMA240 저항과 도지 출현 때문에 약한 bearish 쪽으로 기울어 있습니다.\",\n  \"key_levels\": {\n    \"support\": [\n      59698.48,\n      59656.35,\n      58388.0\n    ],\n    \"resistance\": [\n      59840.47,\n      59853.7,\n      60924.7\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,853.70 상단에서 15분봉 종가 수용이 확인되면 단기 bearish setup은 무효화\",\n  \"risk_scenario\": \"반대로 가격이 EMA240 $59,853.70 위로 안착하면 doji와 bearish engulfing 후보는 단순한 눌림으로 해석될 수 있으며, $60,000 심리적 구간과 7일 고점 $60,924.70 재시험 가능성이 커집니다. 반면 EMA20 $59,698.48을 이탈하면 $59,656.35 EQ 하향 이탈과 함께 $58,388.00 저점 방향으로 변동성이 확대될 수 있습니다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "ict": {
      "agent_id": "ict",
      "display_name": "ICT Trader",
      "signal": "neutral",
      "confidence": 0.52,
      "structure_bias": "neutral",
      "setup_bias": "neutral",
      "setup_score": 0.35,
      "setup_signals": [
        "현재가 $59,816.80로 EQ $59,873.15 아래에 있어 소폭 discount 구간",
        "활성 bearish OB가 $59,552.60-$60,758.30에 위치하며 현재가가 해당 공급 구간 내부에 있음",
        "bearish OB 내부 FVG 컨텍스트가 $60,025.90-$60,383.80에 존재하지만 현재 open FVG는 0개",
        "상방 구조 확인 레벨은 bullish BOS $60,325.00 및 $60,557.80",
        "하방 단기 위험 레벨은 bearish BOS 트리거 $59,819.80 부근이며 현재가 $59,816.80가 근접/소폭 하회",
        "후보 bullish OB 수요 구간은 $58,388.00-$59,153.90"
      ],
      "reasoning": "구조적으로는 BOS_bullish, CHoCH_bearish, BOS_bearish, CHoCH_bullish, BOS_bearish, BOS_bullish가 교차로 발생해 명확한 일방향 regime이 아니라 중립 구조로 판단된다. 현재가 $59,816.80는 EQ $59,873.15 아래 discount에 있어 매수 셋업 조건은 일부 있으나, 동시에 활성 bearish OB $59,552.60-$60,758.30 내부에 머물러 공급 압력도 남아 있다. 상방은 $60,025.90-$60,383.80 구간과 bullish BOS $60,325.00 재수복이 중요하며, 하방은 $59,819.80 이탈 유지 시 $59,552.60, $59,153.90, $58,988.00 순으로 유동성 탐색이 열릴 수 있다. 최근 liquidity sweep이 없고 open FVG도 0개라 기관성 유동성 사냥 이후의 확정 시그널은 부족해, 현재는 추격보다 구조 확인 대기 구간이다.",
      "key_levels": {
        "support": [
          59819.8,
          59552.6,
          59153.9,
          59067.6,
          58988.0,
          58388.0
        ],
        "resistance": [
          59873.15,
          59939.2,
          60025.9,
          60155.45,
          60325.0,
          60758.3
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$60,325.00 상방 15분봉 종가 수용 시 현재 중립/공급 우위 셋업은 무효화되고 bullish 구조 확인 가능성이 커짐",
      "risk_scenario": "$59,819.80 아래에서 가격이 수용되고 $59,552.60 bearish OB 하단까지 이탈하면, discount 매수 기대는 실패하고 $59,153.90 후보 bullish OB 및 $58,988.00 range low 유동성까지 하방 확장이 나올 수 있다.",
      "data_quality": "medium",
      "metrics": {
        "order_blocks_total": 2,
        "confirmed_bullish_ob": 0,
        "confirmed_bearish_ob": 0,
        "candidate_bullish_ob": 1,
        "candidate_bearish_ob": 1,
        "active_bullish_ob": 0,
        "active_bearish_ob": 1,
        "nearest_bull_ob_range": {
          "bottom": 58388.0,
          "top": 59153.9,
          "quality": "candidate",
          "score": 0.515
        },
        "nearest_bear_ob_range": null,
        "active_bullish_ob_list": [],
        "active_bearish_ob_list": [
          {
            "type": "bearish_ob",
            "idx": 284,
            "top": 60758.3,
            "bottom": 59552.6,
            "mid": 60155.45,
            "quality": "candidate",
            "score": 0.54,
            "displacement_score": 0.258,
            "has_fvg": true,
            "has_sweep_context": false,
            "fvg_range": {
              "bottom": 60025.9,
              "top": 60383.8
            },
            "swept_level": null,
            "source_move_idx": 284,
            "proximity": "active"
          }
        ],
        "ob_mitigated_count": 0,
        "unfilled_bull_fvg_count": 0,
        "unfilled_bear_fvg_count": 0,
        "bull_fvg_ranges": [],
        "bear_fvg_ranges": [],
        "fvg_open_count": 0,
        "fvg_mitigated_count": 60,
        "fvg_open_zones": [],
        "bos_choch_events": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bullish"
        ],
        "bos_choch_levels": [
          {
            "type": "BOS_bullish",
            "level": 60557.8
          },
          {
            "type": "CHoCH_bearish",
            "level": 60162.0
          },
          {
            "type": "BOS_bearish",
            "level": 59819.8
          },
          {
            "type": "CHoCH_bullish",
            "level": 60314.3
          },
          {
            "type": "BOS_bearish",
            "level": 60037.0
          },
          {
            "type": "BOS_bullish",
            "level": 60325.0
          }
        ],
        "bos_sequence": [
          "BOS_bullish",
          "CHoCH_bearish",
          "BOS_bearish",
          "CHoCH_bullish",
          "BOS_bearish",
          "BOS_bullish"
        ],
        "consecutive_bull_bos": 1,
        "consecutive_bear_bos": 0,
        "recent_liq_sweeps": [],
        "recent_sweep_levels": [],
        "liquidity_resting": [],
        "current_zone": "discount",
        "eq_level": 59873.15,
        "range_high": 60758.3,
        "range_low": 58988.0,
        "bull_score": 8.7,
        "bear_score": 8.324,
        "setup_bias": "neutral",
        "setup_score": 0.35,
        "setup_signals": [
          "bullish BOS above $60,557.80",
          "bullish CHoCH above $60,314.30",
          "bearish CHoCH below $60,162.00",
          "bearish BOS below $59,819.80"
        ],
        "retracement_direction": "bullish",
        "current_retracement_pct": 123.2,
        "deepest_retracement_pct": 169.3,
        "previous_day_high": 60758.3,
        "previous_day_low": 58850.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": 59939.2,
            "low": 59067.6
          }
        }
      },
      "raw_llm_response": "{\n  \"signal\": \"neutral\",\n  \"confidence\": 0.52,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"neutral\",\n  \"setup_score\": 0.35,\n  \"setup_signals\": [\n    \"현재가 $59,816.80로 EQ $59,873.15 아래에 있어 소폭 discount 구간\",\n    \"활성 bearish OB가 $59,552.60-$60,758.30에 위치하며 현재가가 해당 공급 구간 내부에 있음\",\n    \"bearish OB 내부 FVG 컨텍스트가 $60,025.90-$60,383.80에 존재하지만 현재 open FVG는 0개\",\n    \"상방 구조 확인 레벨은 bullish BOS $60,325.00 및 $60,557.80\",\n    \"하방 단기 위험 레벨은 bearish BOS 트리거 $59,819.80 부근이며 현재가 $59,816.80가 근접/소폭 하회\",\n    \"후보 bullish OB 수요 구간은 $58,388.00-$59,153.90\"\n  ],\n  \"reasoning\": \"구조적으로는 BOS_bullish, CHoCH_bearish, BOS_bearish, CHoCH_bullish, BOS_bearish, BOS_bullish가 교차로 발생해 명확한 일방향 regime이 아니라 중립 구조로 판단된다. 현재가 $59,816.80는 EQ $59,873.15 아래 discount에 있어 매수 셋업 조건은 일부 있으나, 동시에 활성 bearish OB $59,552.60-$60,758.30 내부에 머물러 공급 압력도 남아 있다. 상방은 $60,025.90-$60,383.80 구간과 bullish BOS $60,325.00 재수복이 중요하며, 하방은 $59,819.80 이탈 유지 시 $59,552.60, $59,153.90, $58,988.00 순으로 유동성 탐색이 열릴 수 있다. 최근 liquidity sweep이 없고 open FVG도 0개라 기관성 유동성 사냥 이후의 확정 시그널은 부족해, 현재는 추격보다 구조 확인 대기 구간이다.\",\n  \"key_levels\": {\n    \"support\": [\n      59819.8,\n      59552.6,\n      59153.9,\n      59067.6,\n      58988.0,\n      58388.0\n    ],\n    \"resistance\": [\n      59873.15,\n      59939.2,\n      60025.9,\n      60155.45,\n      60325.0,\n      60758.3\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$60,325.00 상방 15분봉 종가 수용 시 현재 중립/공급 우위 셋업은 무효화되고 bullish 구조 확인 가능성이 커짐\",\n  \"risk_scenario\": \"$59,819.80 아래에서 가격이 수용되고 $59,552.60 bearish OB 하단까지 이탈하면, discount 매수 기대는 실패하고 $59,153.90 후보 bullish OB 및 $58,988.00 range low 유동성까지 하방 확장이 나올 수 있다.\",\n  \"data_quality\": \"medium\"\n}"
    },
    "harmonic": {
      "agent_id": "harmonic",
      "display_name": "Harmonic Specialist",
      "signal": "bullish",
      "confidence": 0.57,
      "structure_bias": "neutral",
      "setup_bias": "bullish",
      "setup_score": 0.64,
      "setup_signals": [
        "현재가 $59,816.80이 고점수 bullish Butterfly 형성 PRZ $59,700.93-$59,975.14 내부에 위치, D 후보 $59,838.03와 괴리 0.04%",
        "strict/high bullish Bat 형성 PRZ $59,703.20-$60,039.05가 현재가와 0.09% 거리이며 XAD·BC_EXT·ABCD 3개 Fib 패밀리 confluence",
        "strict/high bullish Gartley 형성 PRZ $59,766.59-$60,009.11가 현재가와 0.12% 거리이며 XAB 0.6111로 Gartley 기준 0.618에 근접",
        "완료 bullish Crab $59,302.95-$59,696.90은 PRZ 터치 후 방어 확인, reaction_score 1.0 및 AD 0.382 반응 목표 $59,785.35 달성",
        "완료 bullish Gartley PRZ $59,849.11-$60,010.86은 확인 반응 있음, reaction_score 0.8 및 TP1 $60,072.55 / TP2 $60,160.63가 유효한 상방 waypoint",
        "단기 상단에는 bearish Gartley 형성 PRZ $59,856.22-$60,128.74가 겹쳐 있어 $59,990-$60,130 구간은 즉시 매도 반응 위험 zone"
      ],
      "reasoning": "15분 harmonic 기준으로는 bullish 점수 2.089 대 bearish 0.568, directional_dominance 0.573으로 상방 반응 후보가 우세하지만, harmonic 단독으로 구조 전환을 확정할 수는 없어 structure_bias는 neutral로 둔다. 현재가 $59,816.80은 bullish Butterfly PRZ $59,700.93-$59,975.14, bullish Bat PRZ $59,703.20-$60,039.05, bullish Gartley PRZ $59,766.59-$60,009.11가 중첩되는 active high-confluence 구간에 있어 setup_bias는 bullish다. 특히 확인된 bullish Crab은 $59,499.93 D 이후 reaction_score 1.0으로 $59,785.35 이상 반응을 이미 만들었고, 확인된 bullish Gartley도 $59,929.98 D 기준 TP1 $60,072.55와 TP2 $60,160.63을 제시한다. 다만 $59,856.22-$60,128.74의 bearish Gartley 형성 PRZ가 같은 가격대에 겹치므로 $60,010-$60,130 돌파 실패 시 상방 setup은 단순 반등 후 재하락 리스크로 바뀐다.",
      "key_levels": {
        "support": [
          59799.33,
          59766.59,
          59703.2,
          59700.93,
          59693.6,
          59456.7,
          59302.95,
          59113.22
        ],
        "resistance": [
          59975.14,
          60009.11,
          60016.01,
          60039.05,
          60072.55,
          60105.52,
          60128.74,
          60160.63,
          60247.1,
          60314.3
        ]
      },
      "time_horizon": "short term",
      "invalidation_level": "$59,302.95 15분 종가 이탈 및 즉시 reclaim 실패",
      "risk_scenario": "$59,856.22-$60,128.74의 bearish Gartley PRZ에서 거절이 확인되고 $59,700.93 아래로 되밀리면, 현재 bullish PRZ 클러스터는 방어 실패로 해석되어 $59,456.70-$59,302.95 하단 PRZ 재시험이 우선 시나리오가 된다. 특히 $59,302.95까지 이탈하면 확인된 bullish Crab 방어 논리가 약화되고, 다음 하방 유동성은 $59,113.22 및 구조 저점 $58,388.00 쪽으로 열릴 수 있다.",
      "data_quality": "high",
      "metrics": {
        "patterns_found": 54,
        "completed_patterns_found": 22,
        "forming_d_prz_found": 32,
        "swing_orders_scanned": [
          3,
          5,
          8
        ],
        "swing_search_window": 34,
        "multiscale_swings_scanned": 62,
        "swing_highs_scanned": 31,
        "swing_lows_scanned": 31,
        "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": 12,
          "medium": 20,
          "low": 22
        },
        "prz_status_counts": {
          "active": 28,
          "nearby": 7,
          "watch": 13,
          "far": 6,
          "forming": 5
        },
        "high_confluence_prz_count": 32,
        "strict_patterns_found": 32,
        "candidate_patterns_found": 22,
        "active_patterns_at_prz": 28,
        "nearby_patterns": 7,
        "all_patterns": [
          "bat",
          "bat",
          "bat",
          "gartley",
          "crab",
          "bat",
          "shark",
          "crab",
          "shark",
          "gartley",
          "butterfly",
          "bat",
          "crab",
          "crab",
          "bat",
          "gartley",
          "bat",
          "gartley",
          "crab",
          "butterfly",
          "bat",
          "butterfly",
          "butterfly",
          "shark",
          "butterfly",
          "crab",
          "crab",
          "gartley",
          "butterfly",
          "butterfly",
          "crab",
          "gartley",
          "bat",
          "crab",
          "shark",
          "bat",
          "crab",
          "crab",
          "butterfly",
          "butterfly",
          "shark",
          "butterfly",
          "shark",
          "shark",
          "crab",
          "crab",
          "shark",
          "crab",
          "shark",
          "shark",
          "butterfly",
          "crab",
          "butterfly",
          "crab"
        ],
        "all_signals": [
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bearish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bullish",
          "bearish",
          "bearish",
          "bullish",
          "bullish",
          "bearish",
          "bullish",
          "bullish"
        ],
        "best_pattern": "bat",
        "best_pattern_quality": "strict",
        "best_quality": "medium",
        "best_pattern_score": 0.97,
        "best_completion_status": "forming",
        "nearest_pattern": "butterfly",
        "nearest_prz": 59838.03,
        "price_to_prz": 0.04,
        "prz_range": [
          59700.93,
          59975.14
        ],
        "council_relevant_prz_count": 10,
        "directional_influence_prz_count": 10,
        "confirmed_reaction_prz_count": 3,
        "validated_harmonic_tp_count": 3,
        "pattern_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "ratio_score": 0.961,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59871.13,
            "prz_range": [
              59703.2,
              60039.05
            ],
            "prz_width_pct": 0.561,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.09,
            "price_to_prz_pct_raw": 0.0908,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59871.13,
              "a_price": 60250.4,
              "tp1_ad_382": 60016.01,
              "tp2_ad_618": 60105.52,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.8974
            },
            "x_price": 59819.8,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 154,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 181,
            "b_order": 8,
            "c_price": 60228.5,
            "c_idx": 197,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59628.02,
            "prz_range": [
              59456.7,
              59799.33
            ],
            "prz_width_pct": 0.575,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.32,
            "price_to_prz_pct_raw": -0.3156,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59628.02,
              "a_price": 60247.1,
              "tp1_ad_382": 59864.51,
              "tp2_ad_618": 60010.61,
              "tp3_a_or_structure_liquidity": 60247.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3947,
              "ABC": 0.732
            },
            "x_price": 59714.8,
            "x_idx": 161,
            "x_order": 8,
            "a_price": 60247.1,
            "a_idx": 170,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 181,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 228,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 0.959,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59887.85,
            "prz_range": [
              59766.59,
              60009.11
            ],
            "prz_width_pct": 0.405,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.12,
            "price_to_prz_pct_raw": 0.1188,
            "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": 59887.85,
              "a_price": 60543.3,
              "tp1_ad_382": 60138.23,
              "tp2_ad_618": 60292.92,
              "tp3_a_or_structure_liquidity": 60543.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6111,
              "ABC": 0.7877
            },
            "x_price": 59714.8,
            "x_idx": 161,
            "x_order": 8,
            "a_price": 60543.3,
            "a_idx": 174,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 181,
            "b_order": 8,
            "c_price": 60435.8,
            "c_idx": 190,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.949,
            "ratio_score": 1.0,
            "prz_score": 0.978,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59498.28,
            "prz_range": [
              59302.95,
              59693.6
            ],
            "prz_width_pct": 0.657,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.53,
            "price_to_prz_pct_raw": -0.5325,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59498.28,
              "a_price": 60250.4,
              "tp1_ad_382": 59785.59,
              "tp2_ad_618": 59963.09,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.7207
            },
            "x_price": 59819.8,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 154,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 181,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 228,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.929,
            "ratio_score": 0.855,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59992.48,
            "prz_range": [
              59856.22,
              60128.74
            ],
            "prz_width_pct": 0.454,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.29,
            "price_to_prz_pct_raw": 0.2937,
            "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": 59992.48,
              "a_price": 59224.6,
              "tp1_ad_382": 59699.15,
              "tp2_ad_618": 59517.93,
              "tp3_a_or_structure_liquidity": 59224.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5935,
              "ABC": 0.7722
            },
            "x_price": 60228.5,
            "x_idx": 197,
            "x_order": 3,
            "a_price": 59224.6,
            "a_idx": 219,
            "a_order": 8,
            "b_price": 59820.4,
            "b_idx": 234,
            "b_order": 5,
            "c_price": 59360.3,
            "c_idx": 256,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.924,
            "ratio_score": 0.884,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59838.03,
            "prz_range": [
              59700.93,
              59975.14
            ],
            "prz_width_pct": 0.458,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.04,
            "price_to_prz_pct_raw": 0.0355,
            "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": 59838.03,
              "a_price": 60314.3,
              "tp1_ad_382": 60019.97,
              "tp2_ad_618": 60132.37,
              "tp3_a_or_structure_liquidity": 60314.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7612,
              "ABC": 0.6906
            },
            "x_price": 59950.0,
            "x_idx": 144,
            "x_order": 5,
            "a_price": 60314.3,
            "a_idx": 149,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 181,
            "b_order": 8,
            "c_price": 60228.5,
            "c_idx": 197,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.922,
            "ratio_score": 1.0,
            "prz_score": 0.984,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59303.61,
            "prz_range": [
              59113.22,
              59494.0
            ],
            "prz_width_pct": 0.642,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.86,
            "price_to_prz_pct_raw": -0.8579,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59303.61,
              "a_price": 60325.0,
              "tp1_ad_382": 59693.78,
              "tp2_ad_618": 59934.83,
              "tp3_a_or_structure_liquidity": 60325.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4398,
              "ABC": 0.4975
            },
            "x_price": 59360.3,
            "x_idx": 256,
            "x_order": 8,
            "a_price": 60325.0,
            "a_idx": 261,
            "a_order": 8,
            "b_price": 59900.7,
            "b_idx": 264,
            "b_order": 3,
            "c_price": 59689.6,
            "c_idx": 294,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.892,
            "ratio_score": 0.876,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59934.3,
            "prz_range": [
              59849.11,
              60010.86
            ],
            "prz_width_pct": 0.27,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.19,
            "price_to_prz_pct_raw": 0.1892,
            "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.798,
                "adverse_move_ratio_ad": 0.443,
                "bars_after_d": 12,
                "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": "bullish",
              "source": "gartley",
              "d_price": 59929.98,
              "a_price": 60303.2,
              "tp1_ad_382": 60072.55,
              "tp2_ad_618": 60160.63,
              "tp3_a_or_structure_liquidity": 60303.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5916,
              "ABC": 0.8154,
              "BCD": 1.3555,
              "XAD": 0.7631
            },
            "x_price": 59819.8,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60303.2,
            "a_idx": 136,
            "a_order": 5,
            "b_price": 60017.2,
            "b_idx": 149,
            "b_order": 3,
            "c_price": 60250.4,
            "c_idx": 154,
            "c_order": 3,
            "d_idx": 192
          }
        ],
        "council_relevant_prz": [
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.903,
            "ratio_score": 0.942,
            "prz_score": 0.976,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59360.3,
            "prz_range": [
              59302.95,
              59696.9
            ],
            "prz_width_pct": 0.662,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.53,
            "price_to_prz_pct_raw": -0.5297,
            "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.088,
                "adverse_move_ratio_ad": 0.0,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "D_PRZ_failure_zone_defended",
                  "post_D_close_progress"
                ]
              },
              "path_role": "medium confluence / weak-consensus tie-breaker; no standalone path override",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.58,
            "confirmed_reaction": true,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59499.93,
              "a_price": 60247.1,
              "tp1_ad_382": 59785.35,
              "tp2_ad_618": 59961.68,
              "tp3_a_or_structure_liquidity": 60247.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3947,
              "ABC": 0.732,
              "BCD": 3.3999,
              "XAD": 1.666
            },
            "x_price": 59714.8,
            "x_idx": 161,
            "x_order": 8,
            "a_price": 60247.1,
            "a_idx": 170,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 181,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 228,
            "c_order": 8,
            "d_idx": 256
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "medium",
            "pattern_score": 0.895,
            "ratio_score": 0.981,
            "prz_score": 0.885,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 60287.1,
            "prz_range": [
              59859.35,
              60398.56
            ],
            "prz_width_pct": 0.897,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.52,
            "price_to_prz_pct_raw": 0.5219,
            "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.691,
                "adverse_move_ratio_ad": 0.443,
                "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": 60128.96,
              "a_price": 59224.6,
              "tp1_ad_382": 59783.49,
              "tp2_ad_618": 59570.06,
              "tp3_a_or_structure_liquidity": 59224.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4319,
              "ABC": 0.7406,
              "BCD": 2.3924,
              "XAD": 0.8772
            },
            "x_price": 60435.8,
            "x_idx": 190,
            "x_order": 8,
            "a_price": 59224.6,
            "a_idx": 219,
            "a_order": 8,
            "b_price": 59747.7,
            "b_idx": 221,
            "b_order": 3,
            "c_price": 59360.3,
            "c_idx": 256,
            "c_order": 8,
            "d_idx": 276
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.892,
            "ratio_score": 0.876,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59934.3,
            "prz_range": [
              59849.11,
              60010.86
            ],
            "prz_width_pct": 0.27,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.19,
            "price_to_prz_pct_raw": 0.1892,
            "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.798,
                "adverse_move_ratio_ad": 0.443,
                "bars_after_d": 12,
                "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": "bullish",
              "source": "gartley",
              "d_price": 59929.98,
              "a_price": 60303.2,
              "tp1_ad_382": 60072.55,
              "tp2_ad_618": 60160.63,
              "tp3_a_or_structure_liquidity": 60303.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5916,
              "ABC": 0.8154,
              "BCD": 1.3555,
              "XAD": 0.7631
            },
            "x_price": 59819.8,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60303.2,
            "a_idx": 136,
            "a_order": 5,
            "b_price": 60017.2,
            "b_idx": 149,
            "b_order": 3,
            "c_price": 60250.4,
            "c_idx": 154,
            "c_order": 3,
            "d_idx": 192
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "ratio_score": 0.961,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59871.13,
            "prz_range": [
              59703.2,
              60039.05
            ],
            "prz_width_pct": 0.561,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.09,
            "price_to_prz_pct_raw": 0.0908,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59871.13,
              "a_price": 60250.4,
              "tp1_ad_382": 60016.01,
              "tp2_ad_618": 60105.52,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.8974
            },
            "x_price": 59819.8,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 154,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 181,
            "b_order": 8,
            "c_price": 60228.5,
            "c_idx": 197,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 0.959,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59887.85,
            "prz_range": [
              59766.59,
              60009.11
            ],
            "prz_width_pct": 0.405,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.12,
            "price_to_prz_pct_raw": 0.1188,
            "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": 59887.85,
              "a_price": 60543.3,
              "tp1_ad_382": 60138.23,
              "tp2_ad_618": 60292.92,
              "tp3_a_or_structure_liquidity": 60543.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6111,
              "ABC": 0.7877
            },
            "x_price": 59714.8,
            "x_idx": 161,
            "x_order": 8,
            "a_price": 60543.3,
            "a_idx": 174,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 181,
            "b_order": 8,
            "c_price": 60435.8,
            "c_idx": 190,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59628.02,
            "prz_range": [
              59456.7,
              59799.33
            ],
            "prz_width_pct": 0.575,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.32,
            "price_to_prz_pct_raw": -0.3156,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59628.02,
              "a_price": 60247.1,
              "tp1_ad_382": 59864.51,
              "tp2_ad_618": 60010.61,
              "tp3_a_or_structure_liquidity": 60247.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3947,
              "ABC": 0.732
            },
            "x_price": 59714.8,
            "x_idx": 161,
            "x_order": 8,
            "a_price": 60247.1,
            "a_idx": 170,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 181,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 228,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.949,
            "ratio_score": 1.0,
            "prz_score": 0.978,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59498.28,
            "prz_range": [
              59302.95,
              59693.6
            ],
            "prz_width_pct": 0.657,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.53,
            "price_to_prz_pct_raw": -0.5325,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59498.28,
              "a_price": 60250.4,
              "tp1_ad_382": 59785.59,
              "tp2_ad_618": 59963.09,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.7207
            },
            "x_price": 59819.8,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 154,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 181,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 228,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.929,
            "ratio_score": 0.855,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59992.48,
            "prz_range": [
              59856.22,
              60128.74
            ],
            "prz_width_pct": 0.454,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.29,
            "price_to_prz_pct_raw": 0.2937,
            "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": 59992.48,
              "a_price": 59224.6,
              "tp1_ad_382": 59699.15,
              "tp2_ad_618": 59517.93,
              "tp3_a_or_structure_liquidity": 59224.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5935,
              "ABC": 0.7722
            },
            "x_price": 60228.5,
            "x_idx": 197,
            "x_order": 3,
            "a_price": 59224.6,
            "a_idx": 219,
            "a_order": 8,
            "b_price": 59820.4,
            "b_idx": 234,
            "b_order": 5,
            "c_price": 59360.3,
            "c_idx": 256,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.924,
            "ratio_score": 0.884,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59838.03,
            "prz_range": [
              59700.93,
              59975.14
            ],
            "prz_width_pct": 0.458,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.04,
            "price_to_prz_pct_raw": 0.0355,
            "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": 59838.03,
              "a_price": 60314.3,
              "tp1_ad_382": 60019.97,
              "tp2_ad_618": 60132.37,
              "tp3_a_or_structure_liquidity": 60314.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7612,
              "ABC": 0.6906
            },
            "x_price": 59950.0,
            "x_idx": 144,
            "x_order": 5,
            "a_price": 60314.3,
            "a_idx": 149,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 181,
            "b_order": 8,
            "c_price": 60228.5,
            "c_idx": 197,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.922,
            "ratio_score": 1.0,
            "prz_score": 0.984,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59303.61,
            "prz_range": [
              59113.22,
              59494.0
            ],
            "prz_width_pct": 0.642,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.86,
            "price_to_prz_pct_raw": -0.8579,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59303.61,
              "a_price": 60325.0,
              "tp1_ad_382": 59693.78,
              "tp2_ad_618": 59934.83,
              "tp3_a_or_structure_liquidity": 60325.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4398,
              "ABC": 0.4975
            },
            "x_price": 59360.3,
            "x_idx": 256,
            "x_order": 8,
            "a_price": 60325.0,
            "a_idx": 261,
            "a_order": 8,
            "b_price": 59900.7,
            "b_idx": 264,
            "b_order": 3,
            "c_price": 59689.6,
            "c_idx": 294,
            "c_order": 3,
            "d_idx": null
          }
        ],
        "report_detail_candidates": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "ratio_score": 0.961,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59871.13,
            "prz_range": [
              59703.2,
              60039.05
            ],
            "prz_width_pct": 0.561,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.09,
            "price_to_prz_pct_raw": 0.0908,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59871.13,
              "a_price": 60250.4,
              "tp1_ad_382": 60016.01,
              "tp2_ad_618": 60105.52,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.8974
            },
            "x_price": 59819.8,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 154,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 181,
            "b_order": 8,
            "c_price": 60228.5,
            "c_idx": 197,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 1.0,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59628.02,
            "prz_range": [
              59456.7,
              59799.33
            ],
            "prz_width_pct": 0.575,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.32,
            "price_to_prz_pct_raw": -0.3156,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59628.02,
              "a_price": 60247.1,
              "tp1_ad_382": 59864.51,
              "tp2_ad_618": 60010.61,
              "tp3_a_or_structure_liquidity": 60247.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3947,
              "ABC": 0.732
            },
            "x_price": 59714.8,
            "x_idx": 161,
            "x_order": 8,
            "a_price": 60247.1,
            "a_idx": 170,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 181,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 228,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "ratio_score": 0.959,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59887.85,
            "prz_range": [
              59766.59,
              60009.11
            ],
            "prz_width_pct": 0.405,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.12,
            "price_to_prz_pct_raw": 0.1188,
            "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": 59887.85,
              "a_price": 60543.3,
              "tp1_ad_382": 60138.23,
              "tp2_ad_618": 60292.92,
              "tp3_a_or_structure_liquidity": 60543.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6111,
              "ABC": 0.7877
            },
            "x_price": 59714.8,
            "x_idx": 161,
            "x_order": 8,
            "a_price": 60543.3,
            "a_idx": 174,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 181,
            "b_order": 8,
            "c_price": 60435.8,
            "c_idx": 190,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.949,
            "ratio_score": 1.0,
            "prz_score": 0.978,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59498.28,
            "prz_range": [
              59302.95,
              59693.6
            ],
            "prz_width_pct": 0.657,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.53,
            "price_to_prz_pct_raw": -0.5325,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59498.28,
              "a_price": 60250.4,
              "tp1_ad_382": 59785.59,
              "tp2_ad_618": 59963.09,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4956,
              "ABC": 0.7207
            },
            "x_price": 59819.8,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60250.4,
            "a_idx": 154,
            "a_order": 3,
            "b_price": 60037.0,
            "b_idx": 181,
            "b_order": 8,
            "c_price": 59883.2,
            "c_idx": 228,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.929,
            "ratio_score": 0.855,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59992.48,
            "prz_range": [
              59856.22,
              60128.74
            ],
            "prz_width_pct": 0.454,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.29,
            "price_to_prz_pct_raw": 0.2937,
            "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": 59992.48,
              "a_price": 59224.6,
              "tp1_ad_382": 59699.15,
              "tp2_ad_618": 59517.93,
              "tp3_a_or_structure_liquidity": 59224.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5935,
              "ABC": 0.7722
            },
            "x_price": 60228.5,
            "x_idx": 197,
            "x_order": 3,
            "a_price": 59224.6,
            "a_idx": 219,
            "a_order": 8,
            "b_price": 59820.4,
            "b_idx": 234,
            "b_order": 5,
            "c_price": 59360.3,
            "c_idx": 256,
            "c_order": 8,
            "d_idx": null
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.924,
            "ratio_score": 0.884,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59838.03,
            "prz_range": [
              59700.93,
              59975.14
            ],
            "prz_width_pct": 0.458,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.04,
            "price_to_prz_pct_raw": 0.0355,
            "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": 59838.03,
              "a_price": 60314.3,
              "tp1_ad_382": 60019.97,
              "tp2_ad_618": 60132.37,
              "tp3_a_or_structure_liquidity": 60314.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.7612,
              "ABC": 0.6906
            },
            "x_price": 59950.0,
            "x_idx": 144,
            "x_order": 5,
            "a_price": 60314.3,
            "a_idx": 149,
            "a_order": 8,
            "b_price": 60037.0,
            "b_idx": 181,
            "b_order": 8,
            "c_price": 60228.5,
            "c_idx": 197,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.922,
            "ratio_score": 1.0,
            "prz_score": 0.984,
            "prz_proximity": "nearby",
            "action_status": "nearby",
            "high_confluence_prz": true,
            "d_price": 59303.61,
            "prz_range": [
              59113.22,
              59494.0
            ],
            "prz_width_pct": 0.642,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.86,
            "price_to_prz_pct_raw": -0.8579,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59303.61,
              "a_price": 60325.0,
              "tp1_ad_382": 59693.78,
              "tp2_ad_618": 59934.83,
              "tp3_a_or_structure_liquidity": 60325.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.4398,
              "ABC": 0.4975
            },
            "x_price": 59360.3,
            "x_idx": 256,
            "x_order": 8,
            "a_price": 60325.0,
            "a_idx": 261,
            "a_order": 8,
            "b_price": 59900.7,
            "b_idx": 264,
            "b_order": 3,
            "c_price": 59689.6,
            "c_idx": 294,
            "c_order": 3,
            "d_idx": null
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.892,
            "ratio_score": 0.876,
            "prz_score": 1.0,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59934.3,
            "prz_range": [
              59849.11,
              60010.86
            ],
            "prz_width_pct": 0.27,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.19,
            "price_to_prz_pct_raw": 0.1892,
            "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.798,
                "adverse_move_ratio_ad": 0.443,
                "bars_after_d": 12,
                "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": "bullish",
              "source": "gartley",
              "d_price": 59929.98,
              "a_price": 60303.2,
              "tp1_ad_382": 60072.55,
              "tp2_ad_618": 60160.63,
              "tp3_a_or_structure_liquidity": 60303.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.5916,
              "ABC": 0.8154,
              "BCD": 1.3555,
              "XAD": 0.7631
            },
            "x_price": 59819.8,
            "x_idx": 133,
            "x_order": 8,
            "a_price": 60303.2,
            "a_idx": 136,
            "a_order": 5,
            "b_price": 60017.2,
            "b_idx": 149,
            "b_order": 3,
            "c_price": 60250.4,
            "c_idx": 154,
            "c_order": 3,
            "d_idx": 192
          },
          {
            "pattern": "bat",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.889,
            "ratio_score": 0.949,
            "prz_score": 1.0,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60287.1,
            "prz_range": [
              60236.72,
              60507.62
            ],
            "prz_width_pct": 0.449,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 0.93,
            "price_to_prz_pct_raw": 0.9284,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "post_D_close_progress"
              ],
              "reaction_score": 0.9,
              "reaction_detail": {
                "reaction_score": 0.9,
                "reaction_move_ratio_ad": 0.691,
                "adverse_move_ratio_ad": 0.443,
                "bars_after_d": 12,
                "reasons": [
                  "AD0.382_reaction_reached",
                  "PRZ_center_reclaimed_or_rejected",
                  "post_D_close_progress"
                ]
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "bat",
              "d_price": 60372.17,
              "a_price": 59224.6,
              "tp1_ad_382": 59933.8,
              "tp2_ad_618": 59662.97,
              "tp3_a_or_structure_liquidity": 59224.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.3744,
              "ABC": 0.4908,
              "BCD": 1.7358,
              "XAD": 0.8772
            },
            "x_price": 60435.8,
            "x_idx": 190,
            "x_order": 8,
            "a_price": 59224.6,
            "a_idx": 219,
            "a_order": 8,
            "b_price": 59678.1,
            "b_idx": 239,
            "b_order": 3,
            "c_price": 59900.7,
            "c_idx": 264,
            "c_order": 3,
            "d_idx": 276
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "completed",
            "pattern_quality": "candidate",
            "quality": "high",
            "pattern_score": 0.887,
            "ratio_score": 0.852,
            "prz_score": 0.995,
            "prz_proximity": "active",
            "action_status": "active",
            "high_confluence_prz": true,
            "d_price": 59552.6,
            "prz_range": [
              59334.08,
              59698.71
            ],
            "prz_width_pct": 0.613,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": -0.5,
            "price_to_prz_pct_raw": -0.5022,
            "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": 1.54,
                "adverse_move_ratio_ad": 0.731,
                "bars_after_d": 12,
                "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": "bullish",
              "source": "gartley",
              "d_price": 59516.39,
              "a_price": 60325.0,
              "tp1_ad_382": 59825.28,
              "tp2_ad_618": 60016.11,
              "tp3_a_or_structure_liquidity": 60325.0,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.6346,
              "ABC": 0.9381,
              "BCD": 1.2789,
              "XAD": 0.8007
            },
            "x_price": 59360.3,
            "x_idx": 256,
            "x_order": 8,
            "a_price": 60325.0,
            "a_idx": 261,
            "a_order": 8,
            "b_price": 59712.8,
            "b_idx": 270,
            "b_order": 8,
            "c_price": 60287.1,
            "c_idx": 276,
            "c_order": 5,
            "d_idx": 284
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "completed",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.878,
            "ratio_score": 0.927,
            "prz_score": 0.996,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60435.8,
            "prz_range": [
              60242.73,
              60611.21
            ],
            "prz_width_pct": 0.61,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.02,
            "price_to_prz_pct_raw": 1.0201,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [
                "PRZ_rejection_or_defense",
                "AD0.382_reaction_reached",
                "PRZ_center_reclaimed_or_rejected",
                "D_PRZ_failure_zone_defended",
                "post_D_close_progress"
              ],
              "reaction_score": 1.0,
              "reaction_detail": {
                "reaction_score": 1.0,
                "reaction_move_ratio_ad": 1.395,
                "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": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 60426.97,
              "a_price": 60017.2,
              "tp1_ad_382": 60270.44,
              "tp2_ad_618": 60173.73,
              "tp3_a_or_structure_liquidity": 60017.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8038,
              "ABC": 0.9139,
              "BCD": 1.8981,
              "XAD": 1.4636
            },
            "x_price": 60303.2,
            "x_idx": 136,
            "x_order": 5,
            "a_price": 60017.2,
            "a_idx": 149,
            "a_order": 3,
            "b_price": 60247.1,
            "b_idx": 170,
            "b_order": 3,
            "c_price": 60037.0,
            "c_idx": 181,
            "c_order": 8,
            "d_idx": 190
          },
          {
            "pattern": "butterfly",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.865,
            "ratio_score": 0.822,
            "prz_score": 0.996,
            "prz_proximity": "watch",
            "action_status": "watch",
            "high_confluence_prz": true,
            "d_price": 60426.97,
            "prz_range": [
              60242.73,
              60611.21
            ],
            "prz_width_pct": 0.61,
            "prz_confluence_count": 3,
            "prz_fib_families": [
              "ABCD",
              "BC_EXT",
              "XAD"
            ],
            "price_to_prz_pct": 1.02,
            "price_to_prz_pct_raw": 1.0201,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.25,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.25,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bearish",
              "source": "butterfly",
              "d_price": 60426.97,
              "a_price": 60017.2,
              "tp1_ad_382": 60270.44,
              "tp2_ad_618": 60173.73,
              "tp3_a_or_structure_liquidity": 60017.2,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "ratios": {
              "XAB": 0.8038,
              "ABC": 0.9139
            },
            "x_price": 60303.2,
            "x_idx": 136,
            "x_order": 5,
            "a_price": 60017.2,
            "a_idx": 149,
            "a_order": 3,
            "b_price": 60247.1,
            "b_idx": 170,
            "b_order": 3,
            "c_price": 60037.0,
            "c_idx": 181,
            "c_order": 8,
            "d_idx": null
          }
        ],
        "actionable_patterns_list": [
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.966,
            "prz_proximity": "active",
            "prz_range": [
              59703.2,
              60039.05
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.09,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59871.13,
              "a_price": 60250.4,
              "tp1_ad_382": 60016.01,
              "tp2_ad_618": 60105.52,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $59,703.20-$60,039.05: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "bat",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "prz_proximity": "active",
            "prz_range": [
              59456.7,
              59799.33
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.32,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "bat",
              "d_price": 59628.02,
              "a_price": 60247.1,
              "tp1_ad_382": 59864.51,
              "tp2_ad_618": 60010.61,
              "tp3_a_or_structure_liquidity": 60247.1,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BAT FORMING HIGH PRZ $59,456.70-$59,799.33: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.963,
            "prz_proximity": "active",
            "prz_range": [
              59766.59,
              60009.11
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.12,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "gartley",
              "d_price": 59887.85,
              "a_price": 60543.3,
              "tp1_ad_382": 60138.23,
              "tp2_ad_618": 60292.92,
              "tp3_a_or_structure_liquidity": 60543.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $59,766.59-$60,009.11: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "crab",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.949,
            "prz_proximity": "active",
            "prz_range": [
              59302.95,
              59693.6
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": -0.53,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "crab",
              "d_price": 59498.28,
              "a_price": 60250.4,
              "tp1_ad_382": 59785.59,
              "tp2_ad_618": 59963.09,
              "tp3_a_or_structure_liquidity": 60250.4,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "CRAB FORMING HIGH PRZ $59,302.95-$59,693.60: expected reversal UP if price reacts in zone"
          },
          {
            "pattern": "gartley",
            "signal": "bearish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.929,
            "prz_proximity": "active",
            "prz_range": [
              59856.22,
              60128.74
            ],
            "prz_reversal_direction": "down",
            "price_to_prz_pct": 0.29,
            "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": 59992.48,
              "a_price": 59224.6,
              "tp1_ad_382": 59699.15,
              "tp2_ad_618": 59517.93,
              "tp3_a_or_structure_liquidity": 59224.6,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "GARTLEY FORMING HIGH PRZ $59,856.22-$60,128.74: expected reversal DOWN if price reacts in zone"
          },
          {
            "pattern": "butterfly",
            "signal": "bullish",
            "completion_status": "forming",
            "pattern_quality": "strict",
            "quality": "high",
            "pattern_score": 0.924,
            "prz_proximity": "active",
            "prz_range": [
              59700.93,
              59975.14
            ],
            "prz_reversal_direction": "up",
            "price_to_prz_pct": 0.04,
            "high_confluence_prz": true,
            "harmonic_vote_state": {
              "authority": "pre_confirmation_reversal_candidate",
              "directional_vote_weight": 0.35,
              "confirmed_reaction": false,
              "confirmation_reasons": [],
              "reaction_score": 0.0,
              "reaction_detail": {
                "reaction_score": 0.0,
                "reasons": []
              },
              "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
              "standalone_path_override_allowed": false
            },
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "standalone_path_override_allowed": false,
            "tp_ladder": {
              "direction": "bullish",
              "source": "butterfly",
              "d_price": 59838.03,
              "a_price": 60314.3,
              "tp1_ad_382": 60019.97,
              "tp2_ad_618": 60132.37,
              "tp3_a_or_structure_liquidity": 60314.3,
              "note": "Use as strong TP ladder context; not standalone path authority."
            },
            "interpretation": "BUTTERFLY FORMING HIGH PRZ $59,700.93-$59,975.14: expected reversal UP if price reacts in zone"
          }
        ],
        "best_council_prz": {
          "pattern": "bat",
          "signal": "bullish",
          "completion_status": "forming",
          "pattern_quality": "strict",
          "quality": "high",
          "pattern_score": 0.966,
          "ratio_score": 0.961,
          "prz_score": 1.0,
          "prz_proximity": "active",
          "action_status": "active",
          "high_confluence_prz": true,
          "d_price": 59871.13,
          "prz_range": [
            59703.2,
            60039.05
          ],
          "prz_width_pct": 0.561,
          "prz_confluence_count": 3,
          "prz_fib_families": [
            "ABCD",
            "BC_EXT",
            "XAD"
          ],
          "price_to_prz_pct": 0.09,
          "price_to_prz_pct_raw": 0.0908,
          "harmonic_vote_state": {
            "authority": "pre_confirmation_reversal_candidate",
            "directional_vote_weight": 0.35,
            "confirmed_reaction": false,
            "confirmation_reasons": [],
            "reaction_score": 0.0,
            "reaction_detail": {
              "reaction_score": 0.0,
              "reasons": []
            },
            "path_role": "weak PRZ/reaction-zone context only; cannot flip main path",
            "standalone_path_override_allowed": false
          },
          "directional_vote_weight": 0.35,
          "confirmed_reaction": false,
          "standalone_path_override_allowed": false,
          "tp_ladder": {
            "direction": "bullish",
            "source": "bat",
            "d_price": 59871.13,
            "a_price": 60250.4,
            "tp1_ad_382": 60016.01,
            "tp2_ad_618": 60105.52,
            "tp3_a_or_structure_liquidity": 60250.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          "ratios": {
            "XAB": 0.4956,
            "ABC": 0.8974
          },
          "x_price": 59819.8,
          "x_idx": 133,
          "x_order": 8,
          "a_price": 60250.4,
          "a_idx": 154,
          "a_order": 3,
          "b_price": 60037.0,
          "b_idx": 181,
          "b_order": 8,
          "c_price": 60228.5,
          "c_idx": 197,
          "c_order": 3,
          "d_idx": null
        },
        "best_tp_ladder": {
          "direction": "bullish",
          "source": "bat",
          "d_price": 59871.13,
          "a_price": 60250.4,
          "tp1_ad_382": 60016.01,
          "tp2_ad_618": 60105.52,
          "tp3_a_or_structure_liquidity": 60250.4,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "best_confirmed_tp_ladder": {
          "direction": "bullish",
          "source": "crab",
          "d_price": 59499.93,
          "a_price": 60247.1,
          "tp1_ad_382": 59785.35,
          "tp2_ad_618": 59961.68,
          "tp3_a_or_structure_liquidity": 60247.1,
          "note": "Use as strong TP ladder context; not standalone path authority."
        },
        "tp_ladder": [
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 59871.13,
            "a_price": 60250.4,
            "tp1_ad_382": 60016.01,
            "tp2_ad_618": 60105.52,
            "tp3_a_or_structure_liquidity": 60250.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "bat",
            "d_price": 59628.02,
            "a_price": 60247.1,
            "tp1_ad_382": 59864.51,
            "tp2_ad_618": 60010.61,
            "tp3_a_or_structure_liquidity": 60247.1,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 59887.85,
            "a_price": 60543.3,
            "tp1_ad_382": 60138.23,
            "tp2_ad_618": 60292.92,
            "tp3_a_or_structure_liquidity": 60543.3,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 59498.28,
            "a_price": 60250.4,
            "tp1_ad_382": 59785.59,
            "tp2_ad_618": 59963.09,
            "tp3_a_or_structure_liquidity": 60250.4,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "gartley",
            "d_price": 59992.48,
            "a_price": 59224.6,
            "tp1_ad_382": 59699.15,
            "tp2_ad_618": 59517.93,
            "tp3_a_or_structure_liquidity": 59224.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "butterfly",
            "d_price": 59838.03,
            "a_price": 60314.3,
            "tp1_ad_382": 60019.97,
            "tp2_ad_618": 60132.37,
            "tp3_a_or_structure_liquidity": 60314.3,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "validated_tp_ladder": [
          {
            "direction": "bullish",
            "source": "crab",
            "d_price": 59499.93,
            "a_price": 60247.1,
            "tp1_ad_382": 59785.35,
            "tp2_ad_618": 59961.68,
            "tp3_a_or_structure_liquidity": 60247.1,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bearish",
            "source": "bat",
            "d_price": 60128.96,
            "a_price": 59224.6,
            "tp1_ad_382": 59783.49,
            "tp2_ad_618": 59570.06,
            "tp3_a_or_structure_liquidity": 59224.6,
            "note": "Use as strong TP ladder context; not standalone path authority."
          },
          {
            "direction": "bullish",
            "source": "gartley",
            "d_price": 59929.98,
            "a_price": 60303.2,
            "tp1_ad_382": 60072.55,
            "tp2_ad_618": 60160.63,
            "tp3_a_or_structure_liquidity": 60303.2,
            "note": "Use as strong TP ladder context; not standalone path authority."
          }
        ],
        "harmonic_governance": {
          "role": "PRZ reaction + TP ladder confluence, not standalone path engine",
          "pre_confirmation_weight_range": [
            0.25,
            0.35
          ],
          "post_confirmation_vote_weight_range": [
            0.5,
            0.6
          ],
          "standalone_path_override_allowed": false,
          "opposes_core_path_policy": "branch/reversal-risk/reaction-zone unless lower-TF structure and derivatives also confirm",
          "aligns_with_core_path_policy": "modest confidence lift plus strong TP ladder influence"
        },
        "execution_readiness": "ready",
        "directional_scores": {
          "bullish": 2.089,
          "bearish": 0.568
        },
        "directional_score_total": 2.657,
        "directional_dominance": 0.573
      },
      "raw_llm_response": "{\n  \"signal\": \"bullish\",\n  \"confidence\": 0.57,\n  \"structure_bias\": \"neutral\",\n  \"setup_bias\": \"bullish\",\n  \"setup_score\": 0.64,\n  \"setup_signals\": [\n    \"현재가 $59,816.80이 고점수 bullish Butterfly 형성 PRZ $59,700.93-$59,975.14 내부에 위치, D 후보 $59,838.03와 괴리 0.04%\",\n    \"strict/high bullish Bat 형성 PRZ $59,703.20-$60,039.05가 현재가와 0.09% 거리이며 XAD·BC_EXT·ABCD 3개 Fib 패밀리 confluence\",\n    \"strict/high bullish Gartley 형성 PRZ $59,766.59-$60,009.11가 현재가와 0.12% 거리이며 XAB 0.6111로 Gartley 기준 0.618에 근접\",\n    \"완료 bullish Crab $59,302.95-$59,696.90은 PRZ 터치 후 방어 확인, reaction_score 1.0 및 AD 0.382 반응 목표 $59,785.35 달성\",\n    \"완료 bullish Gartley PRZ $59,849.11-$60,010.86은 확인 반응 있음, reaction_score 0.8 및 TP1 $60,072.55 / TP2 $60,160.63가 유효한 상방 waypoint\",\n    \"단기 상단에는 bearish Gartley 형성 PRZ $59,856.22-$60,128.74가 겹쳐 있어 $59,990-$60,130 구간은 즉시 매도 반응 위험 zone\"\n  ],\n  \"reasoning\": \"15분 harmonic 기준으로는 bullish 점수 2.089 대 bearish 0.568, directional_dominance 0.573으로 상방 반응 후보가 우세하지만, harmonic 단독으로 구조 전환을 확정할 수는 없어 structure_bias는 neutral로 둔다. 현재가 $59,816.80은 bullish Butterfly PRZ $59,700.93-$59,975.14, bullish Bat PRZ $59,703.20-$60,039.05, bullish Gartley PRZ $59,766.59-$60,009.11가 중첩되는 active high-confluence 구간에 있어 setup_bias는 bullish다. 특히 확인된 bullish Crab은 $59,499.93 D 이후 reaction_score 1.0으로 $59,785.35 이상 반응을 이미 만들었고, 확인된 bullish Gartley도 $59,929.98 D 기준 TP1 $60,072.55와 TP2 $60,160.63을 제시한다. 다만 $59,856.22-$60,128.74의 bearish Gartley 형성 PRZ가 같은 가격대에 겹치므로 $60,010-$60,130 돌파 실패 시 상방 setup은 단순 반등 후 재하락 리스크로 바뀐다.\",\n  \"key_levels\": {\n    \"support\": [\n      59799.33,\n      59766.59,\n      59703.2,\n      59700.93,\n      59693.6,\n      59456.7,\n      59302.95,\n      59113.22\n    ],\n    \"resistance\": [\n      59975.14,\n      60009.11,\n      60016.01,\n      60039.05,\n      60072.55,\n      60105.52,\n      60128.74,\n      60160.63,\n      60247.1,\n      60314.3\n    ]\n  },\n  \"time_horizon\": \"short term\",\n  \"invalidation_level\": \"$59,302.95 15분 종가 이탈 및 즉시 reclaim 실패\",\n  \"risk_scenario\": \"$59,856.22-$60,128.74의 bearish Gartley PRZ에서 거절이 확인되고 $59,700.93 아래로 되밀리면, 현재 bullish PRZ 클러스터는 방어 실패로 해석되어 $59,456.70-$59,302.95 하단 PRZ 재시험이 우선 시나리오가 된다. 특히 $59,302.95까지 이탈하면 확인된 bullish Crab 방어 논리가 약화되고, 다음 하방 유동성은 $59,113.22 및 구조 저점 $58,388.00 쪽으로 열릴 수 있다.\",\n  \"data_quality\": \"high\"\n}"
    }
  },
  "chairman_synthesis": {
    "overall_signal": "bullish",
    "overall_confidence": 0.58,
    "execution_setup": {
      "setup_bias": "bearish",
      "setup_strength": 0.64,
      "active_setups": [
        "피보나치 기준 현재가 $59,816.80은 하락 스윙 $60,758 → $58,988의 0.5 되돌림 저항 $59,873.15 바로 아래에 위치",
        "파생 포지셔닝 기준 롱 계정 비율 0.708로 롱 쏠림이 극단적이며, CVD는 -3749.9980으로 약세",
        "현재가가 EMA120 $59,840.47 및 EMA240 $59,853.70 바로 아래에서 정체",
        "ICT 기준 활성 bearish OB $59,552.60-$60,758.30 내부에 가격이 머물러 공급 구간 안에 있음",
        "하모닉 기준 bullish Bat/Gartley/Butterfly PRZ가 $59,700-$60,039 부근에 중첩되어 있으나, 이는 아직 구조 전환 신호가 아닌 반응 후보"
      ],
      "setup_vs_structure": "구조는 Wyckoff 축적 후보가 우세해 bullish로 기울지만, 실행 셋업은 피보나치 되돌림 저항·EMA 저항·롱 쏠림·약한 CVD 때문에 bearish로 분리된다. 즉, 현재는 축적 구조 내부의 상단/중단 저항 테스트 구간이며 즉시 실행 리스크는 구조적 편향과 반대 방향이다."
    },
    "signal_breakdown": {
      "bullish_count": 1,
      "bearish_count": 2,
      "neutral_count": 3
    },
    "key_levels": {
      "support": [
        59819.8,
        59784.9,
        59698.48,
        59664.25,
        59656.35,
        59552.6,
        59405.79,
        59360.3,
        58988.0,
        58388.0
      ],
      "resistance": [
        59840.47,
        59853.7,
        59873.15,
        60009.11,
        60082.05,
        60128.74,
        60314.3,
        60325.0,
        60758.3,
        60924.7
      ]
    },
    "confluences": [
      "Wyckoff의 주 range low $59,819.80와 ICT의 핵심 지지 $59,819.80이 일치하며, 현재가 $59,816.80은 이 구조 경계 바로 아래에 있음",
      "Fibonacci의 0.5 되돌림 저항 $59,873.15와 ICT의 EQ $59,873.15가 동일 가격으로 겹쳐 단기 균형/저항 기준점이 됨",
      "Derivatives와 Candlestick 모두 EMA120 $59,840.47 및 EMA240 $59,853.70을 즉시 저항으로 제시",
      "Wyckoff의 Terminal Spring $59,552.60과 ICT bearish OB 하단 $59,552.60이 동일하여 구조 방어선으로 중요",
      "Derivatives, Candlestick, ICT가 모두 $58,388.00을 하단 주요 지지 또는 7일 저점으로 공유",
      "Wyckoff AR $60,314.30, ICT bullish BOS $60,325.00, Harmonic 상단 TP/구조 후보 $60,303-$60,314가 같은 상단 구조 확인 영역을 형성",
      "Harmonic bullish PRZ $59,700.93-$60,039.05는 Fibonacci $59,873.15, EMA 저항 $59,840-$59,854, ICT bearish OB 내부와 겹쳐 강한 반응 구간이지만 방향성 해석은 혼재"
    ],
    "conflicts": [
      "Wyckoff는 축적 regime과 Phase E/BU 후보를 근거로 구조적 bullish 편향을 제시하지만, Fibonacci와 Derivatives는 현재 위치를 되돌림 저항 및 롱 쏠림 프리미엄으로 해석해 실행상 bearish를 제시",
      "Harmonic은 $59,700-$60,039 구간의 bullish PRZ 중첩을 강조하지만, 같은 구간에 bearish Gartley PRZ $59,856.22-$60,128.74도 존재해 반응 방향이 확정되지 않음",
      "Candlestick은 고품질 bullish piercing pattern을 인정하지만, 최근 doji와 EMA120/EMA240 저항 때문에 구조 확정 신호로 보지 않음",
      "ICT는 할인 구간이라는 매수 조건과 bearish OB 내부 공급 조건을 동시에 제시해 구조 방향을 중립으로 유지"
    ],
    "executive_summary": "현재 15분 BTC 구조는 Wyckoff 기준 축적 후보가 우세하며, prior accumulation 이후 active accumulation candidate가 진행 중인 것으로 해석된다. 현 위치는 Phase E/BU 수용 여부를 시험하는 구간으로, 가격은 주 range low $59,819.80 바로 아래이자 ICT/Fibonacci 균형선 $59,873.15 아래에 있어 구조적 bullish 편향은 유지되지만 확인 강도는 제한적이다. 핵심 구조 방어선은 Wyckoff Terminal Spring 및 ICT OB 하단이 겹치는 $59,552.60이며, 더 넓은 구조 무효화는 $58,850.00-$58,388.00 하회에서 발생한다. 즉시 실행 환경은 EMA120/240 $59,840-$59,854, Fib $59,873.15, 롱 계정 쏠림 0.708, 약한 CVD로 인해 bearish 압력이 우세하지만, 이는 구조적 regime과는 분리된 단기 셋업 리스크로 봐야 한다.",
    "raw_llm_response": "{\n  \"overall_signal\": \"bullish\",\n  \"overall_confidence\": 0.58,\n  \"execution_setup\": {\n    \"setup_bias\": \"bearish\",\n    \"setup_strength\": 0.64,\n    \"active_setups\": [\n      \"피보나치 기준 현재가 $59,816.80은 하락 스윙 $60,758 → $58,988의 0.5 되돌림 저항 $59,873.15 바로 아래에 위치\",\n      \"파생 포지셔닝 기준 롱 계정 비율 0.708로 롱 쏠림이 극단적이며, CVD는 -3749.9980으로 약세\",\n      \"현재가가 EMA120 $59,840.47 및 EMA240 $59,853.70 바로 아래에서 정체\",\n      \"ICT 기준 활성 bearish OB $59,552.60-$60,758.30 내부에 가격이 머물러 공급 구간 안에 있음\",\n      \"하모닉 기준 bullish Bat/Gartley/Butterfly PRZ가 $59,700-$60,039 부근에 중첩되어 있으나, 이는 아직 구조 전환 신호가 아닌 반응 후보\"\n    ],\n    \"setup_vs_structure\": \"구조는 Wyckoff 축적 후보가 우세해 bullish로 기울지만, 실행 셋업은 피보나치 되돌림 저항·EMA 저항·롱 쏠림·약한 CVD 때문에 bearish로 분리된다. 즉, 현재는 축적 구조 내부의 상단/중단 저항 테스트 구간이며 즉시 실행 리스크는 구조적 편향과 반대 방향이다.\"\n  },\n  \"signal_breakdown\": {\n    \"bullish_count\": 1,\n    \"bearish_count\": 2,\n    \"neutral_count\": 3\n  },\n  \"key_levels\": {\n    \"support\": [\n      59819.8,\n      59784.9,\n      59698.48,\n      59664.25,\n      59656.35,\n      59552.6,\n      59405.79,\n      59360.3,\n      58988.0,\n      58388.0\n    ],\n    \"resistance\": [\n      59840.47,\n      59853.7,\n      59873.15,\n      60009.11,\n      60082.05,\n      60128.74,\n      60314.3,\n      60325.0,\n      60758.3,\n      60924.7\n    ]\n  },\n  \"confluences\": [\n    \"Wyckoff의 주 range low $59,819.80와 ICT의 핵심 지지 $59,819.80이 일치하며, 현재가 $59,816.80은 이 구조 경계 바로 아래에 있음\",\n    \"Fibonacci의 0.5 되돌림 저항 $59,873.15와 ICT의 EQ $59,873.15가 동일 가격으로 겹쳐 단기 균형/저항 기준점이 됨\",\n    \"Derivatives와 Candlestick 모두 EMA120 $59,840.47 및 EMA240 $59,853.70을 즉시 저항으로 제시\",\n    \"Wyckoff의 Terminal Spring $59,552.60과 ICT bearish OB 하단 $59,552.60이 동일하여 구조 방어선으로 중요\",\n    \"Derivatives, Candlestick, ICT가 모두 $58,388.00을 하단 주요 지지 또는 7일 저점으로 공유\",\n    \"Wyckoff AR $60,314.30, ICT bullish BOS $60,325.00, Harmonic 상단 TP/구조 후보 $60,303-$60,314가 같은 상단 구조 확인 영역을 형성\",\n    \"Harmonic bullish PRZ $59,700.93-$60,039.05는 Fibonacci $59,873.15, EMA 저항 $59,840-$59,854, ICT bearish OB 내부와 겹쳐 강한 반응 구간이지만 방향성 해석은 혼재\"\n  ],\n  \"conflicts\": [\n    \"Wyckoff는 축적 regime과 Phase E/BU 후보를 근거로 구조적 bullish 편향을 제시하지만, Fibonacci와 Derivatives는 현재 위치를 되돌림 저항 및 롱 쏠림 프리미엄으로 해석해 실행상 bearish를 제시\",\n    \"Harmonic은 $59,700-$60,039 구간의 bullish PRZ 중첩을 강조하지만, 같은 구간에 bearish Gartley PRZ $59,856.22-$60,128.74도 존재해 반응 방향이 확정되지 않음\",\n    \"Candlestick은 고품질 bullish piercing pattern을 인정하지만, 최근 doji와 EMA120/EMA240 저항 때문에 구조 확정 신호로 보지 않음\",\n    \"ICT는 할인 구간이라는 매수 조건과 bearish OB 내부 공급 조건을 동시에 제시해 구조 방향을 중립으로 유지\"\n  ],\n  \"highest_conviction_analyst\": \"Wyckoff Expert — acc_score 96.2, regime_fitness 0.963, SC→AR→ST→Spring→Terminal Spring→SOS→BU의 축적 시퀀스가 가장 명확하며, 구조 진단 관점에서 가장 높은 설명력을 제공한다. 다만 현재가가 range low $59,819.80 바로 아래에 있어 Phase E/BU 수용은 아직 완전 확인되지 않았다.\",\n  \"invalidation_level\": \"$58,850.00 하회 시 현재 축적 구조 해석이 크게 훼손되며, $58,388.00 하회는 7일 박스 하단 이탈로 구조적 bullish thesis의 실질적 무효화 구간\",\n  \"executive_summary\": \"현재 15분 BTC 구조는 Wyckoff 기준 축적 후보가 우세하며, prior accumulation 이후 active accumulation candidate가 진행 중인 것으로 해석된다. 현 위치는 Phase E/BU 수용 여부를 시험하는 구간으로, 가격은 주 range low $59,819.80 바로 아래이자 ICT/Fibonacci 균형선 $59,873.15 아래에 있어 구조적 bullish 편향은 유지되지만 확인 강도는 제한적이다. 핵심 구조 방어선은 Wyckoff Terminal Spring 및 ICT OB 하단이 겹치는 $59,552.60이며, 더 넓은 구조 무효화는 $58,850.00-$58,388.00 하회에서 발생한다. 즉시 실행 환경은 EMA120/240 $59,840-$59,854, Fib $59,873.15, 롱 계정 쏠림 0.708, 약한 CVD로 인해 bearish 압력이 우세하지만, 이는 구조적 regime과는 분리된 단기 셋업 리스크로 봐야 한다.\"\n}"
  },
  "overall_signal": "bullish",
  "overall_confidence": 0.58,
  "operating_path": {
    "path_type": "complex",
    "confidence": 0.52,
    "waypoints": [
      {
        "seq": 1,
        "price": 59731.25,
        "type": "support_test",
        "source": "Fibonacci(클러스터 cluster_score 0.85, ret_0.5·0.382 중첩), Harmonic(bullish PRZ 상단 $59,700.93), Wyckoff(active AR $59,784.90 / SOS $59,689.60)",
        "description": "실행 셋업(BEARISH 64%)의 즉시 타깃. 현재가가 EMA120/240 $59,840-$59,854와 피보나치 0.5 $59,873.15 바로 아래에서 정체되고 CVD가 약해(-3749) 가격을 끌어내리는 구간. 하락 스윙 $60,758→$58,988의 0.5·0.382가 중첩된 strict 피보나치 클러스터로 단기 반응 가능성이 가장 높은 첫 정거장.",
        "est_hours": 3.0,
        "turning_zone": [
          59622.64,
          59731.25
        ],
        "likely_wick": 59698.48,
        "rejection_confirm": 59784.9,
        "invalid_overshoot": 59600.0,
        "calibration_reasoning": "3중 피보나치 컨플루언스($59,731.25)를 존 상단으로, fib 0.382 지지($59,664.25)와 Chairman 지지 클러스터($59,664.25/$59,656.35)를 하단 앵커로 약 0.3 ATR 폭을 구성. likely_wick은 컨플루언스 바로 아래 첫 Chairman 지지($59,698.48)이며, 반등 확인선은 crab/bat TP1 AD0.382가 겹치는 $59,784.90 재탈환."
      },
      {
        "seq": 2,
        "price": 59552.6,
        "type": "liquidity_sweep",
        "source": "Wyckoff(Terminal Spring), ICT(bearish OB 하단), Derivatives(롱 쏠림 crowding 1.000 플러시)",
        "description": "롱 계정 비율 0.708·crowding 1.000의 극단적 쏠림과 약한 CVD가 주 range low $59,819.80 하단 유동성을 스윕. Wyckoff 터미널 스프링과 ICT bearish OB 하단이 동일가로 겹치는 핵심 구조 방어선으로, $59,731 클러스터를 깨고 여기서 롱 셰이크아웃을 완료한 뒤 축적 구조의 반전이 기대되는 지점.",
        "est_hours": 8.0,
        "turning_zone": [
          59360.3,
          59552.6
        ],
        "likely_wick": 59405.79,
        "rejection_confirm": 59656.35,
        "invalid_overshoot": 59300.0,
        "calibration_reasoning": "하단 롱 유동성 스윕(셰이크아웃)이라 base 아래로 존을 확장하며, fib 0.618 지지($59,405.79)·컨플루언스($59,381.41)·CONFIRMED 크랩 D/PRZ($59,360.30)를 하단 앵커로 0.53 ATR. base는 CONFIRMED 베어리시 bat TP2 AD0.618($59,570.06)과 정렬되어 타깃이 검증되고, likely_wick은 fib 0.618 지지에 정렬."
      },
      {
        "seq": 3,
        "price": 59873.15,
        "type": "resistance_test",
        "source": "Fibonacci(0.5 되돌림), ICT(EQ), Candlestick·Derivatives(EMA120 $59,840.47/EMA240 $59,853.70)",
        "description": "스프링 테스트 후 Wyckoff 축적 구조(acc_score 96.2, regime_fitness 0.963)가 재개되며 균형선 회복을 시도. 피보나치 0.5 = ICT EQ = EMA120/240 클러스터가 한 구간에 겹치는 구조적 분수령으로, 이 저항을 수용해야 bullish 편향이 실행상으로 확정됨.",
        "est_hours": 16.0,
        "turning_zone": [
          59873.15,
          59961.68
        ],
        "likely_wick": 59934.3,
        "rejection_confirm": 59853.7,
        "invalid_overshoot": 60018.86,
        "calibration_reasoning": "base는 fib 0.5/ICT EQ/EMA120·240 클러스터이고, 상승 레그에 정렬된 CONFIRMED 크랩 TP2 AD0.618($59,961.68)을 존 상단 앵커로 설정. likely_wick은 활성 strict Gartley PRZ 오더 클러스터($59,934.30, 반응 자석), 거부 확인은 base 아래 Chairman $59,853.70이며 $60,018.86 컨플루언스 상향 돌파 시 수용으로 전환되어 무효."
      },
      {
        "seq": 4,
        "price": 60082.05,
        "type": "swing_high",
        "source": "Fibonacci(0.618 골든비율), Harmonic(확인 bullish Gartley TP1 $60,072.55), ICT(FVG 컨텍스트 $60,025.90)",
        "description": "0.618 골든비율 회복으로 하락 스윙 되돌림 완성·bullish 연장을 확인. 하모닉 확인 Gartley TP1 $60,072.55 및 ICT FVG 상단 $60,025.90과 인접해 confluence 형성. 다만 $59,856-$60,128 베어리시 Gartley PRZ가 겹쳐 이 위 추가 상방은 별도 돌파 확인이 필요한 24시간 기대 고점.",
        "est_hours": 23.0,
        "turning_zone": [
          60082.05,
          60314.3
        ],
        "likely_wick": 60160.63,
        "rejection_confirm": 60018.86,
        "invalid_overshoot": 60379.46,
        "calibration_reasoning": "터미널 스윙고점이라 0.64 ATR 폭으로 확장: base($60,082.05)는 fib 0.618 골든비율·Gartley TP1 AD0.382($60,072.55) 정렬, 상단은 Gartley TP3 A/liquidity($60,303.20)·Chairman $60,314.30. likely_wick은 베어리시 Gartley PRZ 상단($60,128.74)을 살짝 넘는 CONFIRMED Gartley TP2 AD0.618($60,160.63), $60,379.46 fib 저항 돌파 시 상방 연장으로 무효."
      }
    ],
    "period_extremes": {
      "4h": {
        "expected_high": 59853.7,
        "expected_low": 59689.6,
        "high_first": true
      },
      "8h": {
        "expected_high": 59853.7,
        "expected_low": 59552.6,
        "high_first": true
      },
      "24h": {
        "expected_high": 60082.05,
        "expected_low": 59552.6,
        "high_first": false
      }
    },
    "triggers": {
      "bullish": {
        "price": 60082.05,
        "description": "0.618 골든비율 $60,082.05 + 베어리시 OB 그립을 종가 기준 돌파·수용 시 bullish 구조 확정 → $60,128.74(베어리시 Gartley PRZ 상단) 클리어 후 $60,314.30(Wyckoff AR / ICT BOS / 하모닉 TP) 향한 상방 가속"
      },
      "bearish": {
        "price": 59552.6,
        "description": "Wyckoff 터미널 스프링 / ICT OB 하단 $59,552.60을 종가 기준 하회·수용 시 축적 구조 무효화 → $59,360.30 · $59,153.90 · $58,988.00 순으로 하방 유동성 탐색 가속(단순 wick은 스프링으로 유효)"
      }
    },
    "scenario_invalidation": 58850.0,
    "raw_llm_response": "```json\n{\n  \"path_type\": \"complex\",\n  \"confidence\": 0.52,\n  \"waypoints\": [\n    {\n      \"seq\": 1,\n      \"price\": 59731.25,\n      \"type\": \"support_test\",\n      \"source\": \"Fibonacci(클러스터 cluster_score 0.85, ret_0.5·0.382 중첩), Harmonic(bullish PRZ 상단 $59,700.93), Wyckoff(active AR $59,784.90 / SOS $59,689.60)\",\n      \"description\": \"실행 셋업(BEARISH 64%)의 즉시 타깃. 현재가가 EMA120/240 $59,840-$59,854와 피보나치 0.5 $59,873.15 바로 아래에서 정체되고 CVD가 약해(-3749) 가격을 끌어내리는 구간. 하락 스윙 $60,758→$58,988의 0.5·0.382가 중첩된 strict 피보나치 클러스터로 단기 반응 가능성이 가장 높은 첫 정거장.\",\n      \"est_hours\": 3.0\n    },\n    {\n      \"seq\": 2,\n      \"price\": 59552.60,\n      \"type\": \"liquidity_sweep\",\n      \"source\": \"Wyckoff(Terminal Spring), ICT(bearish OB 하단), Derivatives(롱 쏠림 crowding 1.000 플러시)\",\n      \"description\": \"롱 계정 비율 0.708·crowding 1.000의 극단적 쏠림과 약한 CVD가 주 range low $59,819.80 하단 유동성을 스윕. Wyckoff 터미널 스프링과 ICT bearish OB 하단이 동일가로 겹치는 핵심 구조 방어선으로, $59,731 클러스터를 깨고 여기서 롱 셰이크아웃을 완료한 뒤 축적 구조의 반전이 기대되는 지점.\",\n      \"est_hours\": 8.0\n    },\n    {\n      \"seq\": 3,\n      \"price\": 59873.15,\n      \"type\": \"resistance_test\",\n      \"source\": \"Fibonacci(0.5 되돌림), ICT(EQ), Candlestick·Derivatives(EMA120 $59,840.47/EMA240 $59,853.70)\",\n      \"description\": \"스프링 테스트 후 Wyckoff 축적 구조(acc_score 96.2, regime_fitness 0.963)가 재개되며 균형선 회복을 시도. 피보나치 0.5 = ICT EQ = EMA120/240 클러스터가 한 구간에 겹치는 구조적 분수령으로, 이 저항을 수용해야 bullish 편향이 실행상으로 확정됨.\",\n      \"est_hours\": 16.0\n    },\n    {\n      \"seq\": 4,\n      \"price\": 60082.05,\n      \"type\": \"swing_high\",\n      \"source\": \"Fibonacci(0.618 골든비율), Harmonic(확인 bullish Gartley TP1 $60,072.55), ICT(FVG 컨텍스트 $60,025.90)\",\n      \"description\": \"0.618 골든비율 회복으로 하락 스윙 되돌림 완성·bullish 연장을 확인. 하모닉 확인 Gartley TP1 $60,072.55 및 ICT FVG 상단 $60,025.90과 인접해 confluence 형성. 다만 $59,856-$60,128 베어리시 Gartley PRZ가 겹쳐 이 위 추가 상방은 별도 돌파 확인이 필요한 24시간 기대 고점.\",\n      \"est_hours\": 23.0\n    }\n  ],\n  \"period_extremes\": {\n    \"4h\":  {\"expected_high\": 59853.70, \"expected_low\": 59689.60, \"high_first\": true},\n    \"8h\":  {\"expected_high\": 59853.70, \"expected_low\": 59552.60, \"high_first\": true},\n    \"24h\": {\"expected_high\": 60082.05, \"expected_low\": 59552.60, \"high_first\": false}\n  },\n  \"triggers\": {\n    \"bullish\": {\"price\": 60082.05, \"description\": \"0.618 골든비율 $60,082.05 + 베어리시 OB 그립을 종가 기준 돌파·수용 시 bullish 구조 확정 → $60,128.74(베어리시 Gartley PRZ 상단) 클리어 후 $60,314.30(Wyckoff AR / ICT BOS / 하모닉 TP) 향한 상방 가속\"},\n    \"bearish\": {\"price\": 59552.60, \"description\": \"Wyckoff 터미널 스프링 / ICT OB 하단 $59,552.60을 종가 기준 하회·수용 시 축적 구조 무효화 → $59,360.30 · $59,153.90 · $58,988.00 순으로 하방 유동성 탐색 가속(단순 wick은 스프링으로 유효)\"}\n  },\n  \"scenario_invalidation\": 58850.00\n}\n```"
  },
  "tp_calibration": {
    "calibrated_waypoints": [
      {
        "seq": 1,
        "base_target": 59731.25,
        "turning_zone": [
          59622.64,
          59731.25
        ],
        "likely_wick": 59698.48,
        "rejection_confirm": 59784.9,
        "invalid_overshoot": 59600.0,
        "calibration_reasoning": "3중 피보나치 컨플루언스($59,731.25)를 존 상단으로, fib 0.382 지지($59,664.25)와 Chairman 지지 클러스터($59,664.25/$59,656.35)를 하단 앵커로 약 0.3 ATR 폭을 구성. likely_wick은 컨플루언스 바로 아래 첫 Chairman 지지($59,698.48)이며, 반등 확인선은 crab/bat TP1 AD0.382가 겹치는 $59,784.90 재탈환."
      },
      {
        "seq": 2,
        "base_target": 59552.6,
        "turning_zone": [
          59360.3,
          59552.6
        ],
        "likely_wick": 59405.79,
        "rejection_confirm": 59656.35,
        "invalid_overshoot": 59300.0,
        "calibration_reasoning": "하단 롱 유동성 스윕(셰이크아웃)이라 base 아래로 존을 확장하며, fib 0.618 지지($59,405.79)·컨플루언스($59,381.41)·CONFIRMED 크랩 D/PRZ($59,360.30)를 하단 앵커로 0.53 ATR. base는 CONFIRMED 베어리시 bat TP2 AD0.618($59,570.06)과 정렬되어 타깃이 검증되고, likely_wick은 fib 0.618 지지에 정렬."
      },
      {
        "seq": 3,
        "base_target": 59873.15,
        "turning_zone": [
          59873.15,
          59961.68
        ],
        "likely_wick": 59934.3,
        "rejection_confirm": 59853.7,
        "invalid_overshoot": 60018.86,
        "calibration_reasoning": "base는 fib 0.5/ICT EQ/EMA120·240 클러스터이고, 상승 레그에 정렬된 CONFIRMED 크랩 TP2 AD0.618($59,961.68)을 존 상단 앵커로 설정. likely_wick은 활성 strict Gartley PRZ 오더 클러스터($59,934.30, 반응 자석), 거부 확인은 base 아래 Chairman $59,853.70이며 $60,018.86 컨플루언스 상향 돌파 시 수용으로 전환되어 무효."
      },
      {
        "seq": 4,
        "base_target": 60082.05,
        "turning_zone": [
          60082.05,
          60314.3
        ],
        "likely_wick": 60160.63,
        "rejection_confirm": 60018.86,
        "invalid_overshoot": 60379.46,
        "calibration_reasoning": "터미널 스윙고점이라 0.64 ATR 폭으로 확장: base($60,082.05)는 fib 0.618 골든비율·Gartley TP1 AD0.382($60,072.55) 정렬, 상단은 Gartley TP3 A/liquidity($60,303.20)·Chairman $60,314.30. likely_wick은 베어리시 Gartley PRZ 상단($60,128.74)을 살짝 넘는 CONFIRMED Gartley TP2 AD0.618($60,160.63), $60,379.46 fib 저항 돌파 시 상방 연장으로 무효."
      }
    ],
    "raw_llm_response": "```json\n{\n  \"calibrated_waypoints\": [\n    {\n      \"seq\": 1,\n      \"base_target\": 59731.25,\n      \"turning_zone\": [59622.64, 59731.25],\n      \"likely_wick\": 59698.48,\n      \"rejection_confirm\": 59784.90,\n      \"invalid_overshoot\": 59600.00,\n      \"calibration_reasoning\": \"3중 피보나치 컨플루언스($59,731.25)를 존 상단으로, fib 0.382 지지($59,664.25)와 Chairman 지지 클러스터($59,664.25/$59,656.35)를 하단 앵커로 약 0.3 ATR 폭을 구성. likely_wick은 컨플루언스 바로 아래 첫 Chairman 지지($59,698.48)이며, 반등 확인선은 crab/bat TP1 AD0.382가 겹치는 $59,784.90 재탈환.\"\n    },\n    {\n      \"seq\": 2,\n      \"base_target\": 59552.60,\n      \"turning_zone\": [59360.30, 59552.60],\n      \"likely_wick\": 59405.79,\n      \"rejection_confirm\": 59656.35,\n      \"invalid_overshoot\": 59300.00,\n      \"calibration_reasoning\": \"하단 롱 유동성 스윕(셰이크아웃)이라 base 아래로 존을 확장하며, fib 0.618 지지($59,405.79)·컨플루언스($59,381.41)·CONFIRMED 크랩 D/PRZ($59,360.30)를 하단 앵커로 0.53 ATR. base는 CONFIRMED 베어리시 bat TP2 AD0.618($59,570.06)과 정렬되어 타깃이 검증되고, likely_wick은 fib 0.618 지지에 정렬.\"\n    },\n    {\n      \"seq\": 3,\n      \"base_target\": 59873.15,\n      \"turning_zone\": [59873.15, 59961.68],\n      \"likely_wick\": 59934.30,\n      \"rejection_confirm\": 59853.70,\n      \"invalid_overshoot\": 60018.86,\n      \"calibration_reasoning\": \"base는 fib 0.5/ICT EQ/EMA120·240 클러스터이고, 상승 레그에 정렬된 CONFIRMED 크랩 TP2 AD0.618($59,961.68)을 존 상단 앵커로 설정. likely_wick은 활성 strict Gartley PRZ 오더 클러스터($59,934.30, 반응 자석), 거부 확인은 base 아래 Chairman $59,853.70이며 $60,018.86 컨플루언스 상향 돌파 시 수용으로 전환되어 무효.\"\n    },\n    {\n      \"seq\": 4,\n      \"base_target\": 60082.05,\n      \"turning_zone\": [60082.05, 60314.30],\n      \"likely_wick\": 60160.63,\n      \"rejection_confirm\": 60018.86,\n      \"invalid_overshoot\": 60379.46,\n      \"calibration_reasoning\": \"터미널 스윙고점이라 0.64 ATR 폭으로 확장: base($60,082.05)는 fib 0.618 골든비율·Gartley TP1 AD0.382($60,072.55) 정렬, 상단은 Gartley TP3 A/liquidity($60,303.20)·Chairman $60,314.30. likely_wick은 베어리시 Gartley PRZ 상단($60,128.74)을 살짝 넘는 CONFIRMED Gartley TP2 AD0.618($60,160.63), $60,379.46 fib 저항 돌파 시 상방 연장으로 무효.\"\n    }\n  ]\n}\n```"
  },
  "timing": {
    "stages": {
      "stage1_agents": 57.7,
      "chairman": 74.1,
      "operating_path": 230.6,
      "tp_calibrator": 288.3
    },
    "agents": {},
    "total_s": 650.6
  }
}