desk: reversal date: 2026-09-24 forecasts: "null": # quoted deliberately — a bare null key is parsed by YAML as None,
p_trade: 0.30 direction: long conviction: med meridian: p_trade: 0.05 direction: short conviction: low
Briefing reference: /Users/dadbot/Desktop/ClaudeBod/projects/dadbrain/Analysis/briefings/2026-09-24-pm.md PM: Wicker (persona; own stack retired 2026-07-14 — this plan covers active members Null + Meridian only)
Regime watch: data-infra/regime/current.json reads as_of 2026-09-22 — status ok; vix_regime LOW (<18, VIX 14.21), spy_drawdown_bucket <2% (−0.58%), spy_vs_sma50 above 50d, spy_day flat. Caveat stated plainly: the file is present and fresh on disk (written 09-23 21:25) but its data as_of is 09-22 — it does not contain Wednesday's session. It is therefore reported as read, not as unavailable, but treated as directional only; the briefing's own live VIX (16.13, still LOW) is the current print.
Charter consistency: all three shared tags sit at the charter's baseline state (LOW / <2% / above 50d). No charter indicator is moving, no non-baseline tag has held for the charter's 5-session persistence window, and no Desk Review proposal is triggered. Today's plan is consistent with the ratified direction of the ## Regime Charter: intraday-only, no overnight hold, and no regime-keyed sit-out imposed on either member (neither has one, and none is being invented here). Worth noting for the record — because the file predates it — that Wednesday was the kind of session the charter's clause 2 calls the exposed case for Null (a gap-down selloff, i.e. repeated long fades into weakness) and that Null never got the look: it blocked on gap_ratio 0.038.
is_event_day('2026-09-24', tier_filter=1) returns clean (verified, not assumed). Firm-wide trade status GO. The MEDIUM rating is headline risk, and today it is the firm's single largest named risk: the Trump–Xi bilateral session in Washington (outcome pending, HIGH, two-sided, un-timeable) layered on the unchanged long-dated-yields / oil squeeze (10-yr highest since 2007, 5-yr touched 5%, Brent back above $100). Secondary: the 8:30 jobless claims print (cons. 201K / prior 196K) now carries extra weight after Barr called labor risks receded; New Home Sales 10:00 AM.Two standing calibration commitments from the 2026-09-23 peer review are discharged inline in this plan (both were dispositioned "acted"): (1) the running p_trade-bucket frequency tables for both stacks (DELTA → Reversal), and (2) Null's gap_ratio-bucket table with the forecast conditioned on it (VESPER → Reversal). Both are below the member sections and both govern today's numbers.
Setup present: YES, on the aligned side, for the first time in weeks — p_trade 0.30, direction LONG, conviction med. Both calendar gates are clean: no Tier-1 (is_event_day(trade_date, tier_filter=2) returns clean — verified), and the mega-cap earnings filter does not fire: Costco (COST, a QQQ top-10 name) reports after today's close, and the cleared rule's plain text skips a session where a top constituent reported after the prior close or pre-market the same day — COST's print lands after the close and its reaction belongs to 09-25, not today. (Transparency, no gate change: data/event_calendar/qqq_earnings_dates.csv is stale through 2026-06-03, so the filter would read clean on COST either way. I am not adding a gate; I am flagging that the engine's clean read rests on a stale CSV, not on verification.) A live, tradeable session.
strategy_v2.md rule 3) says: above the SMA → only gap-DOWN fades (gap-up fades are refused by rule unless the gap is tiny, < 0.30× ATR, where the relaxation applies). So today's aligned, full-rule path is a gap-down fade = LONG, and the tiny-gap-up short is only the relaxation path — which a down-biased pre-market does not suggest forming. Direction, if it fires, is long. That is the opposite of the last several plans and I am not anchoring on them: the futures read is the input, not the recent tape.gap_up=False): N=11, fires 6 (0.545) — and, critically, gap-down + in-band + above-SMA20 is 3/3 fired (08-06 0.427, 08-20 0.325, 08-28 0.135); the five in-band gap-downs that did not fire were all below the SMA20 (with-trend, refused by rule). Today's state is the first row of that pair, not the second.no_trade:premarket_volume) — a live path on a summit-headline day, and the one filter that can close the session before the band is even measured. (d) Even with a qualifying gap, the reversal impulse must still form — a ≥50% retrace of the open drive in one 1-min candle, then a 1-min FVG entry at equilibrium (the 07-15/07-27 no_signal:pattern path).Sizing vs event risk: standard — 1 MNQ, 0.5% risk, one position at a time, 11:00 ET hard exit. No changes. Not upsized on the LOW-VIX cohort; not downsized for MEDIUM. Any signal forming before the 10:00 New Home Sales print or into summit headlines is headline-exposed — a sizing and quality statement, not a new filter. Null's cleared rule set has no headline skip and I am adding none.
Key levels: QQQ prior close 741.17 (fill target), prior high 747.12, prior low 738.25, SMA20 718.23 (price +3.19% above), ATR(14) 9.49. In-band gap 0.95–6.64 pts; tiny window ≤2.85 pts; live zones [734.53, 740.22] (gap-down LONG — the aligned path) ∪ [742.12, 744.02] (tiny gap-up SHORT — relaxation path).
Invalidation / stand-down: stand down if the cash open prints in (740.22, 742.12) (sub-floor, ±0.13%), ≥747.81 (−0.90%-or-more oversize on the down side is ≤734.53; anything ≥747.81 is a gap-up oversize the wrong way), 744.02–747.81 (gap-up refused by the trend filter by rule), or pre-market volume > 2× its 5-day average. The 11:00 ET hard exit is unchanged. A sub-floor block remains a live, unmysterious outcome — no_trade:gap_size is not a near-miss.
Mechanism health: SPRT CONTINUE — n=15 W14/L1, LLR +2.461, cumulative +$1,965.99, WR 93.3%. First-loss watch stays N=1 (the 09-03 trend-day fade remains un-clustered — no filter conversation until same-shaped losses reach N ≥ 3). No tweak.
Null — p_trade-bucket calibration table (DELTA's ask; 48 scored plan days, 13 fires, realised 0.271):
| p_trade bucket | N plan days | fires | realised freq |
|---|---|---|---|
| 0.00 | 9 | 0 | 0.000 |
| 0.01–0.09 | 1 | 0 | 0.000 |
| 0.10–0.14 | 2 | 0 | 0.000 |
| 0.15–0.19 | 5 | 2 | 0.400 |
| 0.20–0.24 | 6 | 1 | 0.167 |
| 0.25–0.29 | 7 | 1 | 0.143 |
| 0.30–0.39 | 5 | 2 | 0.400 |
| 0.40–0.49 | 8 | 5 | 0.625 |
| 0.50+ | 5 | 2 | 0.400 |
Read: Null's higher buckets are better-calibrated (0.40–0.49 → 0.625 realised), but the 0.20–0.29 band has realised only 0.167–0.143 — slightly over-priced on the sample → one more reason not to leave today at 0.20 out of habit, and to justify 0.30 by the gap-down conditioning rather than by the level alone.
Setup present: NO — I expect a no-trade, and I am pricing it that way on the evidence rather than on pessimism. p_trade 0.05, direction short (mechanical — the stack is bearish-only), conviction low.
prior_high that closes back below it in the same 5-min bar with RSI(2) > 88, then a bearish 1-min FVG within 15 minutes. Three legs to try, with the volatility gate likely blocking SPY, the ADX band likely excluding QQQ, and the sweep levels further from price on a down-biased open. That is a materially worse setup than yesterday's — and yesterday's was already a 1-in-5 call.Sizing vs event risk: standard — $250/leg, caps 10 MNQ / 5 MES / 5 M2K, 2-loss daily cap, hard close 11:30 ET. No changes. A no-trade forecast is not a reason to size down further, and a MEDIUM headline day is not a reason to touch a standard that already assumes normal conditions. iwm_leg remains n=0 — the honest live anchor is ~56%, not the 73.3% headline.
Key levels: QQQ prior high 747.12 (sweep level, +0.80% from prior close 741.17); SPY prior high 773.00 (+0.66% from 767.93); IWM unavailable (no briefing block, no 09-23 cached session). ADX band 18–32 (09-23 read 38.4 / 16.1 / 15.7). Volatility ceilings ≈ 9.03 QQQ / 6.31 SPY / 3.60 IWM (1.25× the 20-day average range, window ending 09-23). ATR(14) QQQ 9.49 / SPY 6.92 → the 2.0× ATR(5m) stop, with the same-sign guard voiding any malformed stop.
Invalidation / stand-down: stand down if the ADX precheck lands outside 18–32 on every leg (the base case I expect), or if the volatility precheck blocks all legs (SPY likely), or if a leg sweeps but never prints a close-back-below bar with RSI(2) ≥ 88, or if no leg reaches its prior high. The 11:30 ET hard close is unchanged. I do not touch the 88 line: it is cleared-parameter territory and only TEMPER can move it.
Meridian — p_trade-bucket calibration table (DELTA's ask; 48 scored plan days, 2 fires, realised 0.042):
| p_trade bucket | N plan days | fires | realised freq |
|---|---|---|---|
| 0.00 | 7 | 0 | 0.000 |
| 0.01–0.09 | 2 | 0 | 0.000 |
| 0.10–0.14 | 10 | 1 | 0.100 |
| 0.15–0.19 | 6 | 1 | 0.167 |
| 0.20–0.24 | 11 | 0 | 0.000 |
| 0.25–0.29 | 6 | 0 | 0.000 |
| 0.30–0.39 | 6 | 0 | 0.000 |
Read: 23 plan days priced at 0.20 or above produced zero fires. Both fires landed in the 0.10–0.19 range. This is the table the 09-23 peer review told me to build before pricing this stack again, and it says plainly that the desk's historical habit of holding Meridian at 0.20 was over-priced, not under. (The scored table shows 2 fires vs. 3 in trades.csv — the 07-10 QQQ fire predates the calibration file's 07-14 start; noted so the counts reconcile.)
Standing tolerance (DELTA's ask, stated now so it can be enforced): if Meridian produces two consecutive non-fires while this desk calls the setup "one gate away", the label reverts from regime to calibration and the price drops — with the next two sessions then priced from the realised bucket frequency alone. A single Brier score (e.g. Null's 0.64 on 09-18) is not cited as validation; it is one observation in the bucket table above.
adx_precheck (QQQ above band) and/or volatility (SPY past ceiling), with rsi_reject behind those if a leg does sweep.data/market_data/assay/*_1min_sip_exthrs.parquet, last cached session 2026-09-22 — the cache does not contain 09-23, so the ceilings are reconstructed with the briefing's 09-23 ranges for QQQ/SPY and are marked unavailable for IWM). Nothing here touches execution, and no member's gate stack was read from or written to.No trades taken.