Technical2026-10-02Options2026-10-02delayedFlowTrades/Quotes not entitled
Daily run 2026-10-02 · completeWatchlist 0
← Scan 412PRE_BREAKOUT_V1

NO_SETUP

EXC

Session 2026-10-02 · Knowledge cutoff 2026-10-04T13:22:43.415154Z

Options intelligence for EXC (descriptive options context; scan run 412 is not re-ranked by it) · Monitor EXC (what changed since the previous comparable session)

Structural research evidence. Historical bars observed by this cutoff are reconstructed data, not a claim of historical as-traded availability.

close
40.73
sma50
43.8833
sma150
45.8855
sma200
45.643375
rsi14
32.614626
ema20
41.710656
atr14
0.717361
resistance
44.5475
distance pct
8.569504
extension atr
-1.367033
SPY · RS20 fraction
-0.08077
QQQ · RS20 fraction
-0.129799
distinct touches
2

The resistance line is selected at this snapshot. It does not assert that the level was known at every earlier chart date.

Hard requirements

confirmed resistanceMet
resistance
44.5475

Comparison: exists · eligible: true · Unit: comparison

Data status: complete

Exact versioned evidence
{
  "name": "confirmed_resistance",
  "category": "hard",
  "observed": [
    [
      "resistance",
      44.5475
    ]
  ],
  "operator": "exists",
  "threshold": [
    [
      "eligible",
      true
    ]
  ],
  "passed": true,
  "data_status": "complete",
  "reason": null,
  "unit": "comparison",
  "rule_version": "PRE_BREAKOUT_V1",
  "feature_versions": [
    [
      "structure",
      "1"
    ]
  ],
  "source_evidence": [],
  "pivots": [
    {
      "session": "2026-08-26",
      "price": 44.51,
      "kind": "high",
      "left": 2,
      "right": 2,
      "confirmation_session": "2026-08-28",
      "confirmation_time": "2026-08-28T20:00:00Z",
      "available_at": "2026-09-24T11:13:52.628453Z",
      "version": "1"
    },
    {
      "session": "2026-09-03",
      "price": 44.585,
      "kind": "high",
      "left": 2,
      "right": 2,
      "confirmation_session": "2026-09-08",
      "confirmation_time": "2026-09-08T20:00:00Z",
      "available_at": "2026-09-24T11:13:52.628453Z",
      "version": "1"
    }
  ],
  "sessions": [],
  "available_at": "2026-09-24T11:13:52.628453Z"
}
distance to resistanceNot met
distance_pct
8.569504461529833
resistance
44.5475
close
40.73

Comparison: inclusive_between · min: 0, max: 3 · Unit: percent

Data status: complete

Exact versioned evidence
{
  "name": "distance_to_resistance",
  "category": "hard",
  "observed": [
    [
      "distance_pct",
      8.569504461529833
    ],
    [
      "resistance",
      44.5475
    ],
    [
      "close",
      40.73
    ]
  ],
  "operator": "inclusive_between",
  "threshold": [
    [
      "min",
      0
    ],
    [
      "max",
      3
    ]
  ],
  "passed": false,
  "data_status": "complete",
  "reason": null,
  "unit": "percent",
  "rule_version": "PRE_BREAKOUT_V1",
  "feature_versions": [
    [
      "close",
      "1"
    ]
  ],
  "source_evidence": [
    {
      "name": "close",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": 40.73,
      "parameters": [],
      "data_status": "complete",
      "reason": null,
      "observations_used": 1,
      "observations_required": 1,
      "warmup": false,
      "input_start": "2026-10-02",
      "seed_session": null,
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "price"
    }
  ],
  "pivots": [],
  "sessions": [],
  "available_at": "2026-10-04T13:22:16.284881Z"
}
intermediate trendNot met
close
40.73
sma50
43.8833

Comparison: > · right_operand: sma50 · Unit: comparison

Data status: complete

Exact versioned evidence
{
  "name": "intermediate_trend",
  "category": "hard",
  "observed": [
    [
      "close",
      40.73
    ],
    [
      "sma50",
      43.8833
    ]
  ],
  "operator": ">",
  "threshold": [
    [
      "right_operand",
      "sma50"
    ]
  ],
  "passed": false,
  "data_status": "complete",
  "reason": null,
  "unit": "comparison",
  "rule_version": "PRE_BREAKOUT_V1",
  "feature_versions": [
    [
      "close",
      "1"
    ],
    [
      "sma50",
      "1"
    ]
  ],
  "source_evidence": [
    {
      "name": "close",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": 40.73,
      "parameters": [],
      "data_status": "complete",
      "reason": null,
      "observations_used": 1,
      "observations_required": 1,
      "warmup": false,
      "input_start": "2026-10-02",
      "seed_session": null,
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "price"
    },
    {
      "name": "sma50",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": 43.8833,
      "parameters": [
        [
          "required_observations",
          50
        ]
      ],
      "data_status": "complete",
      "reason": null,
      "observations_used": 50,
      "observations_required": 50,
      "warmup": false,
      "input_start": "2026-07-24",
      "seed_session": null,
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "price"
    }
  ],
  "pivots": [],
  "sessions": [],
  "available_at": "2026-10-04T13:22:16.284881Z"
}
long term trendMet
sma150
45.8855
sma200
45.643375

Comparison: >= · right_operand: sma200 · Unit: comparison

Data status: complete

Exact versioned evidence
{
  "name": "long_term_trend",
  "category": "hard",
  "observed": [
    [
      "sma150",
      45.8855
    ],
    [
      "sma200",
      45.643375
    ]
  ],
  "operator": ">=",
  "threshold": [
    [
      "right_operand",
      "sma200"
    ]
  ],
  "passed": true,
  "data_status": "complete",
  "reason": null,
  "unit": "comparison",
  "rule_version": "PRE_BREAKOUT_V1",
  "feature_versions": [
    [
      "sma150",
      "1"
    ],
    [
      "sma200",
      "1"
    ]
  ],
  "source_evidence": [
    {
      "name": "sma150",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": 45.8855,
      "parameters": [
        [
          "required_observations",
          150
        ]
      ],
      "data_status": "complete",
      "reason": null,
      "observations_used": 150,
      "observations_required": 150,
      "warmup": false,
      "input_start": "2026-03-02",
      "seed_session": null,
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "price"
    },
    {
      "name": "sma200",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": 45.643375,
      "parameters": [
        [
          "required_observations",
          200
        ]
      ],
      "data_status": "complete",
      "reason": null,
      "observations_used": 200,
      "observations_required": 200,
      "warmup": false,
      "input_start": "2025-12-16",
      "seed_session": null,
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "price"
    }
  ],
  "pivots": [],
  "sessions": [],
  "available_at": "2026-10-04T13:22:16.284881Z"
}
rsi bandNot met
rsi14
32.614626445195825

