desk: reversal date: 2026-09-29 forecasts: "null": # quoted deliberately — a bare null key parses as None in YAML p_trade: 0.42 direction: short conviction: med meridian: p_trade: 0.05 direction: short conviction: low
Briefing reference: /Users/dadbot/Desktop/ClaudeBod/projects/dadbrain/Analysis/briefings/2026-09-29-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 FIVE sessions stale — it contains none of 09-23/24/25/28/29 — so it is reported as read (not unavailable) and treated as directional only. That is now exactly the length of the charter's persistence window: a file five sessions behind cannot discharge a 5-consecutive-session persistence check on its own, and I flag it 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.04, still LOW (<18), −0.03 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. Two things I am watching rather than acting on: SPY is now sitting essentially ON its 20-day SMA (765.49 vs 765.15, +0.04%) — a continued bleed puts spy_vs_sma50 itself at risk of moving off baseline; and the file's staleness above. 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.
One clause-2 note, because today's shape is the one it names. Yesterday the draft charter's clause-2 exposed case fired live for the first time (N=1): a persistent gap-down selloff and Null's long fade into it, −$189.84. The standoff is unresolved overnight and a second gap-down is a live path today, so the exposure is not past — but the cleared filter governs and I invent no sit-out. Watch and report only.
Setup present: YES on the modal path — p_trade 0.42, direction SHORT (tiny gap-up fade), conviction MED. The pass window today is wide relative to yesterday's geometry and the pre-market tape is flat, so the question is not "is there a cohort" but "which eligible cohort the open lands in."
strategy_v2.md rule 3 permits gap-DOWN fades (long), and rule 3's tiny-gap exception permits gap-up < 0.30× ATR — so a small up-open in [736.55, 739.52] is eligible as a SHORT fade. Only gap-up ≥ 0.30× ATR is refused by rule.gap_ratio since 07-13: 45 sessions, 16 fires (0.356) — sub-floor 7/0, tiny 14/11 (0.786), in-band 15/5 (0.333), oversize 9/0. Those rows are P(gap gate passes), not P(trade): since 07-14 there have been 19 gap-gate passes — 14 fires, 5 no_signal:pattern blocks → conditional fire rate ≈ 0.74. Today's number is P(gap gate passes) × 0.74. With the pre-market tape flat-to-slightly-up and the pass window covering any up-open to +0.40% plus any down-open ≥ 0.13%, I set P(pass) ≈ 0.57 — discounted from that arithmetic because the one QQQ-useful read is a single noisy snapshot, the band that blocks is narrow and sits right on the modal, and yesterday's open came in smaller than the futures bias implied. 0.57 × 0.74 ≈ 0.42 → priced 0.42.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 headline-sensitive second day of a geopolitical standoff.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 — CCL/KMX/UEC report, none on the cleared named 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 pass window; not downsized for HIGH headline risk — Null's cleared rule set carries no headline skip and I am adding none.
Key levels: QQQ prior close 736.55 (fill target), prior high 741.41, prior low 731.65, SMA20 721.89 (the filter that decides eligibility), ATR(14) 9.91. Live zones: [736.55, 739.52] (tiny gap-up SHORT — the modal path today) ∪ [729.61, 735.56] (gap-down LONG — the aligned path); refused by rule [739.52, 743.49]; sub-floor (735.56, 736.55).
Invalidation / stand-down: stand down if the cash open prints in (735.56, 736.55) (sub-floor), in [739.52, 743.49] (gap-up refused by the trend filter), ≥743.49 or ≤729.61 (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: 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; opposite gate configurations). Desk tripwire is N ≥ 3 → a filter question to TEMPER, as a question. Armed, not triggered. No tweak.
Null — p_trade-bucket calibration table (DELTA's ask; 51 scored plan days, 15 fires, realised 0.294, mean p 0.246, mean Brier 0.174):
| 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 | 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 | 9 | 6 | 0.667 |
| 0.50+ | 5 | 2 | 0.400 |
Read: broadly calibrated in aggregate (mean p 0.246 vs realised 0.294); 0.20–0.29 is the over-priced zone (realised 0.143–0.167 over 13 days) while 0.40–0.49 is the best-realised bucket (0.667 at N=9). Today's 0.42 sits where the evidence supports it. The 09-28 fire scored Brier 0.36 = (1 − 0.40)² — the arithmetic of a correct fire-call; p_trade forecasts firing, not P&L.
Setup present: NO — p_trade 0.05, direction SHORT (mechanical, the stack is bearish-only), conviction LOW. The geometry is worse than yesterday's in the one dimension that matters, the volatility gate now likely blocks the primary leg, and the last filter is 0-for-12 live.
no_sweep on all three legs. This is the 2026-06-18 lesson in its unfavourable form: "reachable in principle" is not "likely to be reached."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. Two gates to clear, then 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 no-trade forecast is not a reason to size down, and HIGH headline 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 anchor for IWM is ~56%, not the 73.3% headline.
Key levels: QQQ prior high 741.41 (sweep level, +0.66% from prior close 736.55); SPY prior high 769.53 (+0.53% from 765.49); IWM unavailable. ADX band 18–32 (yesterday's reads: QQQ 23.1 / SPY 18.3 / IWM 28.8, all inside). Volatility ceilings ≈ 9.03 QQQ / 6.24–6.32 SPY / unavailable IWM (1.25× the 20-day average range, cache basis through 09-24). ATR(14) daily QQQ 9.91 / SPY 7.01 → 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 all legs (QQQ is the one most likely to block today, SPY is the thin one, IWM is unknown), 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 modal outcome, since the levels sit 0.5–0.7% above a near-flat open. 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; 51 scored plan days, 2 fires, realised 0.039, mean p 0.154, mean Brier 0.062):
| p_trade bucket | N plan days | fires | realised freq |
|---|---|---|---|
| 0.00 | 7 | 0 | 0.000 |
| 0.01–0.09 | 5 | 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.154 against a realised 0.039 is the honest diagnosis of the historical habit; 0.05 is where the evidence puts it. (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 alone. Today's plan does not claim "one gate away" — it says the geometry points away from the levels, QQQ's volatility gate likely blocks, and the last filter is 0-for-12. Tolerance armed, not triggered — stated, not left to lapse.
no_sweep with the levels 0.5–0.7% above a near-flat open; the upside tail is a bounce into QQQ 741.41 printing RSI(2) ≥ 88 (0-for-12 live).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, sharpened by 09-28 being the first live session where the precheck blocked no leg and no_sweep still bound on all three; (d) DELTA's p_trade-bucket tables are maintained and advanced through 09-28; (e) Null's forecast is conditioned on the gap-band arithmetic × the pattern-gate factor, not on narrative.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 (FIVE 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 — whose last cached session is 2026-09-24, so QQQ/SPY ceilings are computed on the cache's 20-day average through 09-24 against the briefing's 09-28 ranges, and IWM is marked unavailable. Nothing here touches execution; no member's gate stack was read from or written to.No trades taken.