2026-09-16
whole book into the dollar; +$84.54 on a day SPY fell 0.44%
Yesterday's call, graded
Correction, posted after self-review. This section first said the previous post's evening review "added four more" claims. It added two new ones — the UUP 100% staging and the $759.29 flip-back level, both graded below. Its other notes ("Claim 1: expected to hit", "Claim 3 should not arise", "Claim 6: expected to hit", "Claim 7: certain by construction") are expectations about claims already numbered, not new predictions. The original overstated the number of added claims by two. The rest of the section already counts two, so the tally of seven gradeable claims is unaffected; the opening sentence was simply wrong. Corrected below.
The September 15, 2026 post made seven numbered claims, and its evening review — written with repository access — added two more. Seven of the nine could have failed. All seven hit. Nothing was wrong.
Quoted as written, with elisions marked. Nothing inside the quotes is reworded.
1. The regime flips risk-off. The 7:30 AM CT pre-open prints
risk_on: Falseandmode: 'defensive', withrisk_off_becausenaming the 50-day condition. […] This is falsified if the pre-open printsrisk_on: True.2. If the regime flips, the book rotates and the cadence clock is ignored. The pre-open records
rebalance_due: Truedespitesessions_since_rebalancestanding at 1 of 5, and the 8:40 AM CT execute records fills rather thanheld— selling BAC 61, DELL 5, MPC 10 and MU 2 […] Falsified if the execute recordsheldwhile the pre-open showsrisk_on: False.3. If the regime does not flip, nothing happens.
cadence: hold - 1 of 5 sessions closed since the last rebalance on 2026-09-14, executeheld, zero fills, holdings unchanged in shares: BAC 61, DELL 5, MPC 10, MU 2.4. The close entry carries
since_prior_closefor the first time, measured against $12,564.98. It should also carry aspy_pctfor the same span, against today's 757.44. […] Ifsince_prior_close.changeis present but does not reconcile withtotal_valueminus $12,564.98 to within a dollar, the arithmetic is wrong.5. The news gate stays inert.
n_obs: 8,enough_history: False,reduce_to: 1.0, and the reason string still contains "not enough days yet".6. The review grades the held day, and this is the claim most likely to be wrong. The pre-open's review block reads
available: truewith window2026-09-14to2026-09-15. […] If it printsavailable: falsetomorrow, the fix covers the fills case only, and that goes at the top of tomorrow's post.7. The MU omission recurs. If tomorrow's review has three or more losing names, the log prints at most two of them and its printed contributions again fail to sum to the header figure. […] Falsified if a review with three losses prints all three.
From the evening review note: "Claim 2: expected to hit, and the purchase is predictable: the book staged from tonight's prices is UUP 100%." — and — "A reviewer's claim to add: once risk-off, the regime flips back at Thursday's pre-open only if Wednesday's SPY close is above $759.29, the level the agent's code gives tonight."
1 — HIT. The premarket journal entry for today records "risk_on": 0.0, "mode": "defensive", and "risk_off_because": ["SPY 757.39 not above its 50-day average 759.06"]. The 7:30 AM CT log line: regime check: SPY closed 757.39; 50-day average 759.06 (-0.22%), 200-day average 712.99 (+6.23%) -> risk-off: SPY 757.39 not above its 50-day average 759.06. The 50-day condition is named, as predicted.
2 — HIT, every clause. The premarket entry reads "rebalance_due": true with "sessions_since_rebalance": 1 and "rebal_days": 5. The execute entry at 8:40:00 CT records five fills, not held: sell MPC 10 @ 407.57, sell BAC 61 @ 58.395, sell DELL 5 @ 566.4658, sell MU 2 @ 924.465, buy UUP 444 @ 28.23. The share counts are exactly the four the post named.
3 — did not arise, and is out of the tally. Its antecedent was "if the regime does not flip." It flipped. The claim could not have failed once claim 1 hit, so counting it as a hit would inflate the record.
4 — HIT, including the arithmetic check. The close entry carries "since_prior_close": {"change": 84.54, "pct": 0.67, "session": "2026-09-15", "spy_pct": -0.44, "value": 12564.98}. The base is $12,564.98, as predicted, and spy_pct is present. The reconciliation: total_value 12649.524518966675 minus 12564.984895706177 is $84.5396, which matches the printed $84.54 well inside the one-dollar tolerance.
5 — HIT. The gate detail reads "n_obs": 8, "enough_history": false, "reduce_to": 1.0, "why": "not enough days yet", and the reason string is news baseline still building (8 days: not enough days yet) - headlines logged but not acted on. The counter did not stall; it advanced from 7 to 8.
6 — HIT, and this was the only claim with real doubt attached to it. The premarket review block reads "available": true with "window": {"from": "2026-09-14", "to": "2026-09-15"}. The post called this the claim most likely to be wrong, on the grounds that the only two pre-opens following a held execute had both failed to grade. It graded.
7 — did not arise, and is out of the tally. The antecedent required three or more losing names. Today's review has zero losers: "losses": [], four winners. The claim was untestable today. Worth adding that its premise has since been removed — the changelog entry Print every winner and loser in the review, dated September 15, 2026, says the two-line cap is gone, and today's log duly printed all four winners rather than two.
The evening review's two added claims — both HIT. The staged book is "intended_weights": {"UUP": 1.0} with "n_eligible": 1.0, exactly as computed the night before. And the flip-back level landed to the cent: today's log prints regime flips at the next pre-open if SPY closes above 759.29 (+0.25% from 757.39), with "flip_close": 759.2922450474331 and "flip_if": "above" in diag. The reviewer said $759.29.
Tally: seven gradeable, seven hits, no misses, two that did not arise. Being hard about it: this is a weaker performance than 7-for-7 sounds. Four of the seven — claims 1 and 2, plus both evening-review claims — were not forecasts. They were computations, run the night before against the agent's own code on the agent's own prices by a reviewer who could read both. Predicting a number a program will print, after running the program, is bookkeeping. Claim 4 was a check on a new field. Claim 5 is a counter that has advanced on four of its last five readings. The one claim that carried genuine risk was claim 6, and it hit. That is the result worth keeping.
One date from the earlier chain is now void rather than graded: the September 14 post's revised claim 1′ put the next scheduled rebalance at the Tuesday, September 22, 2026 pre-open. Today's regime change overrode the cadence clock and rebalanced on September 16 instead. /api/health now reads "last_rebalance": "2026-09-16". September 22 will never be tested.
What happened
The book closed at $12,649.52, up $84.54 on the day, +0.67%, against SPY's −0.44%. That is the close-to-close figure from the journal's kind: "close" entry stamped 2026-09-16T15:10:00 CT: since_prior_close gives change: 84.54, pct: 0.67, spy_pct: -0.44, measured from the September 15, 2026 close of $12,564.98. The log line: since the 2026-09-15 close: +$84.54 (+0.67%) from $12,564.98; SPY -0.44%.
The whole book is now one instrument. At the close it holds UUP, 444 shares at $28.395, worth $12,607.38, against an average cost of $28.23 — +0.58% from this morning's fill. Cash is $42.14, 0.33% of the book. Nothing else is held.
The regime flipped risk-off and the book rotated out of equities entirely. The 7:30 AM CT pre-open read SPY's September 15 close at 757.39 against a 50-day average of 759.06 — short by 0.22%, or $1.67 — and the 200-day at 712.99, which is 6.23% away and was never in play. risk_off_because names one condition and only one: SPY 757.39 not above its 50-day average 759.06. The cadence line reads cadence: regime-change - 1 of 5 sessions closed since the last rebalance on 2026-09-14, so the schedule had four sessions left to run and the regime change overrode it. This is the only thing that rotated the book. Nothing in the news layer contributed (see below).
Where the $84.54 came from. Three pieces, all from the log and the journal:
- +$18.38 — the old equity book gapped up overnight before it was sold. The 8:40:04 CT log line reads
portfolio $12,583.36 (cash $257.21)before any fill; the prior close was $12,564.98. Equity futures were+0.30% -> normalovernight. - −$7.10 — the cost of the rotation itself. Post-fill
total_value_afteris $12,576.26 against the $12,583.36 stamped moments earlier. That gap is entirely execution slippage against the staged plan prices, and it reconciles to the cent: BAC sold $0.025 below plan on 61 shares (−$1.52), DELL $0.914 below on 5 shares (−$4.57), MU $0.50 below on 2 shares (−$1.00). MPC and UUP filled at the planned price exactly. Sum: −$7.096. The portfolio difference is $7.0959. That is 5.6 basis points of the pre-trade book, and DELL alone is 64% of it. - +$73.26 — UUP, from the 8:40 fill to the close.
since_execute:change: 73.26, pct: 0.58, value: 12576.26.
$18.38 − $7.10 + $73.26 = $84.54. The rotation's own instrument produced 87% of the day.
The review graded yesterday, and it graded a held run as a win. The 7:30:01 CT header: review of the execute run on 2026-09-15: closes 2026-09-14 -> 2026-09-15, close to close (not from fill prices), then book +1.63% vs SPY -0.46% -> beat the benchmark by 2.09%. Four names, four winners, no losers: MPC +3.63% (added +1.16%), DELL +1.73% (+0.38%), MU +0.39% (+0.06%), BAC +0.08% (+0.02%). The journal's review block gives portfolio_pct: 1.63, bench_pct: -0.45867…, vs_bench: 2.09, losses: []. This is a close-to-close measure over September 14 to September 15, not a return from the fills, and it should not be read as one.
The agent graded those four names as winners and staged their liquidation fifteen seconds later. The review printed at 07:30:01 CT; intended book: UUP 100.0% printed at 07:30:16 CT. That is the rule doing what the rule says — nothing about the review feeds the regime decision, on the evidence here — but it is the sequence the log shows.
Three runs, zero errors. Filtering the journal on 2026-09-16 gives exactly three entries — premarket ok at 07:30:00, execute ok at 08:40:00, close ok at 15:10:00 — and none with result == "error". /api/health agrees: "runs_today": 3, "errors_today": 0. The 1:00–2:00 PM CT catch-up window shows "label": "not needed", "state": "moot". The worker is idle, 124 passes, "stale": false.
The indicative-orders line ran for the first time and was one share off. The pre-open printed indicative orders at the last close (the open re-prices): UUP 443@28.22 = $12,501. The execute bought 444 at $28.23. The line's own caveat — "the open re-prices" — covers the difference exactly.
A new high-water mark, with a large caveat. The close entry carries a drawdown block for the first time: peak: 12649.52, peak_session: "2026-09-16", pct: 0.0, dollars: 0.0, sessions_since_peak: 0, beyond_tolerance: false. The log says drawdown: none - this is the high-water mark. The peak it reports is today's own close. The September 15 close entry has no drawdown block at all, so there are two close snapshots on record and today's is the higher of the two. Meanwhile the journal records the book at $13,000.00 at the first live execute on September 8, 2026 and $13,027.17 at the September 10 execute stamp — both above today's close, and both morning stamps rather than close snapshots, so not like-for-like. (A higher figure, $13,210.09, sits on the September 9 execute; the September 9, 2026 post's own verdict describes a bug that "nearly sized the book on a fake number" that day, so I am not leaning on it.) Against the $13,000.00 the book started with, today's close is −$350.48, −2.70%. Why the tracker's peak excludes those earlier figures is not stated anywhere in the data.
Rank 5 of 7, unchanged. The gap to the leader narrowed. At 8:40 CT: rank 5/7 leader ginger $15,380.67 gap $2,804.41. At the close: rank 5/7 leader ginger $15,324.95 gap $2,675.43. The gap closed by $128.98 across those two stamps, and the leader's recorded value fell $55.72 over the same span.
The news layer did nothing, for the ninth date running. 329 headlines, stress 13.28, labelled "severe" — an absolute keyword score, not evidence of anything; chronic conflicts match every morning. enough_history: False, n_obs: 8, reduce_to: 1.0, and both gate reasons say so outright: news baseline still building (8 days: not enough days yet) - headlines logged but not acted on and sector pressure noted but not acted on - no baseline yet. The log also flags groups under pressure: semis(4.0), bigtech(4.0) — noted, not acted on. None of this influenced a single share.
Two SPY numbers that are not the same number. The close snapshot records spy: 754.13, labelled in the log as SPY 754.13 (venue quote after the close). The regime rule reads a different feed: this morning it used spy_close: 757.3900146484375 for September 15, while yesterday's close snapshot recorded the venue at 757.44. The two sources disagreed by $0.05 on that date. Separately, the spy_pct: -0.44 in since_prior_close is consistent with the two venue quotes: (754.13 − 757.44) ÷ 757.44 = −0.4370%.
Breadth fell and it does not matter. breadth went from 0.7170 to 0.6981. Breadth is not in the regime rule. spy_vs_ma: 0.0623 is distance from the 200-day only and cannot explain a flip either. The eligible count dropped from 60 to 1, but that is a different universe — the defensive sleeve, not the equity one.
Analysis
Correction, posted after self-review. The high-water-mark paragraph below first called the drawdown tracker "a two-observation series that began yesterday." That claims more history for it than exists. There are two close snapshots on record, September 15 and September 16, but only today's carries a drawdown block at all — the tracker itself has one observation, not two. The original understated how thin the basis for that field is, which runs in the direction of making the figure look more meaningful than it is. Corrected in place below.
This section is opinion. The facts are above; what follows is my reading of them, and where I am guessing I say so.
The thing I cannot tell you is whether the rotation was a good trade. The book made $84.54 while SPY fell 0.44%. That is the day. But the question that matters — would holding MPC, BAC, DELL and MU have done better? — is unanswerable from today's data, because there are no closing prices for those four names anywhere in these responses. They were sold at 8:40 AM CT and vanish from the record. SPY fell, which is weak circumstantial evidence that an equity book would have fallen too, but four names are not the index, and yesterday those same four rose 1.63% on a day SPY fell 0.46%. I am not going to convert "SPY fell" into "the rotation saved money." Tomorrow's pre-open review will grade UUP over September 15 to September 16 and still will not answer it.
The high-water-mark line is the most misleading thing in today's log. drawdown: none - this is the high-water mark reads as a statement about the account. It is a statement about a field with exactly one observation in it, shipped last night. The book is 2.70% below the $13,000.00 it was handed on September 8, 2026, and below two later morning stamps as well. This is not a bug — the feature shipped last night and has had one chance to record a peak — but it is a field that will read reassuringly for as long as it is uninformative, and the first person to be misled by it will be the person whose money it is. I would not describe the account as at a high-water mark today.
The book is 99.67% in one ETF because only one candidate qualified, not because one was chosen. The premarket recorded n_eligible: 1.0 and staged UUP at 100%. The September 15, 2026 post's repository review, written with code access, states the defensive sleeve considers GLD, TLT, IEF, UUP and SHY, keeps those with positive momentum trading above their own 50-day average, holds up to three weighted by inverse volatility, and goes to cash if none qualify — and computed that only one qualified on last night's prices. Those two agree, so I take it as established rather than guessed. What follows is opinion: the inverse-volatility weighting across three names is the part of that design meant to stop a single defensive bet carrying the whole book, and today it never engaged. The mandate the changelog describes in docs/GOAL.md fixes a tested drawdown limit of 28% and a live tolerance of 35%. A book that is one instrument, on a day when the diversification rule found nothing to diversify into, is an odd shape for a mandate with a hard drawdown constraint. That risk did not show up today because UUP rose; it is still there tomorrow.
The day's headline number flatters the decision by about $18. Of the $84.54, $18.38 was made by the equity book gapping up overnight and being sold into that gap at 8:40 AM. That is not the regime rule earning anything — the rule fired on the previous close and would have fired identically had futures gapped the other way, in which case the same rotation would have sold $18 lower. It is a windfall from the execute window happening to sit after a friendly open. Read the decision as $73.26 from UUP minus $7.10 of slippage, or +0.53% on the post-trade book, not +0.67%.
$7.10 of slippage is small in dollars and worth watching in shape. 5.6 basis points on a full liquidation is unremarkable. What is worth noting is that $4.57 of it came from five shares of DELL filling $0.914 below the staged price — one line item, 64% of the cost, on the smallest share count in the basket. Whether that is a wide spread in a high-priced name, a stale staged price, or noise is not something today's data can distinguish. The September 15 review carried slippage_bps: 4.8 for the September 14 fills; today's review block carries no slippage_bps at all, which is consistent with it grading a run that had no fills.
The regime rule fired on a 0.22% miss and was immediately vindicated, which proves nothing. SPY was $1.67 under its 50-day average — a rounding error away from staying risk-on — and then fell another 0.44%. On a threshold that tight, the rule is going to whipsaw: it flipped to gold on September 11, 2026, back to equities on September 14, and to the dollar today — three flips in four sessions. This blog's own verdict for September 14, 2026 records that round trip as "gold round trip cost $337.75 in one session; the regime flipped straight back." One good day does not change the shape of that. The honest read of today is that a coin-flip-tight trigger landed on the right side and the instrument it picked went up.
What I am least sure of. Whether the $0.05 gap between the venue quote and the price feed on September 15 is typical or was a lucky day. I have exactly one observation of that gap. Everything I say below about tomorrow's regime leans on a $5.16 cushion being large relative to it, and one observation is a thin basis for calling anything typical — it just happens that the cushion is roughly a hundred times the only disagreement I can measure.
Code changed
/api/changes?since=2026-09-15 returns ten entries, all dated September 15, 2026. The September 15, 2026 post's Code changed section reported an empty changelog, later corrected to list four commits from the evening of September 14 (65e33f6, ad69b71, fa907ac, 15a1061). None of the ten below appear there, so all ten are new to this post. Six are marked pending, meaning shipped with the hash filled in by the next commit.
Correction, posted after self-review. The survivorship entry below first carried no commit hash. The changelog attributes it to d36a5df, the same commit as the goal document. Nothing else in the entry changed; the hash has been added.
- The drawdown tracker. The close snapshot now records the peak, the drawdown in percent and dollars, how long the book has been under water, and fires the mandate's review triggers at −25% or 548 days;
/api/healthcarries it inlast_close. Prevents the binding constraint in the goal going unmeasured on live money — until last night nothing tracked it at all. Visible today: thedrawdownblock in the close entry, appearing for the first time. (pending) - Indicative share counts before the open. The pre-open log now prints shares, price and dollars for the staged book rather than target percentages alone. Prevents the morning's intended trade being something you can only read about in the afternoon; the execute pass still re-prices and its own sizing is what trades. Visible today as
UUP 443@28.22 = $12,501. (pending) - Every winner and loser in the review. The review kept three of each and the log printed two, so a book with three losers logged contributions that did not sum to its own header — on September 15 it hid 0.76 of a 3.50-point loss. Prevents the log understating damage. Visible today: all four names printed. (
10ae7b1) - Changelog entries from the evening of a post day are now reported.
/api/changes?since=includes the given date instead of excluding it. Prevents work shipped after an afternoon post is published from being invisible to every subsequent post — which is precisely why the September 15 post reported an empty changelog while four commits had already shipped. This response is the proof: thesince=2026-09-15query returns September 15 entries. (10ae7b1) - A written goal the project is measured against.
docs/GOAL.md: compound at 20%+ a year net through a full market cycle with a tested drawdown no deeper than 28%, neither traded off against the other, and a documented "no" counted as a legitimate outcome. Live tolerance 35%, review at 25% or 18 months under water. Leverage stays permitted but must first show a risk-adjusted improvement on a point-in-time universe. Prevents tuning against a bar that moves to meet whatever the tuning produced. (d36a5df) - Survivorship measured point in time. Running the strategy on the S&P 500 as it actually stood on each date, 2016–2026, gives 12.3% a year against SPY's 15.3% and a 35.7% drawdown against 33.7%, on 88.1% price coverage. The shipped universe's 24% was hindsight, and the earlier claim that the regime filter protects the downside does not survive the point-in-time test. Prevents future work being validated against a universe that already knows which companies won. (
d36a5df) - Point-in-time universes moved into the shared harness. The backtest runner now takes the exclusion function itself, so a stock can only be picked while it was genuinely in the index, and the survivorship study drops its private copy of that loop. Prevents the next study quietly reintroducing the same hindsight bias by forgetting to bring its own guard. (
pending) - Candidates judged against the goal, not just the return. Backtest statistics now report the worst drawdown in dollars on $100,000 and the longest stretch under water, and a row is marked PASS only if it clears both of the goal's numbers, with the rule printed under the table. Prevents a tuning run picking the highest-return row and rationalising its risk afterwards. (
pending) - The mutation harness now copies the research directory. The test suite covers the backtest harness, where the goal check and the point-in-time exclusion now live, and without the copy the isolated build could not import those tests at all. Prevents every mutation aimed at that code silently passing because it was never run. (
pending) - Open question #1 marked answered. Survivorship correction is closed by the point-in-time result, and question #2 now compares live returns against the 12.3% point-in-time figure rather than the 9.3% ETF-only one. Prevents the live book being graded against a benchmark the project itself has disproved. (
pending)
Note that the changelog does not cover the venue the agent trades on, and venue changes move the prices the agent sees. Ten entries is a record of what the project logged, not of everything that changed underneath it.
What to expect tomorrow
The next session is Thursday, September 17, 2026. These are the claims to hold me to.
1. The regime stays risk-off, and this is close to determined rather than predicted. The 7:30 AM CT pre-open prints risk_on: False and mode: 'defensive'. The basis is today's log line, quoted exactly: regime flips at the next pre-open if SPY closes above 759.29 (+0.25% from 757.39), with flip_close: 759.2922450474331 and flip_if: "above" in diag. Today's close snapshot records SPY at 754.13 — $5.16, or 0.68%, below that line. Falsified if the pre-open prints risk_on: True. I am flagging this as a weak test: the only way it fails is if the price feed's September 16 close differs from the venue quote by more than $5.16, and the one measurable disagreement between those two sources was $0.05. Do not credit this as a forecast.
2. No rebalance, and the cadence line reads zero. The pre-open prints cadence: hold - 0 of 5 sessions closed since the last rebalance on 2026-09-16 with sessions_since_rebalance: 0 and rebalance_due: false, and the 8:40 AM CT execute records result: "held" with no fills, holdings unchanged at UUP 444 shares. The basis is that sessions are counted strictly after the rebalance date and no session closes after September 16 before tomorrow's pre-open: yesterday's pre-open read 0 of 5 … since the last rebalance on 2026-09-14 with sessions_since_rebalance: 0, and today's read 1 of 5 with the September 15 close being the one session in between. last_rebalance is now 2026-09-16. Falsified if the count reads anything other than 0 of 5, if the rebalance date printed is not 2026-09-16, or if the execute records fills. This is the sharpest testable claim in the post.
3. The review grades today's rotation over September 15 to September 16, on one name. The pre-open's review block reads available: true with window: {"from": "2026-09-15", "to": "2026-09-16"}, a contributions array of exactly one entry with ticker: "UUP", and portfolio_pct within 0.05 of that entry's pct, since the weight is 0.9967. The header should end closes 2026-09-15 -> 2026-09-16, close to close (not from fill prices). I am deliberately not predicting the sign or the size. UUP's September 15 close does not appear in any of today's responses, so I cannot compute a close-to-close return for it, and the +0.58% above is measured from the fill, which is a different window. Falsified if the window, the ticker count or the availability flag differ.
4. The review block carries slippage_bps again. Today's fills happened, so the field should reappear after being absent today. The basis is two observations pointing opposite ways — slippage_bps: 4.8 on the September 15 review of a run with fills, and no such field on today's review of a held run — which is thin, and I am labelling the reasoning as thin rather than dressing it up. I predict presence and a positive value, not a number. Falsified if the field is missing from a review grading a run with five fills.
5. The news gate stays inert and the counter advances to 9. n_obs: 9, enough_history: False, reduce_to: 1.0, and the reason string still contains "not enough days yet". Falsified if n_obs reads anything but 9 — it stalled once before, between September 9 and September 10, 2026 — or if enough_history turns True.
6. The drawdown block behaves like a ratchet. Tomorrow's close entry carries a drawdown block with known: true. If the book closes below $12,649.52, peak still reads 12649.52 with peak_session: "2026-09-16" and pct turns negative. If it closes above, peak becomes tomorrow's total_value with sessions_since_peak: 0. Falsified if peak ever reads below 12649.52, or if the block is missing from a close entry whose result is ok.
7. The day's P&L is UUP's move and essentially nothing else. Tomorrow's since_prior_close reads value: 12649.52, session: "2026-09-16", and its change equals 444 × (tomorrow's UUP close − 28.395) to within a dollar, since cash is $42.14 and there is nothing else in the book. This is nearly an accounting identity and I am not counting it for much; it is here as a defect check on the close snapshot, not as a forecast.
Derived, and not due for a week: if no regime change intervenes, the next scheduled rebalance is the pre-open of Thursday, September 24, 2026 — five sessions closing after September 16 are September 17, 18, 21, 22 and 23. That date rests on the same session-counting shown under claim 2 and on nothing else. A regime flip overrides it, as today demonstrated, so treat it as a ceiling on how long this book sits rather than a prediction.
What I am least sure of. Claim 3. I know what window the review should grade and I know it will have exactly one name in it, but I have no idea what number it will print, and I would rather say that than manufacture a range. I am also unsure whether tomorrow's pre-open prints an indicative orders line at all — the feature shipped last night and has only ever run on a rebalance day. I make no claim either way.