Comparison: inclusive_between · min: 50, max: 70 · Unit: index

Data status: complete

Exact versioned evidence
{
  "name": "rsi_band",
  "category": "hard",
  "observed": [
    [
      "rsi14",
      32.614626445195825
    ]
  ],
  "operator": "inclusive_between",
  "threshold": [
    [
      "min",
      50
    ],
    [
      "max",
      70
    ]
  ],
  "passed": false,
  "data_status": "complete",
  "reason": null,
  "unit": "index",
  "rule_version": "PRE_BREAKOUT_V1",
  "feature_versions": [
    [
      "rsi14",
      "1"
    ]
  ],
  "source_evidence": [
    {
      "name": "rsi14",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": 32.614626445195825,
      "parameters": [
        [
          "required_observations",
          15
        ]
      ],
      "data_status": "complete",
      "reason": null,
      "observations_used": 200,
      "observations_required": 15,
      "warmup": false,
      "input_start": "2025-12-16",
      "seed_session": "2026-01-07",
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "index"
    }
  ],
  "pivots": [],
  "sessions": [],
  "available_at": "2026-10-04T13:22:16.284881Z"
}
extension atrMet
extension_atr
-1.3670332689527442
close
40.73
ema20
41.710656201897976
atr14
0.7173608895775004

Comparison: <= · max: 1.5 · Unit: ATR

Data status: complete

Exact versioned evidence
{
  "name": "extension_atr",
  "category": "hard",
  "observed": [
    [
      "extension_atr",
      -1.3670332689527442
    ],
    [
      "close",
      40.73
    ],
    [
      "ema20",
      41.710656201897976
    ],
    [
      "atr14",
      0.7173608895775004
    ]
  ],
  "operator": "<=",
  "threshold": [
    [
      "max",
      1.5
    ]
  ],
  "passed": true,
  "data_status": "complete",
  "reason": null,
  "unit": "ATR",
  "rule_version": "PRE_BREAKOUT_V1",
  "feature_versions": [
    [
      "close",
      "1"
    ],
    [
      "ema20",
      "1"
    ],
    [
      "atr14",
      "1"
    ]
  ],
  "source_evidence": [
    {
      "name": "close",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": 40.73,
      "parameters": [],
      "data_status": "complete",
      "reason": null,
      "observations_used": 1,
      "observations_required": 1,
      "warmup": false,
      "input_start": "2026-10-02",
      "seed_session": null,
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "price"
    },
    {
      "name": "ema20",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": 41.710656201897976,
      "parameters": [
        [
          "required_observations",
          20
        ]
      ],
      "data_status": "complete",
      "reason": null,
      "observations_used": 200,
      "observations_required": 20,
      "warmup": false,
      "input_start": "2025-12-16",
      "seed_session": "2026-01-14",
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "price"
    },
    {
      "name": "atr14",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": 0.7173608895775004,
      "parameters": [
        [
          "required_observations",
          14
        ]
      ],
      "data_status": "complete",
      "reason": null,
      "observations_used": 200,
      "observations_required": 14,
      "warmup": false,
      "input_start": "2025-12-16",
      "seed_session": "2026-01-06",
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "price"
    }
  ],
  "pivots": [],
  "sessions": [],
  "available_at": "2026-10-04T13:22:16.284881Z"
}
relative strength 20Not met
SPY
-0.08077010925947858
QQQ
-0.12979906145173747

Comparison: OR > · SPY: 0, QQQ: 0 · Unit: fraction

Data status: complete

Exact versioned evidence
{
  "name": "relative_strength_20",
  "category": "hard",
  "observed": [
    [
      "SPY",
      -0.08077010925947858
    ],
    [
      "QQQ",
      -0.12979906145173747
    ]
  ],
  "operator": "OR >",
  "threshold": [
    [
      "SPY",
      0
    ],
    [
      "QQQ",
      0
    ]
  ],
  "passed": false,
  "data_status": "complete",
  "reason": null,
  "unit": "fraction",
  "rule_version": "PRE_BREAKOUT_V1",
  "feature_versions": [
    [
      "SPY",
      "1"
    ],
    [
      "QQQ",
      "1"
    ]
  ],
  "source_evidence": [
    {
      "name": "relative_return",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": -0.08077010925947858,
      "parameters": [
        [
          "window",
          20
        ],
        [
          "benchmark",
          "SPY"
        ]
      ],
      "data_status": "complete",
      "reason": null,
      "observations_used": 21,
      "observations_required": 21,
      "warmup": false,
      "input_start": "2026-09-03",
      "seed_session": null,
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "fraction"
    },
    {
      "name": "relative_return",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": -0.12979906145173747,
      "parameters": [
        [
          "window",
          20
        ],
        [
          "benchmark",
          "QQQ"
        ]
      ],
      "data_status": "complete",
      "reason": null,
      "observations_used": 21,
      "observations_required": 21,
      "warmup": false,
      "input_start": "2026-09-03",
      "seed_session": null,
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "fraction"
    }
  ],
  "pivots": [],
  "sessions": [],
  "available_at": "2026-10-04T13:22:16.284881Z"
}
resistance qualityMet
distinct_touches
2

Comparison: policy_and_minimum_touches · min: 2 · Unit: comparison

Data status: complete

