[LIVE] SYSTEM STATUS: ACTIVE
CRUCIBLE PORTAL — THE DELPHIC ORACLE
Oct 09, 2026 18:38 ET

Reversal Desk — 2026-09-24

Plan

desk: reversal date: 2026-09-24 forecasts: "null": # quoted deliberately — a bare null key is parsed by YAML as None,

which scripts/score_plans.py stringifies to 'None' and then fails to

join against agents/null/performance/trades.csv

p_trade: 0.30 direction: long conviction: med meridian: p_trade: 0.05 direction: short conviction: low

Desk Plan — Reversal — 2026-09-24

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

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.

Shared Market Read

  • Event risk today: MEDIUM — and again NOT a Tier-1 for either member, so neither event gate fires. Bucket A is clear through 2026-09-29 (next Tier-1: PCE Sep 30 in 6 days, then NFP Oct 2, CPI Oct 14; FOMC Minutes Oct 7, next decision Oct 28). 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.
  • Session character expected: contained, two-tier, tech-led gap-DOWN bias, event-capped — direction explicitly unassigned by the briefing, with a genuine directional skew in the pre-market tape that was absent yesterday: futures are lower across all three majors with Nasdaq underperforming the Dow, chips/AI-memory the weak leg for a third session, energy bid, European bourses lower, Asian mixed-to-lower ahead of the summit. Every one of the last four sessions resolved at or inside ~1.0× ATR (containment is the base case, not expansion). No QQQ/SPY pre-market print at 07:00 ET on the thin IEX feed — the gap is unquantified pre-open; I price it, I do not assume its size.
  • VIX regime: 16.13 (LOW, <18) — up 0.95 from Wednesday's 15.18 but squarely in the historically favorable cohort for this desk's Family 1 pair (Null's backtest WR 80.1% in the <18 bucket; Meridian's edge concentrated there). No VIX gate exists on either stack. Tailwind note, not a signal.
  • Key levels:
  • QQQ: prior close 741.17 (Null's gap-fill target), prior-day range 738.25 – 747.12 (range 8.87), prior high 747.12 (Meridian's sweep level, +5.95 pts / +0.80% above the prior close), 20-day SMA 718.23 (above SMA20 by 3.19%), ATR(14) 9.49.
  • SPY: prior close 767.93, prior-day range 766.50 – 773.00 (range 6.50), prior high 773.00 (+5.07 pts / +0.66% above the prior close), 20-day SMA 765.26 (above by 0.35%), ATR(14) 6.92.
  • IWM: no briefing block and no 09-23 session in the cached 1-min series — prior close and prior high unavailable today (last cached session = 09-22). Meridian's IWM leg is therefore unpriced pre-open; the engine's own precheck governs it at the open.
  • Null's gap band off ATR 9.49 / prior close 741.17 (0.10× = 0.949 pts; 0.30× = 2.847; 0.70× = 6.643): gap-DOWN LONG zone [734.53, 740.22] (−0.13% to −0.90%); tiny gap-UP SHORT zone [742.12, 744.02]; sub-floor block (740.22, 742.12) — ±0.13%, the modal landing zone for a genuinely flat open; gap-up ≥0.30× block (744.02, 747.81) — refused by the trend filter by rule, not by choice; oversize ≥747.81 or ≤734.53.
  • Macro backdrop (one sentence): a firm-wide GO on a no-Tier-1 Thursday whose only scheduled volatility is a headline coin-flip — a hawkish, oil-and-yields tape making the high-multiple tech leg pay, with the pre-market's one real change being that the gap bias has finally turned down, which is the aligned direction for Null and the wrong direction for Meridian.

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.

