desk: reversal date: 2026-10-01 forecasts: "null": # quoted deliberately — a bare null key parses as None in YAML p_trade: 0.32 direction: short conviction: low meridian: p_trade: 0.08 direction: short conviction: low
Briefing reference: /Users/dadbot/Desktop/ClaudeBod/projects/dadbrain/Analysis/briefings/2026-10-01-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, spy_open_to_close_pct −0.08. The file is now SEVEN sessions stale — it contains none of 09-23/24/25/28/29/30/10-01 — so it is reported as read (not unavailable) and treated as directional only. Seven sessions is past the charter's 5-consecutive-session persistence window, so a stale file cannot discharge that check on its own; flagged plainly for the operator rather than letting a stale read stand in for a live one.
Charter consistency (against the DRAFT direction — the charter in desks/reversal/CLAUDE.md is DRAFT — not ratified, and the 2026-09-25 peer review correctly caught an earlier plan calling it "ratified"): all three shared tags sit at the charter's baseline state (LOW / <2% / above 50d); the live print is the briefing's VIX 16.25, still LOW (<18), −0.09 on the day. No charter indicator is moving off baseline, no non-baseline state has held for the 5-session persistence rule, and no Desk Review proposal is triggered. One watch item, stated as a watch and not a finding: SPY now sits below its 20-day SMA (762.34 vs 765.06, −0.36%) — the same bleed I flagged on 09-29 (essentially on it) and 09-30 (just below) has continued one more session. But 20d ≠ 50d: the spy_vs_sma50 tag needs the 50-day mean, not the 20, and I will not treat a 20-day cross as that tag moving. Today's plan is consistent with the drafted direction — intraday only, no overnight hold, no regime-keyed sit-out invented for either member (neither carries one), and no gate, size or parameter moved on a regime signal.
Clause-2 note: unlike the last two sessions, today is NOT a Tier-1 skip — so the draft charter's clause-2 exposed case (Null repeatedly fading a persistent gap-down selloff into weakness, N=1 live on 09-28) can fire today if the tape gaps down. The pre-market lean points the other way, so the exposed path is not the modal one — but the cleared filter governs and I invent no sit-out. Watch and report only.
Setup present: POSSIBLE — p_trade 0.32, direction SHORT (tiny gap-up fade, the modal eligible path), conviction LOW. The pass geometry is live and the trend filter's exception opens the up side, but the up-lean points at the one band that is refused, so this is a genuine two-sided day, not a high-conviction one.
strategy_v2.md rule 3 permits gap-DOWN fades (long); rule 3's tiny-gap exception permits gap-up < 0.30× ATR, so a small up-open in [739.51, 742.42] is eligible as a SHORT fade. A gap-up ≥ 0.30× ATR (≥ 742.42) is refused by the trend filter — and that refused band is where the pre-market lean points.gap_ratio since 07-13 fire the pattern gate at ≈0.74 conditional on a gap-gate pass. The gap-gate pass window today covers any up-open to +0.39% plus any down-open ≥ 0.13%: on a distribution centred near the up-lean, that is roughly 0.40–0.45 P(pass). 0.43 × 0.74 ≈ 0.32 → priced 0.32. I am deliberately not lifting this toward the 0.40–0.49 bucket (the best-realised one, 0.600) because the up-lean points at the refused band, not at the tiny-gap zone.max_retrace_ratio=0.00 drive_ok=False). (b) The pre-market volume stand-down (rule 4, NQ volume ≤ 2× its 5-day average) — unmeasurable from the IEX feed I have, and live on a data-heavy morning (claims + PMIs).data/event_calendar/qqq_earnings_dates.csv remains stale through 2026-06-03, so the Tier-2 filter reads clean off a file untouched since June. Today the staleness is not load-bearing — the named reporters (NKE, MU) are not on Null's cleared list. Recorded for TEMPER/ZEUS; no gate touched.Sizing vs event risk: standard — 1 MNQ, 0.5% risk, one position at a time, 11:00 ET hard exit. No changes. Not upsized for the wide-ish pass window; not downsized for HIGH anticipatory event risk — Null's cleared rule set carries no headline skip and I am adding none. The binding event is tomorrow's NFP, and it is a next-session risk, not a today gate.
Key levels: QQQ prior close 739.51 (fill target), prior high 745.07, prior low 739.46, SMA20 724.54 (the filter that decides eligibility), ATR(14) 9.70. Live zones: [739.51, 742.42] (tiny gap-up SHORT — the modal eligible path) ∪ [732.72, 738.54] (gap-down LONG — the aligned path); refused by rule [742.42, 746.30]; sub-floor (738.54, 739.51).
Invalidation / stand-down: stand down if the cash open prints in (738.54, 739.51) (sub-floor), in [742.42, 746.30] (gap-up refused by the trend filter — the modal outcome today), ≥746.30 or ≤732.72 (oversize either way — fill probability below 42% by construction), or if pre-market NQ volume runs >2× its 5-day average. A qualified gap must still print a drive and a ≥50% retrace; no drive = no trade. The 11:00 ET hard exit is unchanged. A sub-floor, refused-band or oversize block is not a near-miss and must not be scored as one — it is the cleared filter working.
Mechanism health (read-only): SPRT CONTINUE — n=17 W15/L2, LLR +2.168, cumulative +$1,898.25 net / +$1,906.75 gross, WR 88.2%, 0.777 from the CONSISTENT-WITH-BACKTEST boundary. First-loss watch N=2 — 09-03 and 09-28 are the same mechanism-level shape (a counter-trend fade against a one-way session drive, stopped inside 15 minutes, both LOW-VIX). Desk tripwire is N ≥ 3 → a filter/stop question to TEMPER, as a question. Armed, not triggered; no gate or parameter touched.
Null — p_trade-bucket calibration table (DELTA's ask; 53 scored plan days through 09-30, 15 fires, realised 0.283, mean p 0.244):
| p_trade bucket | N plan days | fires | realised freq |
|---|---|---|---|
| 0.00 | 10 | 0 | 0.000 |
| 0.01–0.09 | 1 | 0 | 0.000 |
| 0.10–0.14 | 2 | 0 | 0.000 |
| 0.15–0.19 | 6 | 3 | 0.500 |
| 0.20–0.24 | 6 | 1 | 0.167 |
| 0.25–0.29 | 7 | 1 | 0.143 |
| 0.30–0.39 | 6 | 2 | 0.333 |
| 0.40–0.49 | 10 | 6 | 0.600 |
| 0.50+ | 5 | 2 | 0.400 |
Read: broadly calibrated in aggregate (mean p 0.244 vs realised 0.283). 0.20–0.29 remains the over-priced zone (realised 0.143–0.167 over 13 days); 0.40–0.49 is the best-realised bucket (0.600 at N=10); the 0.30–0.39 bucket has realised 0.333 (N=6). Yesterday's 0.00 was a deterministic Tier-1 skip and scored Brier 0.000 — the honest price for a gate-closed session. Today's 0.32 sits in the 0.30–0.39 bucket, whose realised rate is 0.333 — I am pricing with the evidence, not lifting toward the 0.40+ buckets the up-lean does not support.
Setup present: UNLIKELY — p_trade 0.08, direction SHORT (mechanical, the stack is bearish-only), conviction LOW. One priced leg likely blocks on volatility, the other needs a sweep + a filter that is 0-for-12 live, and I explicitly do not call this "one gate away."
prior_high that closes back below in the same 5-min bar with RSI(2) > 88, then a bearish 1-min FVG within 15 minutes. One pre-open-unknowable gate (ADX), one geometric requirement, and a filter that has refused twelve consecutive attempts.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 low-probability forecast is not a reason to size down, and anticipatory NFP risk does not alter a standard that already assumes normal conditions. The same-sign stop guard voids any malformed stop (live since 2026-08-20). iwm_leg remains n=0 — the honest live WR anchor for IWM is ~56%, not the 73.3% headline.
Key levels: QQQ prior high 745.07 (sweep level, +0.75% from prior close 739.51); SPY prior high 769.41 (+0.93% from 762.34, but the leg is volatility-blocked); IWM unavailable. ADX band 18–32. Volatility ceilings ≈ 9.3 QQQ (passes ~0.60×) / 6.3 SPY (blocks ~1.14×) / unavailable IWM (1.25× the 20-day average range, cache basis). ATR(14) daily QQQ 9.70 / SPY 7.07 → the stop is the engine's own 2.0× ATR(5m) beyond the swept wick.
Invalidation / stand-down: stand down if the volatility precheck blocks QQQ (it passes with cushion, but a wider-than-expected revision would flip it) or SPY (already likely blocked), or the ADX precheck lands outside 18–32 on every leg, or a leg sweeps but never prints a close-back-below bar with RSI(2) ≥ 88 (0-for-12 live), or no leg reaches its prior high. The 11:30 ET hard close and the 2-loss daily cap are unchanged. I do not touch the 88 line.
Meridian — p_trade-bucket calibration table (DELTA's ask; 53 scored plan days through 09-30, 2 fires, realised 0.038, mean p 0.149):
| p_trade bucket | N plan days | fires | realised freq |
|---|---|---|---|
| 0.00 | 8 | 0 | 0.000 |
| 0.01–0.09 | 6 | 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 ≥0.20 have produced zero fires; both scored fires landed at 0.10–0.19. The desk's mean p of 0.149 against a realised 0.038 is the honest diagnosis of the over-pricing habit; 0.08 sits at the top of the 0.01–0.09 bucket (realised 0.000, N=6) and just below the 0.10–0.14 bucket (realised 0.100, N=10) — a small, evidence-anchored uplift, not a narrative one. (The scored table shows 2 fires vs. 3 in trades.csv — the 2026-07-10 QQQ fire predates the calibration file's 07-14 start; noted so the counts reconcile.)
Standing tolerance (DELTA's ask, 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 to the realised bucket frequency. Today the desk does not make that claim — it says one leg is volatility-blocked (SPY), the other needs a sweep plus a filter that is 0-for-12 live (QQQ), and the ADX gate is unknowable pre-open. Tolerance armed, not triggered — stated, not left to lapse.
DRAFT — not ratified status in both member files; (b) the "mutual exclusion" structural law stays retired and the sweep count stays 0-for-12; (c) the ADX-floor TEMPER question stays filed as a question with the in-band-but-no_sweep counter-evidence attached; (d) DELTA's p_trade-bucket tables are maintained and advanced through 09-30; (e) no miss is filed as "REGIME" — today's prices are set by gap geometry × the conditional fire factor (Null) and by the base rate with a small evidence-anchored uplift (Meridian).strategy_v7.md); standing ~6-month decay re-backtest next due ~2027-02-20. Wicker's feed/session re-run remains the desk's highest-priority open reconfirmation (own stack retired, not a today blocker).data-infra/regime/current.json — as_of 2026-09-22 (SEVEN sessions stale; directional only) — vix_regime LOW (<18), spy_drawdown_bucket <2%, spy_vs_sma50 above 50d; no charter indicator off baseline, none moving for the 5-session persistence window; consistent with the DRAFT Regime Charter; no Desk Review proposal.trades.csv / the ASSAY 1-min cache — IWM is marked unavailable. Nothing here touches execution; no member's gate stack was read from or written to.No trades taken.