Exact versioned evidence
{
  "name": "resistance_quality",
  "category": "hard",
  "observed": [
    [
      "distinct_touches",
      2
    ]
  ],
  "operator": "policy_and_minimum_touches",
  "threshold": [
    [
      "min",
      2
    ]
  ],
  "passed": true,
  "data_status": "complete",
  "reason": null,
  "unit": "comparison",
  "rule_version": "PRE_BREAKOUT_V1",
  "feature_versions": [
    [
      "structure",
      "1"
    ]
  ],
  "source_evidence": [],
  "pivots": [
    {
      "session": "2026-08-26",
      "price": 44.51,
      "kind": "high",
      "left": 2,
      "right": 2,
      "confirmation_session": "2026-08-28",
      "confirmation_time": "2026-08-28T20:00:00Z",
      "available_at": "2026-09-24T11:13:52.628453Z",
      "version": "1"
    },
    {
      "session": "2026-09-03",
      "price": 44.585,
      "kind": "high",
      "left": 2,
      "right": 2,
      "confirmation_session": "2026-09-08",
      "confirmation_time": "2026-09-08T20:00:00Z",
      "available_at": "2026-09-24T11:13:52.628453Z",
      "version": "1"
    }
  ],
  "sessions": [],
  "available_at": "2026-09-24T11:13:52.628453Z"
}

Supporting evidence

These observations do not change the trigger.

atr compressionMet
current_atr_pct
0.017612592427633206
median_previous_60_atr_pct
0.019924482525368697
ratio
0.8839673705557023

Comparison: < · right_operand: median_previous_60_atr_pct · Unit: fraction

Data status: complete

Exact versioned evidence
{
  "name": "atr_compression",
  "category": "supporting",
  "observed": [
    [
      "current_atr_pct",
      0.017612592427633206
    ],
    [
      "median_previous_60_atr_pct",
      0.019924482525368697
    ],
    [
      "ratio",
      0.8839673705557023
    ]
  ],
  "operator": "<",
  "threshold": [
    [
      "right_operand",
      "median_previous_60_atr_pct"
    ]
  ],
  "passed": true,
  "data_status": "complete",
  "reason": null,
  "unit": "fraction",
  "rule_version": "PRE_BREAKOUT_V1",
  "feature_versions": [
    [
      "atr14",
      "1"
    ],
    [
      "supporting",
      "1"
    ]
  ],
  "source_evidence": [
    {
      "name": "atr14",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": 0.7173608895775004,
      "parameters": [
        [
          "required_observations",
          14
        ]
      ],
      "data_status": "complete",
      "reason": null,
      "observations_used": 200,
      "observations_required": 14,
      "warmup": false,
      "input_start": "2025-12-16",
      "seed_session": "2026-01-06",
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "price"
    },
    {
      "name": "close",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": 40.73,
      "parameters": [],
      "data_status": "complete",
      "reason": null,
      "observations_used": 1,
      "observations_required": 1,
      "warmup": false,
      "input_start": "2026-10-02",
      "seed_session": null,
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "price"
    },
    {
      "name": "atr_compression_baseline",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": 0.019924482525368697,
      "parameters": [
        [
          "baseline_sessions",
          60
        ],
        [
          "current_excluded",
          "true"
        ]
      ],
      "data_status": "complete",
      "reason": null,
      "observations_used": 200,
      "observations_required": 74,
      "warmup": false,
      "input_start": "2025-12-16",
      "seed_session": "2026-01-06",
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "fraction"
    }
  ],
  "pivots": [],
  "sessions": [
    [
      "baseline",
      [
        "2026-07-09",
        "2026-07-10",
        "2026-07-13",
        "2026-07-14",
        "2026-07-15",
        "2026-07-16",
        "2026-07-17",
        "2026-07-20",
        "2026-07-21",
        "2026-07-22",
        "2026-07-23",
        "2026-07-24",
        "2026-07-27",
        "2026-07-28",
        "2026-07-29",
        "2026-07-30",
        "2026-07-31",
        "2026-08-03",
        "2026-08-04",
        "2026-08-05",
        "2026-08-06",
        "2026-08-07",
        "2026-08-10",
        "2026-08-11",
        "2026-08-12",
        "2026-08-13",
        "2026-08-14",
        "2026-08-17",
        "2026-08-18",
        "2026-08-19",
        "2026-08-20",
        "2026-08-21",
        "2026-08-24",
        "2026-08-25",
        "2026-08-26",
        "2026-08-27",
        "2026-08-28",
        "2026-08-31",
        "2026-09-01",
        "2026-09-02",
        "2026-09-03",
        "2026-09-04",
        "2026-09-08",
        "2026-09-09",
        "2026-09-10",
        "2026-09-11",
        "2026-09-14",
        "2026-09-15",
        "2026-09-16",
        "2026-09-17",
        "2026-09-18",
        "2026-09-21",
        "2026-09-22",
        "2026-09-23",
        "2026-09-24",
        "2026-09-25",
        "2026-09-28",
        "2026-09-29",
        "2026-09-30",
        "2026-10-01"
      ]
    ]
  ],
  "available_at": "2026-10-04T13:22:16.284881Z"
}
volume contractionNot met
recent_volume
12523801.131244998
baseline_volume
7711407.48078835
ratio
1.6240616466508744

Comparison: < · max: 0.85 · Unit: ratio

Data status: complete

Exact versioned evidence
{
  "name": "volume_contraction",
  "category": "supporting",
  "observed": [
    [
      "recent_volume",
      12523801.131244998
    ],
    [
      "baseline_volume",
      7711407.48078835
    ],
    [
      "ratio",
      1.6240616466508744
    ]
  ],
  "operator": "<",
  "threshold": [
    [
      "max",
      0.85
    ]
  ],
  "passed": false,
  "data_status": "complete",
  "reason": null,
  "unit": "ratio",
  "rule_version": "PRE_BREAKOUT_V1",
  "feature_versions": [
    [
      "supporting",
      "1"
    ]
  ],
  "source_evidence": [
    {
      "name": "volume_contraction",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": 1.6240616466508744,
      "parameters": [
        [
          "recent_sessions",
          5
        ],
        [
          "baseline_sessions",
          20
        ]
      ],
      "data_status": "complete",
      "reason": null,
      "observations_used": 25,
      "observations_required": 25,
      "warmup": false,
      "input_start": "2026-08-28",
      "seed_session": null,
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "ratio"
    }
  ],
  "pivots": [],
  "sessions": [
    [
      "recent",
      [
        "2026-09-28",
        "2026-09-29",
        "2026-09-30",
        "2026-10-01",
        "2026-10-02"
      ]
    ],
    [
      "baseline",
      [
        "2026-08-28",
        "2026-08-31",
        "2026-09-01",
        "2026-09-02",
        "2026-09-03",
        "2026-09-04",
        "2026-09-08",
        "2026-09-09",
        "2026-09-10",
        "2026-09-11",
        "2026-09-14",
        "2026-09-15",
        "2026-09-16",
        "2026-09-17",
        "2026-09-18",
        "2026-09-21",
        "2026-09-22",
        "2026-09-23",
        "2026-09-24",
        "2026-09-25"
      ]
    ]
  ],
  "available_at": "2026-10-04T13:22:16.284881Z"
}
higher lowsNot met
low_1
43.04
low_2
42.135
low_3
39.73