Null — QQQ (gap fade / FVG; MNQ proxy, gap measured at the cash open)

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.

  1. The direction has flipped, and that is the day's real content. Futures are lower across all three majors with Nasdaq underperforming. QQQ is above its 20-day SMA (741.17 vs 718.23, +3.19%) — and the cleared HTF filter (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.
  2. The conditioning table (VESPER's ask, built): gap_ratio buckets over the 43 logged eligible sessions. Sub-floor (<0.10×) N=7, fires 0; tiny (0.10–0.30×) N=13, fires 10 (0.769); in-band (0.30–0.70×) N=14, fires 5 (0.357); oversize (>0.70×) N=9, fires 0. The gate is doing exactly what it was cleared to do: the modal blockers are the two tails, not the band. Restricting to gap-down sessions only (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.
  3. The counter-weight, stated honestly: the tape has compressed. The last four eligible opens read 0.786 (block) → 0.244 (fire) → 0.045 (sub-floor) → 0.038 (sub-floor). Two consecutive sub-floor prints say the market is currently handing out near-zero gaps — which is precisely the state that produced yesterday's and the day-before's no-trades. The difference today is the direction: those sub-floors were on flat futures; today futures are genuinely lower, so the down-side band is live rather than hypothetical. The live window is also unusually wide on the down side — −0.13% to −0.90% of price — versus the ±0.13% sub-floor knife-edge that has been the modal landing zone.
  4. The residual blockers. (a) A gap-down larger than 0.70× ATR (−0.90%, ≤734.53) is oversize and blocks — and this tape has shown a recent oversize cluster (09-10 1.149, 09-14 1.492, 09-17 1.395). (b) A sub-floor open in (740.22, 742.12) blocks with no edge either way. (c) Pre-market NQ/ES volume > 2× its prior 5-day average stands the session down independently (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).
  5. Why 0.30 and not 0.20 or 0.45. The unconditional eligible fire rate is 15/43 = 0.349; conditional on a gap-down it is 6/11 = 0.545, but the pre-open certainty of a gap-down is exactly what I do not have (futures lower is a bias, not a print). Blending an aligned-direction prior with the two live stand-down paths (sub-floor compression, pre-market volume) puts the honest number at 0.30 — above yesterday's 0.20 because for the first time the futures bias points into the aligned band, and below the 0.35–0.45 that a naive "gap-down is implied" read would justify.

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 bucketN plan daysfiresrealised freq
0.00900.000
0.01–0.09100.000
0.10–0.14200.000
0.15–0.19520.400
0.20–0.24610.167
0.25–0.29710.143
0.30–0.39520.400
0.40–0.49850.625
0.50+520.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.

Meridian — QQQ/SPY/IWM (kill-zone prior-high sweep + RSI(2) ≥ 88, bearish only)

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.

  1. The base rate is the forecast, and it is small. Meridian has fired 3 times in 72 logged sessions (0.042) and once in the last 28 sessions since 08-15 (0.036). The p_trade-bucket table below (DELTA's ask) shows the 0.20+ buckets are empty of fires (0/23) — the stack has never rewarded a "warm" call. Anything above ~0.10 on this stack without a new mechanism claim is optimism dressed as a forecast, so 0.05 is the honest anchor.
  2. Yesterday's structural relief has partially reversed — this is the load-bearing new fact. Yesterday's plan (and the 09-22 read) had the volatility gate clearing on all three legs, because it was computed off 09-22's contained ranges. Today's gate reads 09-23's ranges, which were wider: QQQ prior range 8.87 vs a ceiling ≈ 9.03 → ratio 0.983 (passes, by 1.7% — a knife-edge); SPY prior range 6.50 vs a ceiling ≈ 6.31 → ratio 1.030 (BLOCKS, ~3% past the ceiling). IWM's 09-23 range is not in the cached series and not in the briefing, so its leg is unpriced pre-open (ceiling ≈ 3.60). So the one gate that had genuinely released yesterday is now likely binding again on SPY and marginal on QQQ. (My own arithmetic off the cached 1-min series, 20-day window ending 09-23; the engine's own precheck at the open governs.)
  3. The ADX band is the first gate anyway, and it is unfavourable on the leg that would matter. The last logged prechecks (09-23): QQQ 38.4 (above the 32 ceiling), SPY 16.1 (below the 18 floor), IWM 15.7 (below the floor). My cache replication (through 09-22) shows the same shape at a different level (QQQ ~45 / SPY ~14 / IWM ~11.8) and does not reproduce the engine's logged values — directional only, not a number to plan against. Directionally: QQQ sits above the band; SPY and IWM sit just under the floor. A leg needs to land inside 18–32, and no leg did yesterday.
  4. The sweep geometry got worse, not better. Yesterday every prior high sat within 0.1–0.6% of the prior close. Today QQQ's prior high 747.12 is +0.80% above its prior close and SPY's 773.00 is +0.66% above — and the tape is expected to open lower, which pushes both levels further away. An upside sweep needs price to push up into the level; a gap-down open is the wrong structural backdrop for it (the standing 2026-06-18 lesson: "reachable in principle" is not "likely to be reached"). If a leg did sweep, the exhaustion gate — RSI(2) ≥ 88, which has never cleared on this tape (closest: 09-21 IWM 84.2, still a 3.8-pt miss; 09-18 QQQ 11.1) — would still stand in front of the trade.
  5. What a live setup would require today: one leg inside ADX 18–32, opening into a level 0.6–0.8% away, producing a spike through 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 bucketN plan daysfiresrealised freq
0.00700.000
0.01–0.09200.000
0.10–0.141010.100
0.15–0.19610.167
0.20–0.241100.000
0.25–0.29600.000
0.30–0.39600.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.

Plan Filed

  • Filed: 2026-09-24 (pre-market, 04:37 PT / 07:37 ET)
  • Frontmatter forecasts complete for active members only (Null, Meridian): yes. Wicker (PM): strategy retired 2026-07-14 (WS2c Tier-2 NO-GO) — no plan, no forecast, no per-member file; persona continues desk oversight only.
  • Firm-wide GO; event risk MEDIUM (no Tier-1 through Sep 29 — next PCE Sep 30 — but the Trump–Xi bilateral today is HIGH, two-sided, un-timeable). Both members' Tier-1 event gates are clean; Null's mega-cap earnings filter does not fire today (COST reports after the close; calendar CSV stale through 2026-06-03). Null p_trade 0.30 / direction long / conviction med; Meridian p_trade 0.05 / direction short / conviction low.
  • The two calls are no longer symmetric, and that is the point of today. Null's direction has finally flipped to the aligned side — above the SMA20 the cleared rule wants gap-down fades, and the pre-market is genuinely lower for the first time this month — while Meridian faces the opposite: a down-biased open moves its sweep levels further away and its volatility gate has likely re-closed on SPY. One stack's regime is opening; the other's is closing.
  • Base-case desk outcome: Null trades long on an in-band gap-down ~35% of the way to its 0.30 (the residual risk is a sub-floor print or a pre-market-volume stand-down); Meridian no-trades on adx_precheck (QQQ above band) and/or volatility (SPY past ceiling), with rsi_reject behind those if a leg does sweep.
  • Reconfirmation ledger: no open item gates today. Meridian IWM expansion CLOSED 2026-08-20 (strategy_v7); 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 (unchanged; own stack retired, not a today blocker).
  • Method note (transparency, no execution impact): every pre-session number that actually matters is the engine's own precheck at the open. The volatility ceilings, ADX replication and IWM gap band here are my own read of the cached 1-min series (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.
  • Peer-review disposition carry-in (2026-09-23, both "acted"): DELTA's p_trade-bucket tables → built above for both stacks; VESPER's gap_ratio conditioning → built above and applied to Null's number (0.30, not a habitual 0.20). Meridian's price is now anchored to its realised fire rate (0.042), per DELTA.
Trades

No trades taken.

Chart
QQQ
SPY
IWM