{
  "url": "http://127.0.0.1:8000/chart/?ta=ch",
  "run_id": "20260227T124948Z",
  "output_dir": "/home/nigel/.openclaw/workspace/bitcoin_reports/public/tests/20260227T124948Z",
  "public_results_base": "https://btc.home.nerdynigel.com/tests/20260227T124948Z",
  "checks": [
    {
      "tf": "4h",
      "state": {
        "active_tf": "4h",
        "ta_active": {
          "ew": false,
          "sr": false,
          "cl": false,
          "wy": false,
          "ch": true
        },
        "ch_trace_count": 12,
        "has_structural": true,
        "has_target": true,
        "has_forecast": true,
        "hs_connector_required": true,
        "hs_connector_ok": true,
        "kinds": [
          "",
          "",
          "invalidation_line",
          "invalidation_line",
          "invalidation_line",
          "invalidation_line",
          "ew_zone",
          "ew_zone",
          "ew_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "cl_future_label",
          "cl_future_label",
          "cl_future_label",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_dss",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_sma10",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "forecast_path",
          "forecast_label",
          "forecast_path",
          "forecast_label",
          "forecast_path",
          "forecast_label",
          "forecast_path",
          "forecast_label",
          "ch_trendline",
          "ch_trendline",
          "ch_trendline",
          "ch_neckline_ext",
          "ch_shoulder_neckline",
          "ch_shoulder_neckline",
          "ch_pattern_pivot",
          "ch_event",
          "ch_target",
          "ch_forecast",
          "ch_target",
          "ch_label",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_line",
          "ich_line",
          "ich_line",
          "ich_event",
          "ich_event",
          "ich_guide",
          "ich_guide",
          "ich_guide",
          "ich_forecast",
          "ich_label",
          "wy_zone",
          "wy_zone",
          "wy_zone",
          "wy_label",
          "wy_guide",
          "wy_label",
          "wy_guide",
          "wy_guide",
          "wy_label",
          "wy_guide",
          "wy_forecast",
          "wy_label",
          "wy_guide",
          "wy_guide",
          "wy_guide",
          "wy_guide",
          "wy_label",
          "wy_label",
          "wy_label",
          "wy_label",
          "wy_label",
          "wy_event",
          "wy_label"
        ]
      },
      "passed": true
    },
    {
      "tf": "1d",
      "state": {
        "active_tf": "1d",
        "ta_active": {
          "ew": false,
          "sr": false,
          "cl": false,
          "wy": false,
          "ch": true
        },
        "ch_trace_count": 8,
        "has_structural": true,
        "has_target": true,
        "has_forecast": true,
        "hs_connector_required": false,
        "hs_connector_ok": true,
        "kinds": [
          "",
          "",
          "invalidation_line",
          "invalidation_line",
          "ew_zone",
          "ew_zone",
          "ew_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "cl_future_label",
          "cl_future_label",
          "cl_future_label",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_sma10",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_dss",
          "cl_sma10",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_dss",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_sma10",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "forecast_path",
          "forecast_label",
          "forecast_path",
          "forecast_label",
          "ch_zone",
          "ch_trendline",
          "ch_trendline",
          "ch_trendline",
          "ch_target",
          "ch_forecast",
          "ch_target",
          "ch_label",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_line",
          "ich_line",
          "ich_line",
          "ich_event",
          "ich_event",
          "ich_guide",
          "ich_guide",
          "ich_guide",
          "ich_forecast",
          "ich_label",
          "wy_zone",
          "wy_zone",
          "wy_zone",
          "wy_label",
          "wy_guide",
          "wy_label",
          "wy_guide",
          "wy_guide",
          "wy_label",
          "wy_guide",
          "wy_forecast",
          "wy_label",
          "wy_guide",
          "wy_guide",
          "wy_guide",
          "wy_guide",
          "wy_label",
          "wy_label",
          "wy_label",
          "wy_label",
          "wy_label",
          "wy_event",
          "wy_label"
        ]
      },
      "passed": true
    },
    {
      "tf": "1w",
      "state": {
        "active_tf": "1w",
        "ta_active": {
          "ew": false,
          "sr": false,
          "cl": false,
          "wy": false,
          "ch": true
        },
        "ch_trace_count": 13,
        "has_structural": true,
        "has_target": true,
        "has_forecast": true,
        "hs_connector_required": true,
        "hs_connector_ok": true,
        "kinds": [
          "",
          "",
          "invalidation_line",
          "invalidation_line",
          "invalidation_line",
          "invalidation_line",
          "ew_zone",
          "ew_zone",
          "ew_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "sr_zone",
          "cl_future_label",
          "cl_future_label",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_trendline",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_dss",
          "cl_sma10",
          "cl_dss",
          "cl_sma10",
          "cl_sma10",
          "cl_dss",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_midpoint",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_label",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "cl_level_line",
          "forecast_path",
          "forecast_label",
          "forecast_path",
          "forecast_label",
          "forecast_path",
          "forecast_label",
          "forecast_path",
          "forecast_label",
          "ch_trendline",
          "ch_trendline",
          "ch_trendline",
          "ch_neckline_ext",
          "ch_ls_left_path",
          "ch_shoulder_neckline",
          "ch_shoulder_neckline",
          "ch_pattern_pivot",
          "ch_event",
          "ch_target",
          "ch_forecast",
          "ch_target",
          "ch_label",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_cloud",
          "ich_line",
          "ich_line",
          "ich_line",
          "ich_event",
          "ich_event",
          "ich_guide",
          "ich_guide",
          "ich_guide",
          "ich_forecast",
          "ich_label",
          "wy_zone",
          "wy_zone",
          "wy_zone",
          "wy_label",
          "wy_guide",
          "wy_label",
          "wy_guide",
          "wy_guide",
          "wy_label",
          "wy_guide",
          "wy_forecast",
          "wy_label",
          "wy_guide",
          "wy_guide",
          "wy_guide",
          "wy_guide",
          "wy_label",
          "wy_label",
          "wy_label",
          "wy_label",
          "wy_label",
          "wy_event",
          "wy_label"
        ]
      },
      "passed": true
    }
  ],
  "shots": [
    {
      "tf": "4h",
      "chart": "/home/nigel/.openclaw/workspace/bitcoin_reports/public/tests/20260227T124948Z/ch_4h.png",
      "public_url": "https://btc.home.nerdynigel.com/tests/20260227T124948Z/ch_4h.png"
    },
    {
      "tf": "1d",
      "chart": "/home/nigel/.openclaw/workspace/bitcoin_reports/public/tests/20260227T124948Z/ch_1d.png",
      "public_url": "https://btc.home.nerdynigel.com/tests/20260227T124948Z/ch_1d.png"
    },
    {
      "tf": "1w",
      "chart": "/home/nigel/.openclaw/workspace/bitcoin_reports/public/tests/20260227T124948Z/ch_1w.png",
      "public_url": "https://btc.home.nerdynigel.com/tests/20260227T124948Z/ch_1w.png"
    }
  ]
}