Briefing reference: /Users/dadbot/Desktop/ClaudeBod/projects/dadbrain/Analysis/briefings/2026-09-25-pm.md Scanner watchlist: intelligence/2026-09-25-watchlist.md (07:20 ET, firm-wide GO) PM: SLACK (sole member)
data-infra/regime/current.json (ASSAY, status: ok, as_of: 2026-09-22) — 3 sessions stale, read as reported: spy_day: flat · spy_open_to_close_pct: −0.08 · spy_vs_sma50: above 50d · spy_drawdown_bucket: <2% (spy_drawdown_pct −0.58) · vix_regime: LOW (<18) (vix 14.21).
Staleness named, not papered over: the file's VIX (14.21) is three sessions behind the briefing's live print (15.36, prior close 15.67). Both sit in the LOW (<18) bucket, so the regime label is unchanged by the lag even though the level moved ~1.15 points. The next refresh should carry 09-23 → 09-25.
Charter consistency — consistent, with one indicator moving, and it is my own. Of the indicators named in my ratified ## Regime Charter (desk CLAUDE.md): spy_vs_sma50 = above 50d and spy_drawdown_bucket = <2% are the live state the charter already describes — nothing moving (and note the honest asymmetry the charter already records: the above-50d bucket is the one with N=42, the inferential one, and it is the one I am sitting in). vix_regime = LOW is the bucket in which my gate is silent by design; a step up the VIX ladder is what the charter says I want, not a threat. The indicator genuinely moving is my own: the rolling exceedance rate of the ±4.9709% gate — 0.00× (trailing-60) and 0.29× (trailing-250) the dev rate, re-measured this session on my own verified pipeline. That is the direct test of charter item 4's untested: current validity of the gate, and for a third consecutive measurement it comes back short.
Today's plan — stand flat, change nothing — is consistent with the charter. Persistence rule check (5 consecutive sessions in the new state): satisfied many times over — the low-exceedance state has held for the whole live run. So this belongs in a proposal through the Desk Review shape (next monthly review), not in a unilateral move here. Watch and report only: I change no gate, no sizing, no posture, no script on a regime signal.
load_daily_through(), 2,194 daily rows through 09-24) rather than borrow or manufacture a print: IWM 09-24 close 281.67 (open 281.33, low 279.045, high 282.24 — a −0.13% session and a new 20-session low close); prior closes 282.03 (09-23), 287.21 (09-22), 285.62 (09-21), 284.18 (09-18), 285.33 (09-17), 283.88 (09-16). Trailing-20 closes 281.67–299.87, high 300.39; trailing-60 closes 281.67–305.01, high 305.18 → live structural refs ~$281 floor / ~$300 ceiling, the floor having ticked down again with yesterday's close. Reference legs: SPY 767.29 / QQQ 741.09 (09-24 closes).Cycle phase today: no position open — day 0 of a cycle that has not started. Today is not an open day, not a hold day, and not a close day. It is a no-signal day; today's action is to remain flat and log no_trade:no_signal.
Setup present: no. No trade expected — no cycle in flight, no exit due, and the entry leg is mechanically excluded at today's open. p_trade 0.0, direction none, conviction high.
State-machine leg, stated plainly (this is the leg the desk is built to report). agents/slack/state/position_ledger.json reads {"open_position": null}. Two of my three branches are dead on arrival: nothing is held, so no hold-silently marker today, and nothing to close, so no close-and-log due — no day-1..5 counter is running because no cycle was ever opened. The only branch that can log a real trade is an entry at today's open, gated by the run settling at the last completed close — the run ending 09-24's close. Measured on my own pipeline this session: −1.2827% against the ±4.970946% flag — 3.69pp short. Not a graze in either direction; the up leg is nowhere near either. Today's open is closed mechanically, and my call is exact rather than probabilistic: 0.0.
Yesterday's call, scored honestly. The 09-24 plan bound the roll and predicted −1.16% for a flat close (282.03) at the run ending 09-24's close, and called "no flag settles." IWM printed 281.67, so the run settled −1.2827% — the direction and the no-trade call were right, and the roll bound landed 0.12pp off. The technique I committed to on 09-11 (bound the roll, not just the day's move) is now the thing doing the work, and I will keep using it.
What would have to happen at today's close to matter at all. An entry at Monday 09-28's open (which would exit the close of 10-02) needs the completed run through today to cross. The window's base rolls down from 285.33 (09-17) to 284.18 (09-18), so the dropped session pushes the reading ~0.40pp shallower before a tick of today's tape prints: a flat close at 281.67 already reads −0.8832%. An up-flag needs a close ≥ 298.31 — a +5.91% session; a down-flag needs ≤ 270.05 — a −4.12% session. On a contained, event-capped, VIX-15 tape with four straight sub-ATR sessions behind it, neither is available. My call: no flag settles at today's close either. And I state the mechanic rather than the level, because that is the lesson: the reading changes on window composition — a large session rolling off the back has travelled it 2–3pp on a sub-1% tape.
Sizing vs. event risk: nothing to size today, and no override exists to apply. With p_trade 0.0 there is no notional, no entry window and no exit to adjust. The locked parameters stand unchanged: 15% of equity as fixed notional (≈$3,750 on the $25K account), single position at a time, no stop-loss, no profit target, no early exit — the 5-trading-day hold is fixed, not a design choice I get to revisit. Today's MEDIUM event risk has no purchase on the size and no role in the exit (strategy_v2.md Rule 6). Where I once called event-day behaviour "inside my cleared envelope," I now say it precisely, per my 09-23 disposition: 9 of the 68 validated trades entered on an event day — a small sample, 6 of them shorts, 5 of those 6 winning — and the worst-case figure (−$36.20) comes from a window that almost certainly holds no hold-spanning tail event. The 15% is calibrated to the March 2020 COVID-week tail (−19.66% of notional on a long ≈ −3% of equity), and that is the window I name. Two commitments from the 09-23 peer review remain open and I am carrying them, not citing them: the overnight-vs-intraday P&L decomposition by direction (owed before any short flag settles), and no citation of the LOW-VIX win rate as reassurance while the gate is silent — which is exactly why the LOW-VIX paragraph above states the regime honestly (it suppresses me) instead of quoting the bucket's PF. All of it is moot today: I am flat because I am unflagged, not flat because I am frightened.
Session-character fit: poor, and that is precisely why nothing fires. Containment, two-tier rotation, direction-unknown, VIX 15.36, no US print at the open, a narrow chip-led bid that is catalyst-driven and reversible rather than a sustained small-cap impulse — none of it manufactures a 5-day ±4.97% extent in IWM. This is now 59 consecutive logged no-signal sessions (07-02 → 09-24 unique; the duplicate 08-07 row stays flagged for cleanup). The closest Phase 3 reading remains 09-16's −3.21% (1.76pp short — a single isolated brush that receded within two sessions); the most recent settles are −0.84% (09-18) → −1.68% (09-21) → −0.77% (09-22) → −0.65% (09-23) → −1.28% (09-24). No cluster in either the −4.0%→−4.97% or the +4.0%→+4.97% band. SPRT at n=0, W0/L0, LLR +0.000, both boundaries (±2.944) untouched. I want the flag; I do not expect it. The briefing's own weekend-gap flag cuts the same way for me: an Iran headline landing after the European close cannot be traded today — only gapped through on Monday, which for a 5-day-hold stack is a carry risk, not an opportunity, and one that only matters after a flag, which I do not have.
Key levels and invalidation. The binding level is the ±4.970946% 5-day run threshold, full stop; every other level is context. Measured structural refs: ~$281 floor / ~$300 ceiling (trailing-20 closes 281.67–299.87, high 300.39; trailing-60 high 305.18). A decisive break of the floor is the realistic route to a down-flag (→ contrarian long), for which the overnight/intraday decomposition is owed first; a genuine small-cap catch-up toward $300 would raise the first live up-flag of the quarter (→ contrarian short). Invalidation for today: none applies — flat, no entry reachable, no scheduled exit, nothing held into the durable-goods block, the Michigan final, or the weekend Iran clock.
Rolling exceedance — the pre-committed test I owed, third measurement. Per my disposition of House Mneme's 09-23 critique (and charter item 5), I no longer say "absence of setups is not evidence of degradation" — it was never tested, and now it is. Measured on my own verified pipeline with the threshold held at 4.970946%: dev-period (2020–2023) exceedance rate 15.01% (1,006 windows); trailing-60: 0 of 60 → 0.00% (0.00× the dev rate); trailing-250: 11 of 250 → 4.40% (0.29×). The caveat I will not bury: overlapping 5-day windows are autocorrelated, so the trailing-60 set carries roughly 12 effective independent draws, not 60 — 0/60 is not the 1-in-17,000 event a naive binomial implies. Even at ~12 effective draws the expected count is ~1.8 and I observed 0. The honest shape: suggestive, not conclusive, and short of the dev rate on the third consecutive direct test. That is a finding, not a comfort.
Proposed trigger — to TEMPER, not adopted unilaterally. Under my charter the persistence rule (5 consecutive sessions in the new state) is satisfied — the low-exceedance state has held for the whole live run — so this belongs in a Desk Review shape, not a unilateral move. I propose: request a recalibration review when the trailing-250 exceedance rate is below one-third of the dev rate (below 5.00%) and the trailing-60 rate is at or below 2.50%, sustained for 60 consecutive sessions. On today's measurement the first condition is already met (4.40%) and the second is met (0.00%), so under the proposed rule the review would be requested. I am not filing it inside a daily plan — the proper shape is the next monthly Desk Review — and I am changing nothing: no gate, no sizing, no posture, no script. Stating the trigger so it is decidable rather than narrative is the entire point.
What I'm watching: (1) the run settling at today's close — the only number that matters, gating a possible 09-28 entry — bounded through the roll: from −1.2827% the base falls to 284.18, a flat close already reads −0.8832%, and the flag needs a +5.91% or −4.12% single-session close; my call: no flag. (2) the ~$281 floor — yesterday's close (281.67) is a new 20-session low, and a decisive break is the only realistic route to a down-flag (→ contrarian long), which is the first live flag of the quarter and the one that obliges the decomposition first. (3) the Iran/Hormuz clock into the weekend — un-timeable and two-sided; a rejection re-arms the crude/yield squeeze and is the most plausible source of a small-cap impulse, but it lands as a Monday gap, and I hold nothing into it. (4) my own exceedance rate — whether the next trailing-250 refresh moves toward or further from the dev rate; that is the only thing in this stack's live history that can falsify a silent gate.
slack: p_trade 0.0, direction none, conviction high)no_trade:no_signal (blocked=run_magnitude; gating run −1.2827% vs ±4.970946% = 3.69pp short; flat book, no 5-day cycle in flight — not an open/hold/close day; next entry window = Mon 09-28's open only if today's close crosses ±4.97%, which would exit the close of 10-02)## Regime Charter — no posture change. Carrying the rolling-exceedance proposal to TEMPER via the next monthly Desk Review; nothing executed.No trades taken.
Cadence rule: WS5 weekly Friday floor (amended 2026-08-21 — House Slack reflects every Friday regardless of activity, plus same-day whenever a position opens or closes). Trigger fires — this is the fifth reflection under the amended cadence. Last reflection 2026-09-18; trading sessions since: 09-21, 09-22, 09-23, 09-24, 09-25 = 5. No position events: agents/slack/state/position_ledger.json reads {"open_position": null} for the entire window and for all of Phase 3 to date — no open, no hold, no close. Today's run: no capacity-ratio signal, no position-state change — a flat measurement day.
Single-member desk. Per the desk-reflection convention for House Slack, the Cross-Member Synthesis section is omitted (nothing to pool); the Per-Member Binding Gate Analysis below carries the full analytical load.
| Member | Trades (period) | WR (cumulative, Phase 3) | Net P&L (period) | Net P&L (cumulative) | SPRT LLR | SPRT status |
|---|---|---|---|---|---|---|
| SLACK (IWM, 5-day fixed hold) | 0 — flat, no signal | — (n=0) | $0.00 | $0.00 | +0.000 (n=0, W0/L0) | CONTINUE |
Desk total for the session: 0 trades, $0.00 realized, flat book. Every session in the window logged no_trade:no_signal with blocked=run_magnitude. Execution integrity clean: 5/5 daily cycles ran, 5/5 no-trade rows logged, ledger unmodified, sprt.json updated through 2026-09-25 with n=0 / LLR +0.000 / both boundaries ±2.944 untouched.
Five sessions since the 09-18 reflection (Sep 21 → Sep 25) — zero signals, zero trades, zero position events. The ledger never left {"open_position": null}. Every session blocked on the desk's single entry gate, run_magnitude: IWM's 5-day close-to-close return versus the fixed ±4.97% threshold (85th-percentile dev calibration 2020–2023, held fixed on holdout).
The window's gating readings, as logged in agents/slack/performance/trades.csv (prior_5d_run — the value that gates that session's open):
| Session | Gating 5-day run | Gap to ±4.97% | Character / event |
|---|---|---|---|
| 09-21 | −1.68% | 3.29pp | Post-witching containment; VIX drifting lows |
| 09-22 | −0.77% | 4.20pp | Quiet, two-tier rotation |
| 09-23 | +0.69% | 4.28pp | First positive reading of the window; VIX ~14.2 |
| 09-24 | −0.65% | 4.32pp | Containment continues; 10-year pressing 5.2%, oil >$100 |
| 09-25 | −1.28% | 3.69pp | Week closes on the crude-retreat relief bid; VIX 14.87 LOW |
The load-bearing finding this period is a negative one, and it is decidable: the distance to the threshold is not trending anywhere, and it is not close. The window's gating readings sat inside ±1.7% — every one of the five at least 3.29pp short of the flag. The most recent week did not creep toward the band; it moved away from it. The closest this desk has ever come remains 09-16's −3.21% on FOMC day (1.76pp short) — a single isolated print in the prior window that receded to −0.84% within two sessions. Against that, the last five gating readings are compressed to a ±1.7% band. There is no cluster in either the −4.0% → −4.97% or the +4.0% → +4.97% band; nothing has ever entered the graze band in 60 logged sessions.
Binding gate, stated plainly. run_magnitude is the entire entry gate (single gate by design; capacity_ratio is a diagnostic only, per strategy_v2.md). With the book flat and no 5-day cycle in flight, the state machine had exactly one live leg — an open-from-prior-flag entry — and it was never reachable. This gate has now been the binding gate for 60 consecutive logged sessions (07-02 → 09-25), which is the question the reflection owes an answer to.
Does 60 consecutive bindings say regime or calibration? The calibration test is repeated same-gate grazing — near-misses that cluster against one threshold. The near-miss data says the opposite of grazing: readings scatter 0.65–1.68pp in the current window and 1.76–4.32pp across the recent windows, with one isolated brush at 1.76pp that did not persist. A mispositioned threshold gets grazed repeatedly; this one gets a wide miss. So the gate itself is not the calibration question — it is doing exactly its job, keeping this desk out of a tape that never offered the sustained 5-day extremity it is built to trade. TEMPER's pre-registered 2026-07-24 read holds, now confirmed from the front for the third window running (CPI on 09-11, FOMC on 09-16, and now a whole contained week through 09-25): range-bound, low-vol IWM makes ±4.97% structurally unreachable. Expected behavior, not edge degradation.
The candid part, and it is the one thing in this stack that is genuinely calibration-shaped. A silent gate is only honest if something can ever falsify it, and for this desk the SPRT cannot (n=0 never moves). Per my disposition of House Mneme's 09-23 peer review — I dropped "absence of setups is not evidence of degradation" because it was never tested — I owe a direct test, and I have now run it a third consecutive time on my own verified pipeline with the threshold held at 4.970946%:
The caveat I will not bury: overlapping 5-day windows are autocorrelated, so trailing-60 carries roughly 12 effective independent draws, not 60 — 0/60 is not the 1-in-17,000 event a naive binomial implies. Even at ~12 effective draws the expected count is ~1.8 and I observed 0. The honest shape is suggestive, not conclusive — and short of the dev rate on the third consecutive direct test. That is a calibration-shaped finding, and it is why it belongs in a TEMPER conversation through the Desk Review shape, not in a narrative "regime" label I get to renew every Friday.
What I did with the peer-review critiques, self-audited. Both asks against this desk are live and I am carrying them, not citing them. House Mneme's ask (add a rolling exceedance line and a pre-committed trigger) is now maintained: the exceedance line is measured and reported above, and the plan states a decidable trigger — request a recalibration review when the trailing-250 exceedance rate is below one-third of the dev rate (<5.00%) and the trailing-60 rate is ≤2.50%, sustained for 60 consecutive sessions. On today's measurement both conditions are met, so under the proposed rule the review would be requested. I am not filing it inside a daily plan and I am changing nothing — the proper shape is the next monthly Desk Review; stating the trigger so it is decidable rather than narrative is the entire point. House Vesper's ask (decompose the 68 validated trades into overnight vs. intraday P&L by direction, before any short flag settles) is still owed, still carried — no short flag has settled, so nothing is exposed, but I will not let a fourth window pass without it once a flag is near. I also softened the event-day language as dispositioned: instead of "inside my cleared envelope," the plan now says "9 of the 68 validated trades entered on an event day — a small sample, 6 of them shorts — and the worst-case figure comes from a window that almost certainly holds no hold-spanning tail event."
Forecast layer. 5/5 desk plans and 5/5 member plans filed; 5/5 calibration rows in intelligence/plan-calibration.csv (09-21 → 09-25), all Brier 0.0 (p_trade 0.0 / direction none / conviction high). No honest lean was warranted on any of the five days: the run never came within 3.29pp of a cross, and the plans refused to invent one. Script-is-arbiter honored 5/5.
The one soft spot, restated because it has now been the soft spot for two windows. My plan narrative keeps framing the near-miss as a level ("from here, the down leg needs ~3.7pp") when the day-over-day driver is window composition — a large session rolling off the back of the 5-day window has travelled the reading 2–3pp on a sub-1% tape. On 09-25 the plan applied the fix itself (it bounded the roll: from −1.2827% the base falls to the 09-18 close of 284.18, so a flat close already reads −0.88%, and a flag would need a +5.91% or −4.12% single-session close). That is the technique I committed to on 09-11 finally doing the work in the plan rather than in hindsight. Bound the roll, not just the day's move — no gate or mechanism issue, forecasting-narrative only.
| Metric | Value |
|---|---|
| Trades this window | 0 |
| Net P&L this window | $0.00 |
| Cumulative trades (Phase 3) | 0 |
| Cumulative net P&L (Phase 3) | $0.00 |
| Position | Flat — open_position: null, no 5-day cycle in flight |
| SPRT | CONTINUE — n=0 (W0/L0), LLR +0.000; boundaries ±2.944 untouched |
No positions to manage, no entry window reachable, no scheduled exit due. Nothing was held across the week. The daily cron ran clean on all five sessions; sprt.json updated through 2026-09-25.
The window carried no Tier-1 information event — the planned shape was a contained, event-capped tape, and that is what arrived. The week's single variable was crude above ~$100 and the 10-year near a 19-year high, and both eased together into the Friday close on Iran's conditional seven-day Hormuz-reopening proposal (Brent −2.8% to $97.44). Today's two macro reads were subordinate exactly as the AM predicted: durable goods ≈0.0% against a −0.3% consensus (a modest beat), and the Michigan final revised up to 48.1 from the 47.8 prelim. The EOD briefing graded the morning narrative STUCK — the regime read, driver attribution, containment call, event-risk rating, and the direction/polarity refusal all held; only the Michigan revision direction and a Costco read were off, neither changing the session's character.
For this desk the events were gate-relevant only through IWM's 5-day run, and the outcome was a non-event: no flag settled, so no hold-spanning exposure was ever taken. Concretely, the session closed broad and mildly up (SPY +0.53% to 771.35, QQQ +0.45% to 744.44, Dow-led; both legs sub-ATR at 0.87× and 0.65×), VIX 14.87 — LOW (<18), the regime that suppresses exactly the extremity that would create my setup. I am flat because I am unflagged, not because I am frightened; the 5-day hold has no event-day override by design (strategy_v2.md Rule 6), and since no flag settled there was nothing for the calendar to touch. Forward: next Tier-1 is PCE Sep 30 (NFP Oct 2, CPI Oct 14) — 3 trading days out; next-session event risk LOW/NONE. No desk adjustment; the COVID-tail-calibrated 15% sizing exists for exactly the hold-spanning class the mechanism is built to run. Monitoring only.
run_magnitude — IWM's 5-day close-to-close return versus the fixed ±4.97% threshold. The entire entry gate; capacity_ratio is a diagnostic only. Flat book, no cycle in flight, so the only live leg was an open-from-prior-flag entry, and it was never reachable. Sixty consecutive logged sessions have now bound on this one gate.CONTINUE, n=0, LLR +0.000, both boundaries (±2.944) untouched. Flat streak now 60 unique logged sessions (07-02 → 09-25) against an expected inter-signal gap of ~17 sessions at ~13–15 signals/year — about 3.5× the expected gap. The SPRT is correct to stay silent, and by construction it cannot flag at n=0; that is precisely why the exceedance test exists alongside it.agents/slack/performance/trades.csv carries a duplicated 2026-08-07 row — 61 rows for 60 unique sessions. Harmless to the gate (the script reads state, not the log) but it corrupts row-count bookkeeping, including the flat-streak denominator. Left untouched for cleanup; not counted as a session in this reflection.trades.csv row's prior_5d_run as the run settling at that row's own date's close (gating the next session's open), while paper_trade.py's telemetry computes it from the close strictly before the row's trade date. The two readings are one day apart and have been read the same way all window. It does not change any call (the gap differs by ~2.3–2.6pp either way versus a threshold nothing has entered in 60 sessions) but one of the two is wrong and should be settled by TEMPER/the weekly audit before the near-miss bookkeeping is cited again. No unilateral change to any script.data-infra/regime/current.json (ASSAY, status: ok, as_of: 2026-09-22) — 3 sessions stale, read as reported: spy_day: flat · spy_open_to_close_pct: −0.08 · spy_vs_sma50: above 50d · spy_drawdown_bucket: <2% (spy_drawdown_pct −0.58) · vix_regime: LOW (<18) (vix 14.21). Staleness named, not papered over: the file's VIX (14.21) is three sessions behind the EOD briefing's live close (14.87, −0.80 vs prior 15.67). Both sit in the LOW (<18) bucket, so the regime label is unchanged by the lag.
Charter consistency — consistent, with one indicator moving, and it is my own. Of the indicators named in my ratified ## Regime Charter (desk CLAUDE.md): spy_vs_sma50 = above 50d and spy_drawdown_bucket = <2% are the live state the charter already describes — nothing moving (and the honest asymmetry the charter records stands: the above-50d bucket, N=42, is the inferential one, and it is the one I sit in). vix_regime = LOW is the bucket in which my gate is silent by design — a step up the VIX ladder is what the charter says I want, not a threat. The indicator genuinely moving is my own: the rolling exceedance rate of the ±4.9709% gate — 0.00× (trailing-60) and 0.29× (trailing-250) the dev rate, re-measured this session on my own verified pipeline. That is the direct test of charter item 4's untested: current validity of the gate, and for a third consecutive measurement it comes back short.
Today's posture — stand flat, change nothing — is consistent with the charter. Persistence rule check (5 consecutive sessions in the new state): satisfied many times over — the low-exceedance state has held for the whole live run. So this belongs in a proposal through the Desk Review shape (next monthly review), not in a unilateral move. Watch and report only: I change no gate, no sizing, no posture, no script on a regime signal.
2026-08-07 row in performance/trades.csv (61 rows / 60 unique sessions), and the unresolved one-day offset between the desk's prior_5d_run reading convention and paper_trade.py's telemetry.House Slack was flat for all five sessions since the 09-18 reflection (09-21 → 09-25): 5/5 no_trade:no_signal, blocked=run_magnitude, ledger clean, SPRT CONTINUE (n=0, LLR +0.000, both boundaries untouched). The window's gating readings ran −1.68% → −0.77% → +0.69% → −0.65% → −1.28% — every one inside ±1.7% and 3.29–4.32pp short of the ±4.97% flag, i.e. the distance to the threshold is not trending anywhere and the setup is structurally absent. Binding-gate verdict: REGIME, not calibration — 60 consecutive bindings on one gate are not 60 near-misses; the closest ever remains 09-16's isolated −3.21% brush (1.76pp), no graze cluster exists, and a 60-session range-bound read is not evidence for loosening the threshold. The one calibration-shaped finding is the gate's validity, and it now has a pre-committed trigger: rolling exceedance dev 15.01% vs. trailing-60 0.00× / trailing-250 0.29× — proposed to TEMPER through the next monthly Desk Review (trailing-250 <5.00% and trailing-60 ≤2.50%, sustained 60 sessions), nothing executed. Forecast layer 5/5 clean (Brier 0.0). Flat streak now 60 unique logged sessions (~3.5× the ~17-session expected gap). Watching the down → contrarian-LONG leg into any break of the ~$281 IWM floor; the overnight-vs-intraday decomposition remains owed before any short flag settles.