Comparison: low_3 > low_2 > low_1 · required_pivots: 3 · Unit: comparison

Data status: complete

Exact versioned evidence
{
  "name": "higher_lows",
  "category": "supporting",
  "observed": [
    [
      "low_1",
      43.04
    ],
    [
      "low_2",
      42.135
    ],
    [
      "low_3",
      39.73
    ]
  ],
  "operator": "low_3 > low_2 > low_1",
  "threshold": [
    [
      "required_pivots",
      3
    ]
  ],
  "passed": false,
  "data_status": "complete",
  "reason": null,
  "unit": "comparison",
  "rule_version": "PRE_BREAKOUT_V1",
  "feature_versions": [
    [
      "structure",
      "1"
    ]
  ],
  "source_evidence": [],
  "pivots": [
    {
      "session": "2026-08-31",
      "price": 43.04,
      "kind": "low",
      "left": 2,
      "right": 2,
      "confirmation_session": "2026-09-02",
      "confirmation_time": "2026-09-02T20:00:00Z",
      "available_at": "2026-09-24T11:13:52.628453Z",
      "version": "1"
    },
    {
      "session": "2026-09-15",
      "price": 42.135,
      "kind": "low",
      "left": 2,
      "right": 2,
      "confirmation_session": "2026-09-17",
      "confirmation_time": "2026-09-17T20:00:00Z",
      "available_at": "2026-09-24T11:13:52.628453Z",
      "version": "1"
    },
    {
      "session": "2026-09-25",
      "price": 39.73,
      "kind": "low",
      "left": 2,
      "right": 2,
      "confirmation_session": "2026-09-29",
      "confirmation_time": "2026-09-29T20:00:00Z",
      "available_at": "2026-10-01T13:50:37.640504Z",
      "version": "1"
    }
  ],
  "sessions": [],
  "available_at": "2026-10-01T13:50:37.640504Z"
}
full ma alignmentNot met
sma50
43.8833
sma150
45.8855
sma200
45.643375

Comparison: sma50 > sma150 > sma200 · · Unit: comparison

Data status: complete

Exact versioned evidence
{
  "name": "full_ma_alignment",
  "category": "supporting",
  "observed": [
    [
      "sma50",
      43.8833
    ],
    [
      "sma150",
      45.8855
    ],
    [
      "sma200",
      45.643375
    ]
  ],
  "operator": "sma50 > sma150 > sma200",
  "threshold": [],
  "passed": false,
  "data_status": "complete",
  "reason": null,
  "unit": "comparison",
  "rule_version": "PRE_BREAKOUT_V1",
  "feature_versions": [
    [
      "sma50",
      "1"
    ],
    [
      "sma150",
      "1"
    ],
    [
      "sma200",
      "1"
    ]
  ],
  "source_evidence": [
    {
      "name": "sma50",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": 43.8833,
      "parameters": [
        [
          "required_observations",
          50
        ]
      ],
      "data_status": "complete",
      "reason": null,
      "observations_used": 50,
      "observations_required": 50,
      "warmup": false,
      "input_start": "2026-07-24",
      "seed_session": null,
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "price"
    },
    {
      "name": "sma150",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": 45.8855,
      "parameters": [
        [
          "required_observations",
          150
        ]
      ],
      "data_status": "complete",
      "reason": null,
      "observations_used": 150,
      "observations_required": 150,
      "warmup": false,
      "input_start": "2026-03-02",
      "seed_session": null,
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "price"
    },
    {
      "name": "sma200",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": 45.643375,
      "parameters": [
        [
          "required_observations",
          200
        ]
      ],
      "data_status": "complete",
      "reason": null,
      "observations_used": 200,
      "observations_required": 200,
      "warmup": false,
      "input_start": "2025-12-16",
      "seed_session": null,
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "price"
    }
  ],
  "pivots": [],
  "sessions": [],
  "available_at": null
}
rs20 spy positiveNot met
SPY
-0.08077010925947858

Comparison: > · min: 0 · Unit: fraction

Data status: complete

Exact versioned evidence
{
  "name": "rs20_spy_positive",
  "category": "supporting",
  "observed": [
    [
      "SPY",
      -0.08077010925947858
    ]
  ],
  "operator": ">",
  "threshold": [
    [
      "min",
      0
    ]
  ],
  "passed": false,
  "data_status": "complete",
  "reason": null,
  "unit": "fraction",
  "rule_version": "PRE_BREAKOUT_V1",
  "feature_versions": [
    [
      "relative_return",
      "1"
    ]
  ],
  "source_evidence": [
    {
      "name": "relative_return",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": -0.08077010925947858,
      "parameters": [
        [
          "window",
          20
        ],
        [
          "benchmark",
          "SPY"
        ]
      ],
      "data_status": "complete",
      "reason": null,
      "observations_used": 21,
      "observations_required": 21,
      "warmup": false,
      "input_start": "2026-09-03",
      "seed_session": null,
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "fraction"
    }
  ],
  "pivots": [],
  "sessions": [],
  "available_at": "2026-10-04T13:22:16.284881Z"
}
rs20 qqq positiveNot met
QQQ
-0.12979906145173747

Comparison: > · min: 0 · Unit: fraction

Data status: complete

Exact versioned evidence
{
  "name": "rs20_qqq_positive",
  "category": "supporting",
  "observed": [
    [
      "QQQ",
      -0.12979906145173747
    ]
  ],
  "operator": ">",
  "threshold": [
    [
      "min",
      0
    ]
  ],
  "passed": false,
  "data_status": "complete",
  "reason": null,
  "unit": "fraction",
  "rule_version": "PRE_BREAKOUT_V1",
  "feature_versions": [
    [
      "relative_return",
      "1"
    ]
  ],
  "source_evidence": [
    {
      "name": "relative_return",
      "version": "1",
      "symbol": "EXC",
      "session": "2026-10-02",
      "as_of": "2026-10-04T13:22:43.415154Z",
      "value": -0.12979906145173747,
      "parameters": [
        [
          "window",
          20
        ],
        [
          "benchmark",
          "QQQ"
        ]
      ],
      "data_status": "complete",
      "reason": null,
      "observations_used": 21,
      "observations_required": 21,
      "warmup": false,
      "input_start": "2026-09-03",
      "seed_session": null,
      "available_at": "2026-10-04T13:22:16.284881Z",
      "missing_sessions": [],
      "reset_after_gap": false,
      "provider": "massive",
      "adjustment": "split_adjusted",
      "session_scope": "provider_aggregate",
      "calendar": "XNYS",
      "calendar_version": "4.13.2",
      "unit": "fraction"
    }
  ],
  "pivots": [],
  "sessions": [],
  "available_at": "2026-10-04T13:22:16.284881Z"
}
Structure policy and full stored result
{
  "rule_name": "PRE_BREAKOUT",
  "rule_version": "PRE_BREAKOUT_V1",
  "state": "NO_SETUP",
  "triggered": false,
  "symbol": "EXC",
  "session": "2026-10-02",
  "as_of": "2026-10-04T13:22:43.415154Z",
  "structure_policy": {
    "version": "1",
    "pivot_left": 2,
    "pivot_right": 2,
    "level_lookback": 126,
    "clustering_tolerance": 0.005,
    "minimum_touches": 2,
    "weighting": "equal"
  },
  "rule_policy": {
    "version": "PRE_BREAKOUT_V1",
    "distance_min": 0,
    "distance_max": 3,
    "rsi_min": 50,
    "rsi_max": 70,
    "extension_max": 1.5,
    "minimum_touches": 2,
    "atr_baseline_sessions": 60,
    "volume_recent_sessions": 5,
    "volume_baseline_sessions": 20,
    "volume_ratio_max": 0.85,
    "selection": "nearest_at_or_above_else_nearest_below",
    "both_benchmarks_valid": true
  },
  "analysis_version": "1",
  "selected_resistance": {
    "value": 44.5475,
    "kind": "resistance",
    "first_session": "2026-08-26",
    "first_eligible_session": "2026-09-08",
    "available_at": "2026-09-24T11:13:52.628453Z",
    "pivots": [
      {
        "session": "2026-08-26",
        "price": 44.51,
        "kind": "high",
        "left": 2,
        "right": 2,
        "confirmation_session": "2026-08-28",
        "confirmation_time": "2026-08-28T20:00:00Z",
        "available_at": "2026-09-24T11:13:52.628453Z",
        "version": "1"
      },
      {
        "session": "2026-09-03",
        "price": 44.585,
        "kind": "high",
        "left": 2,
        "right": 2,
        "confirmation_session": "2026-09-08",
        "confirmation_time": "2026-09-08T20:00:00Z",
        "available_at": "2026-09-24T11:13:52.628453Z",
        "version": "1"
      }
    ],
    "touches": 2,
    "tolerance": 0.005,
    "min_touches": 2,
    "lookback": 126,
    "weighting": "equal",
    "version": "1"
  },
  "hard_conditions": [
    {
      "name": "confirmed_resistance",
      "category": "hard",
      "observed": [
        [
          "resistance",
          44.5475
        ]
      ],
      "operator": "exists",
      "threshold": [
        [
          "eligible",
          true
        ]
      ],
      "passed": true,
      "data_status": "complete",
      "reason": null,
      "unit": "comparison",
      "rule_version": "PRE_BREAKOUT_V1",
      "feature_versions": [
        [
          "structure",
          "1"
        ]
      ],
      "source_evidence": [],
      "pivots": [
        {
          "session": "2026-08-26",
          "price": 44.51,
          "kind": "high",
          "left": 2,
          "right": 2,
          "confirmation_session": "2026-08-28",
          "confirmation_time": "2026-08-28T20:00:00Z",
          "available_at": "2026-09-24T11:13:52.628453Z",
          "version": "1"
        },
        {
          "session": "2026-09-03",
          "price": 44.585,
          "kind": "high",
          "left": 2,
          "right": 2,
          "confirmation_session": "2026-09-08",
          "confirmation_time": "2026-09-08T20:00:00Z",
          "available_at": "2026-09-24T11:13:52.628453Z",
          "version": "1"
        }
      ],
      "sessions": [],
      "available_at": "2026-09-24T11:13:52.628453Z"
    },
    {
      "name": "distance_to_resistance",
      "category": "hard",
      "observed": [
        [
          "distance_pct",
          8.569504461529833
        ],
        [
          "resistance",
          44.5475
        ],
        [
          "close",
          40.73
        ]
      ],
      "operator": "inclusive_between",
      "threshold": [
        [
          "min",
          0
        ],
        [
          "max",
          3
        ]
      ],
      "passed": false,
      "data_status": "complete",
      "reason": null,
      "unit": "percent",
      "rule_version": "PRE_BREAKOUT_V1",
      "feature_versions": [
        [
          "close",
          "1"
        ]
      ],
      "source_evidence": [
        {
          "name": "close",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": 40.73,
          "parameters": [],
          "data_status": "complete",
          "reason": null,
          "observations_used": 1,
          "observations_required": 1,
          "warmup": false,
          "input_start": "2026-10-02",
          "seed_session": null,
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "price"
        }
      ],
      "pivots": [],
      "sessions": [],
      "available_at": "2026-10-04T13:22:16.284881Z"
    },
    {
      "name": "intermediate_trend",
      "category": "hard",
      "observed": [
        [
          "close",
          40.73
        ],
        [
          "sma50",
          43.8833
        ]
      ],
      "operator": ">",
      "threshold": [
        [
          "right_operand",
          "sma50"
        ]
      ],
      "passed": false,
      "data_status": "complete",
      "reason": null,
      "unit": "comparison",
      "rule_version": "PRE_BREAKOUT_V1",
      "feature_versions": [
        [
          "close",
          "1"
        ],
        [
          "sma50",
          "1"
        ]
      ],
      "source_evidence": [
        {
          "name": "close",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": 40.73,
          "parameters": [],
          "data_status": "complete",
          "reason": null,
          "observations_used": 1,
          "observations_required": 1,
          "warmup": false,
          "input_start": "2026-10-02",
          "seed_session": null,
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "price"
        },
        {
          "name": "sma50",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": 43.8833,
          "parameters": [
            [
              "required_observations",
              50
            ]
          ],
          "data_status": "complete",
          "reason": null,
          "observations_used": 50,
          "observations_required": 50,
          "warmup": false,
          "input_start": "2026-07-24",
          "seed_session": null,
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "price"
        }
      ],
      "pivots": [],
      "sessions": [],
      "available_at": "2026-10-04T13:22:16.284881Z"
    },
    {
      "name": "long_term_trend",
      "category": "hard",
      "observed": [
        [
          "sma150",
          45.8855
        ],
        [
          "sma200",
          45.643375
        ]
      ],
      "operator": ">=",
      "threshold": [
        [
          "right_operand",
          "sma200"
        ]
      ],
      "passed": true,
      "data_status": "complete",
      "reason": null,
      "unit": "comparison",
      "rule_version": "PRE_BREAKOUT_V1",
      "feature_versions": [
        [
          "sma150",
          "1"
        ],
        [
          "sma200",
          "1"
        ]
      ],
      "source_evidence": [
        {
          "name": "sma150",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": 45.8855,
          "parameters": [
            [
              "required_observations",
              150
            ]
          ],
          "data_status": "complete",
          "reason": null,
          "observations_used": 150,
          "observations_required": 150,
          "warmup": false,
          "input_start": "2026-03-02",
          "seed_session": null,
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "price"
        },
        {
          "name": "sma200",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": 45.643375,
          "parameters": [
            [
              "required_observations",
              200
            ]
          ],
          "data_status": "complete",
          "reason": null,
          "observations_used": 200,
          "observations_required": 200,
          "warmup": false,
          "input_start": "2025-12-16",
          "seed_session": null,
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "price"
        }
      ],
      "pivots": [],
      "sessions": [],
      "available_at": "2026-10-04T13:22:16.284881Z"
    },
    {
      "name": "rsi_band",
      "category": "hard",
      "observed": [
        [
          "rsi14",
          32.614626445195825
        ]
      ],
      "operator": "inclusive_between",
      "threshold": [
        [
          "min",
          50
        ],
        [
          "max",
          70
        ]
      ],
      "passed": false,
      "data_status": "complete",
      "reason": null,
      "unit": "index",
      "rule_version": "PRE_BREAKOUT_V1",
      "feature_versions": [
        [
          "rsi14",
          "1"
        ]
      ],
      "source_evidence": [
        {
          "name": "rsi14",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": 32.614626445195825,
          "parameters": [
            [
              "required_observations",
              15
            ]
          ],
          "data_status": "complete",
          "reason": null,
          "observations_used": 200,
          "observations_required": 15,
          "warmup": false,
          "input_start": "2025-12-16",
          "seed_session": "2026-01-07",
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "index"
        }
      ],
      "pivots": [],
      "sessions": [],
      "available_at": "2026-10-04T13:22:16.284881Z"
    },
    {
      "name": "extension_atr",
      "category": "hard",
      "observed": [
        [
          "extension_atr",
          -1.3670332689527442
        ],
        [
          "close",
          40.73
        ],
        [
          "ema20",
          41.710656201897976
        ],
        [
          "atr14",
          0.7173608895775004
        ]
      ],
      "operator": "<=",
      "threshold": [
        [
          "max",
          1.5
        ]
      ],
      "passed": true,
      "data_status": "complete",
      "reason": null,
      "unit": "ATR",
      "rule_version": "PRE_BREAKOUT_V1",
      "feature_versions": [
        [
          "close",
          "1"
        ],
        [
          "ema20",
          "1"
        ],
        [
          "atr14",
          "1"
        ]
      ],
      "source_evidence": [
        {
          "name": "close",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": 40.73,
          "parameters": [],
          "data_status": "complete",
          "reason": null,
          "observations_used": 1,
          "observations_required": 1,
          "warmup": false,
          "input_start": "2026-10-02",
          "seed_session": null,
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "price"
        },
        {
          "name": "ema20",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": 41.710656201897976,
          "parameters": [
            [
              "required_observations",
              20
            ]
          ],
          "data_status": "complete",
          "reason": null,
          "observations_used": 200,
          "observations_required": 20,
          "warmup": false,
          "input_start": "2025-12-16",
          "seed_session": "2026-01-14",
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "price"
        },
        {
          "name": "atr14",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": 0.7173608895775004,
          "parameters": [
            [
              "required_observations",
              14
            ]
          ],
          "data_status": "complete",
          "reason": null,
          "observations_used": 200,
          "observations_required": 14,
          "warmup": false,
          "input_start": "2025-12-16",
          "seed_session": "2026-01-06",
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "price"
        }
      ],
      "pivots": [],
      "sessions": [],
      "available_at": "2026-10-04T13:22:16.284881Z"
    },
    {
      "name": "relative_strength_20",
      "category": "hard",
      "observed": [
        [
          "SPY",
          -0.08077010925947858
        ],
        [
          "QQQ",
          -0.12979906145173747
        ]
      ],
      "operator": "OR >",
      "threshold": [
        [
          "SPY",
          0
        ],
        [
          "QQQ",
          0
        ]
      ],
      "passed": false,
      "data_status": "complete",
      "reason": null,
      "unit": "fraction",
      "rule_version": "PRE_BREAKOUT_V1",
      "feature_versions": [
        [
          "SPY",
          "1"
        ],
        [
          "QQQ",
          "1"
        ]
      ],
      "source_evidence": [
        {
          "name": "relative_return",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": -0.08077010925947858,
          "parameters": [
            [
              "window",
              20
            ],
            [
              "benchmark",
              "SPY"
            ]
          ],
          "data_status": "complete",
          "reason": null,
          "observations_used": 21,
          "observations_required": 21,
          "warmup": false,
          "input_start": "2026-09-03",
          "seed_session": null,
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "fraction"
        },
        {
          "name": "relative_return",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": -0.12979906145173747,
          "parameters": [
            [
              "window",
              20
            ],
            [
              "benchmark",
              "QQQ"
            ]
          ],
          "data_status": "complete",
          "reason": null,
          "observations_used": 21,
          "observations_required": 21,
          "warmup": false,
          "input_start": "2026-09-03",
          "seed_session": null,
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "fraction"
        }
      ],
      "pivots": [],
      "sessions": [],
      "available_at": "2026-10-04T13:22:16.284881Z"
    },
    {
      "name": "resistance_quality",
      "category": "hard",
      "observed": [
        [
          "distinct_touches",
          2
        ]
      ],
      "operator": "policy_and_minimum_touches",
      "threshold": [
        [
          "min",
          2
        ]
      ],
      "passed": true,
      "data_status": "complete",
      "reason": null,
      "unit": "comparison",
      "rule_version": "PRE_BREAKOUT_V1",
      "feature_versions": [
        [
          "structure",
          "1"
        ]
      ],
      "source_evidence": [],
      "pivots": [
        {
          "session": "2026-08-26",
          "price": 44.51,
          "kind": "high",
          "left": 2,
          "right": 2,
          "confirmation_session": "2026-08-28",
          "confirmation_time": "2026-08-28T20:00:00Z",
          "available_at": "2026-09-24T11:13:52.628453Z",
          "version": "1"
        },
        {
          "session": "2026-09-03",
          "price": 44.585,
          "kind": "high",
          "left": 2,
          "right": 2,
          "confirmation_session": "2026-09-08",
          "confirmation_time": "2026-09-08T20:00:00Z",
          "available_at": "2026-09-24T11:13:52.628453Z",
          "version": "1"
        }
      ],
      "sessions": [],
      "available_at": "2026-09-24T11:13:52.628453Z"
    }
  ],
  "supporting_conditions": [
    {
      "name": "atr_compression",
      "category": "supporting",
      "observed": [
        [
          "current_atr_pct",
          0.017612592427633206
        ],
        [
          "median_previous_60_atr_pct",
          0.019924482525368697
        ],
        [
          "ratio",
          0.8839673705557023
        ]
      ],
      "operator": "<",
      "threshold": [
        [
          "right_operand",
          "median_previous_60_atr_pct"
        ]
      ],
      "passed": true,
      "data_status": "complete",
      "reason": null,
      "unit": "fraction",
      "rule_version": "PRE_BREAKOUT_V1",
      "feature_versions": [
        [
          "atr14",
          "1"
        ],
        [
          "supporting",
          "1"
        ]
      ],
      "source_evidence": [
        {
          "name": "atr14",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": 0.7173608895775004,
          "parameters": [
            [
              "required_observations",
              14
            ]
          ],
          "data_status": "complete",
          "reason": null,
          "observations_used": 200,
          "observations_required": 14,
          "warmup": false,
          "input_start": "2025-12-16",
          "seed_session": "2026-01-06",
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "price"
        },
        {
          "name": "close",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": 40.73,
          "parameters": [],
          "data_status": "complete",
          "reason": null,
          "observations_used": 1,
          "observations_required": 1,
          "warmup": false,
          "input_start": "2026-10-02",
          "seed_session": null,
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "price"
        },
        {
          "name": "atr_compression_baseline",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": 0.019924482525368697,
          "parameters": [
            [
              "baseline_sessions",
              60
            ],
            [
              "current_excluded",
              "true"
            ]
          ],
          "data_status": "complete",
          "reason": null,
          "observations_used": 200,
          "observations_required": 74,
          "warmup": false,
          "input_start": "2025-12-16",
          "seed_session": "2026-01-06",
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "fraction"
        }
      ],
      "pivots": [],
      "sessions": [
        [
          "baseline",
          [
            "2026-07-09",
            "2026-07-10",
            "2026-07-13",
            "2026-07-14",
            "2026-07-15",
            "2026-07-16",
            "2026-07-17",
            "2026-07-20",
            "2026-07-21",
            "2026-07-22",
            "2026-07-23",
            "2026-07-24",
            "2026-07-27",
            "2026-07-28",
            "2026-07-29",
            "2026-07-30",
            "2026-07-31",
            "2026-08-03",
            "2026-08-04",
            "2026-08-05",
            "2026-08-06",
            "2026-08-07",
            "2026-08-10",
            "2026-08-11",
            "2026-08-12",
            "2026-08-13",
            "2026-08-14",
            "2026-08-17",
            "2026-08-18",
            "2026-08-19",
            "2026-08-20",
            "2026-08-21",
            "2026-08-24",
            "2026-08-25",
            "2026-08-26",
            "2026-08-27",
            "2026-08-28",
            "2026-08-31",
            "2026-09-01",
            "2026-09-02",
            "2026-09-03",
            "2026-09-04",
            "2026-09-08",
            "2026-09-09",
            "2026-09-10",
            "2026-09-11",
            "2026-09-14",
            "2026-09-15",
            "2026-09-16",
            "2026-09-17",
            "2026-09-18",
            "2026-09-21",
            "2026-09-22",
            "2026-09-23",
            "2026-09-24",
            "2026-09-25",
            "2026-09-28",
            "2026-09-29",
            "2026-09-30",
            "2026-10-01"
          ]
        ]
      ],
      "available_at": "2026-10-04T13:22:16.284881Z"
    },
    {
      "name": "volume_contraction",
      "category": "supporting",
      "observed": [
        [
          "recent_volume",
          12523801.131244998
        ],
        [
          "baseline_volume",
          7711407.48078835
        ],
        [
          "ratio",
          1.6240616466508744
        ]
      ],
      "operator": "<",
      "threshold": [
        [
          "max",
          0.85
        ]
      ],
      "passed": false,
      "data_status": "complete",
      "reason": null,
      "unit": "ratio",
      "rule_version": "PRE_BREAKOUT_V1",
      "feature_versions": [
        [
          "supporting",
          "1"
        ]
      ],
      "source_evidence": [
        {
          "name": "volume_contraction",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": 1.6240616466508744,
          "parameters": [
            [
              "recent_sessions",
              5
            ],
            [
              "baseline_sessions",
              20
            ]
          ],
          "data_status": "complete",
          "reason": null,
          "observations_used": 25,
          "observations_required": 25,
          "warmup": false,
          "input_start": "2026-08-28",
          "seed_session": null,
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "ratio"
        }
      ],
      "pivots": [],
      "sessions": [
        [
          "recent",
          [
            "2026-09-28",
            "2026-09-29",
            "2026-09-30",
            "2026-10-01",
            "2026-10-02"
          ]
        ],
        [
          "baseline",
          [
            "2026-08-28",
            "2026-08-31",
            "2026-09-01",
            "2026-09-02",
            "2026-09-03",
            "2026-09-04",
            "2026-09-08",
            "2026-09-09",
            "2026-09-10",
            "2026-09-11",
            "2026-09-14",
            "2026-09-15",
            "2026-09-16",
            "2026-09-17",
            "2026-09-18",
            "2026-09-21",
            "2026-09-22",
            "2026-09-23",
            "2026-09-24",
            "2026-09-25"
          ]
        ]
      ],
      "available_at": "2026-10-04T13:22:16.284881Z"
    },
    {
      "name": "higher_lows",
      "category": "supporting",
      "observed": [
        [
          "low_1",
          43.04
        ],
        [
          "low_2",
          42.135
        ],
        [
          "low_3",
          39.73
        ]
      ],
      "operator": "low_3 > low_2 > low_1",
      "threshold": [
        [
          "required_pivots",
          3
        ]
      ],
      "passed": false,
      "data_status": "complete",
      "reason": null,
      "unit": "comparison",
      "rule_version": "PRE_BREAKOUT_V1",
      "feature_versions": [
        [
          "structure",
          "1"
        ]
      ],
      "source_evidence": [],
      "pivots": [
        {
          "session": "2026-08-31",
          "price": 43.04,
          "kind": "low",
          "left": 2,
          "right": 2,
          "confirmation_session": "2026-09-02",
          "confirmation_time": "2026-09-02T20:00:00Z",
          "available_at": "2026-09-24T11:13:52.628453Z",
          "version": "1"
        },
        {
          "session": "2026-09-15",
          "price": 42.135,
          "kind": "low",
          "left": 2,
          "right": 2,
          "confirmation_session": "2026-09-17",
          "confirmation_time": "2026-09-17T20:00:00Z",
          "available_at": "2026-09-24T11:13:52.628453Z",
          "version": "1"
        },
        {
          "session": "2026-09-25",
          "price": 39.73,
          "kind": "low",
          "left": 2,
          "right": 2,
          "confirmation_session": "2026-09-29",
          "confirmation_time": "2026-09-29T20:00:00Z",
          "available_at": "2026-10-01T13:50:37.640504Z",
          "version": "1"
        }
      ],
      "sessions": [],
      "available_at": "2026-10-01T13:50:37.640504Z"
    },
    {
      "name": "full_ma_alignment",
      "category": "supporting",
      "observed": [
        [
          "sma50",
          43.8833
        ],
        [
          "sma150",
          45.8855
        ],
        [
          "sma200",
          45.643375
        ]
      ],
      "operator": "sma50 > sma150 > sma200",
      "threshold": [],
      "passed": false,
      "data_status": "complete",
      "reason": null,
      "unit": "comparison",
      "rule_version": "PRE_BREAKOUT_V1",
      "feature_versions": [
        [
          "sma50",
          "1"
        ],
        [
          "sma150",
          "1"
        ],
        [
          "sma200",
          "1"
        ]
      ],
      "source_evidence": [
        {
          "name": "sma50",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": 43.8833,
          "parameters": [
            [
              "required_observations",
              50
            ]
          ],
          "data_status": "complete",
          "reason": null,
          "observations_used": 50,
          "observations_required": 50,
          "warmup": false,
          "input_start": "2026-07-24",
          "seed_session": null,
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "price"
        },
        {
          "name": "sma150",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": 45.8855,
          "parameters": [
            [
              "required_observations",
              150
            ]
          ],
          "data_status": "complete",
          "reason": null,
          "observations_used": 150,
          "observations_required": 150,
          "warmup": false,
          "input_start": "2026-03-02",
          "seed_session": null,
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "price"
        },
        {
          "name": "sma200",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": 45.643375,
          "parameters": [
            [
              "required_observations",
              200
            ]
          ],
          "data_status": "complete",
          "reason": null,
          "observations_used": 200,
          "observations_required": 200,
          "warmup": false,
          "input_start": "2025-12-16",
          "seed_session": null,
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "price"
        }
      ],
      "pivots": [],
      "sessions": [],
      "available_at": null
    },
    {
      "name": "rs20_spy_positive",
      "category": "supporting",
      "observed": [
        [
          "SPY",
          -0.08077010925947858
        ]
      ],
      "operator": ">",
      "threshold": [
        [
          "min",
          0
        ]
      ],
      "passed": false,
      "data_status": "complete",
      "reason": null,
      "unit": "fraction",
      "rule_version": "PRE_BREAKOUT_V1",
      "feature_versions": [
        [
          "relative_return",
          "1"
        ]
      ],
      "source_evidence": [
        {
          "name": "relative_return",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": -0.08077010925947858,
          "parameters": [
            [
              "window",
              20
            ],
            [
              "benchmark",
              "SPY"
            ]
          ],
          "data_status": "complete",
          "reason": null,
          "observations_used": 21,
          "observations_required": 21,
          "warmup": false,
          "input_start": "2026-09-03",
          "seed_session": null,
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "fraction"
        }
      ],
      "pivots": [],
      "sessions": [],
      "available_at": "2026-10-04T13:22:16.284881Z"
    },
    {
      "name": "rs20_qqq_positive",
      "category": "supporting",
      "observed": [
        [
          "QQQ",
          -0.12979906145173747
        ]
      ],
      "operator": ">",
      "threshold": [
        [
          "min",
          0
        ]
      ],
      "passed": false,
      "data_status": "complete",
      "reason": null,
      "unit": "fraction",
      "rule_version": "PRE_BREAKOUT_V1",
      "feature_versions": [
        [
          "relative_return",
          "1"
        ]
      ],
      "source_evidence": [
        {
          "name": "relative_return",
          "version": "1",
          "symbol": "EXC",
          "session": "2026-10-02",
          "as_of": "2026-10-04T13:22:43.415154Z",
          "value": -0.12979906145173747,
          "parameters": [
            [
              "window",
              20
            ],
            [
              "benchmark",
              "QQQ"
            ]
          ],
          "data_status": "complete",
          "reason": null,
          "observations_used": 21,
          "observations_required": 21,
          "warmup": false,
          "input_start": "2026-09-03",
          "seed_session": null,
          "available_at": "2026-10-04T13:22:16.284881Z",
          "missing_sessions": [],
          "reset_after_gap": false,
          "provider": "massive",
          "adjustment": "split_adjusted",
          "session_scope": "provider_aggregate",
          "calendar": "XNYS",
          "calendar_version": "4.13.2",
          "unit": "fraction"
        }
      ],
      "pivots": [],
      "sessions": [],
      "available_at": "2026-10-04T13:22:16.284881Z"
    }
  ]
}