For ten weeks this column has graded a system that lost money more often than it made it. This week it made money for the second week running, which it had never done. The profit is small and part of it came the wrong way. What changed is how changes got made: five went through an outside review, three of them were sent back with at least one no-go, and every finding was fixed before it touched a live order.
At 10:31 ET Friday the options sleeve went for TSMC calls on flow, with the stock near $469.74. Its first choice cost $1,320 and was refused by the per-trade cap of $1,050. It stepped down to one $480 call expiring Oct 16, filled at $8.90: $890 of premium, 14 days to expiry, an invalidation line (the stock price that proves the idea wrong) at $452.88. The stock never came close to it. The call marked as high as $10.525 during the afternoon, and at 15:50 ET the end-of-day pass sold it at $10.05 under the no-overnight rule: +$115.
Why the exit is the point. The engine left about $47 on the table against the day's best mark, and that is the correct trade. Since July this sleeve's option holds that lasted more than one session were 12 trades for −$2,405; same-day round trips were 4 trades for +$287. Those numbers came out of Monday's Codex review of a proposal to let the engine carry options overnight ahead of a catalyst. The review said no to the live version four times, and it now waits behind a bar of fifty priced observations. An option loses part of its remaining value every night it is held (theta, the cost of time). It can also gap against the holder before any rule gets to act. Selling at 3:50 pays neither cost. One caveat the record should carry: TSMC sat all day with its stop held only in software. A run checked it every half hour, and no order rested at the broker. Moving that stop to the broker is step five of the migration plan that came out of Tuesday's review, and it has not shipped.
Monday at 10:03 ET the sleeve bought one Microsoft $510 call expiring Oct 9 at $9.35. By Monday afternoon the command-line login that every scheduled run uses had expired. From 15:45 ET on, every run failed in about five seconds, both end-of-day passes included, so the call was carried overnight with no exit able to run. Tuesday Microsoft flushed from about $508 to $502.40 by 09:46 on heavy put buying, and the call fell to $6.23, down 33%. The low held a level where dealers carried heavy put exposure, well above the trade's own invalidation line at $497.25. Selling dried up by 09:52, buying returned at 10:17, and the stock took back its average price for the day. Microsoft ran to $512 and I sold the call by hand at $11.00 at 10:37: +$165.
Graded honestly, this is not the engine's win. The rule says flat by the close, the rule was broken by an outage, and the exit was mine. The engine's own two shadow exit rules (test rules that log what they would do and never trade) fired at 09:38 and 09:42, which means they would have sold at the low. Two things came out of it. The login failure was made loud: a failed run now records the reason, posts a fatal alert and checks the login before, during and after the session. Before, an expired login looked like an empty error. The other was a new shadow rule, written from this trade, for a dip that holds a dealer level and then gets bought back. It logs to its own ledger and needs thirty graded cases before anyone can propose that it trade.
At 13:35 ET Thursday the sleeve bought three Nvidia $230 puts expiring Oct 9 at $3.55: $1,065 of premium, eight days to expiry. It was the fourth Nvidia put the engine proposed that day; the first three never became orders. The no-overnight rule meant this one had until about 15:50 to work. The engine now journals every option price it sees, a fix built Monday and reviewed Monday night. That journal took 11 readings, and the best was $3.625, two percent up. At 15:53 the end-of-day pass sold all three at $3.05: −$150. Wednesday's Nvidia put, the same strike bought at 11:35, came out +$10. So the same bearish read was tried twice and made −$140 in total.
The stops on the stock side held. Chipotle and Palo Alto were closed by stop orders resting at the broker at −0.74R and −0.97R, which means each loss stopped inside the amount it was sized to risk. That is a second week of it.
Start with what the green week is made of. Of the +$99.81, +$165 was the hand-closed Microsoft strand. Take it out and the engine's own week is −$65.19. The engine-run option trades were all bought and sold the same day: TSMC +$115, Nvidia +$10, CrowdStrike −$30, Nvidia −$150. That is one win, one loss and two scratches. The stock sleeve lost $10.19 on three trades whose stops did what they were drawn to do. The realised payoff (average win divided by average loss) on the stock ledger is about 0.79, up from 0.76. It is still right 23% of the time against the roughly 56% that payoff needs to break even. The honest headline is that losses are now small and controlled, while the wins are not yet large enough or frequent enough.
The root cause of Thursday's loss is a timing rule that does not know about the other timing rule. The options time-room gate asks whether the move the market is pricing before the cutoff can pay for the spread and the decay. It was built last Friday and measured TSMC at a healthy margin. But a same-day policy shrinks every afternoon entry's window, and the gate scores a 13:35 entry against roughly the same bar as a 10:30 one. An eight-day option bought with two hours left is mostly a bet on the next two hours, and the expected move in two hours is small, which leaves the spread as a large share of what can be won. Nvidia's best reading was +2%. The trade was never priced to work.
The fix. One: require a bigger time-room margin as the hours to the forced exit fall. The ratio of expected move to needed move that passes at 10:30 should have to be roughly double at 13:30, and no new option entries after 14:30 unless the ratio clears it. Two: one direction per name per day. A second entry on the same thesis needs the first to have worked, not just closed. Three, the structural one carried from last week: a debit spread (buy one strike, sell a higher one) halves the premium at risk on a two-hour bet and caps the upside the trade cannot use in two hours anyway. The order path still places one leg at a time. The reviewed carry scope confirms it: the order gate refuses spreads, so every option this engine can buy is a single call or put.
Last Sunday's five tests, marked first.
Last week's tests, marked. (a) No position carried overnight that the engine believed was closed: PASS, on the letter. Every option exit the engine sent this week filled the same session and was read back. Microsoft was carried overnight with the engine knowing it was open, because no run could start, and that is graded above as its own failure. (b) No "no opportunity" row filed off a blind screen: MISS. On Friday the stock engine never screened a candidate in seven logged runs (below). The 15:34 ET run filed "no opportunity" with zero candidates, while its own report said it had not screened. (c) Payoff stays at or above 0.70 with Eaton included: PASS, about 0.79. (d) The one-minute watcher grades at least one held stock trade: NOT VERIFIED by this run. (e) The 30-day expiry shadow logs its first swing-option closes: PASS, and it is the week's sharpest lesson.
That shadow rule refuses any option with fewer than 30 days to expiry. Every option the sleeve traded this week was shorter: Microsoft 11 days, CrowdStrike 17, both Nvidia puts 8 and 9, TSMC 14. The shadow blocked all five, and those five netted +$110. Last week it would have blocked the +$610 Lam Research trade. The finding is the same in both weeks: expiry length was never the problem; holding past the close was. Short-dated options bought and sold inside one session are now 2 wins, 2 losses and 2 scratches, net +$505 across two weeks. Short-dated options held for days are where the summer's losses came from. The rule to keep is no-overnight. The 30-day rule should stay in shadow and be judged on that split.
What it adjusted about itself. Six confidence markdowns stay in place, one point each: the swing profile (14 trades), the scalp profile (12), chips and AI (6), cybersecurity (9), the most common signal combination (7), and trading in a risk-off tape (28). Scalps joined the list this week. One rule changed by operator decision on Sep 30: the halt that fires on a falling market now needs both the S&P 500 and the Nasdaq-100 down three sessions running. The old rule was either one down two. Tuesday's halt fired with the Nasdaq up on the day, the only time that rule was ever the sole reason for a halt.
One: the stock engine has to be able to start its own day. Friday the first five equity runs refused at the same guard, and the last two ran with no candidates because the close was minutes away. The guard: the quick-entry lane will not build an input until a scheduled run has archived a production one that day. That guard was tightened on purpose in Wednesday night's review, so a test run can never feed a live order. The guard held. What failed is upstream: the first run of the day was never allowed to start. The options run two minutes ahead of it held the shared cash lock for fifteen minutes, because the command-line tool had updated itself overnight and macOS stopped the new copy with an "allow access to OneDrive?" dialog that nobody was there to click. Every later run waited on the input that first run should have built. Nothing was lost, since the book was flat, but the stock sleeve was blind for a full session. The fix is mechanical: the morning run builds the input before anything optional. Two: the time-room gate scales with hours left, as diagnosed above, with no option entries after 14:30 unless the ratio clears the higher bar. Three: the option stop goes to the broker. Step five of the reviewed lifecycle plan: a stop-limit order resting at the broker behind a gate, after a live drill. TSMC sat on a software stop all day Friday. Four: fix the off-grid entry price. On Sep 30 a Tesla put was approved, gated and then not placed, because the "pay slightly above the ask" rule produced $9.76, which is not a legal option price. Options above $3 trade in five-cent steps. The fix rounds up to the next legal price in code. It does not depend on the model rounding the price itself.
How we'll know it worked next Sunday: (a) the stock engine runs its full calculation on at least one scheduled run every session; (b) no option is bought after 14:30 ET without the scaled time-room ratio in its decision row; (c) zero entries lost to an off-grid price; (d) the engine places nothing outside the same-session rule, and if a login or launcher failure strands a position again, the fatal alert fires within one run; and (e) the sleeves stay green for a third week. The bar is to be honest about the reason either way.
Until now, a fix went live when Claude had built it, tested it and I said go. This week a third step went in front of every large change: Codex reads the change and the evidence behind it, and returns a written go or no-go before anything touches the live engine. The green week ran alongside that change. One week cannot show cause and effect, so the record below shows what each review caught.
| change | what broke | review | what shipped |
|---|---|---|---|
| Overnight carry for options Mon Sep 28 | A proposal to hold options through a catalyst instead of selling at the close. | no-go as drafted; 4 rounds | Shadow only: a validator that logs would carry and cannot trade. The live version needs ≥50 priced cases and a pre-declared confidence bar. Based on held options −$2,405 versus same-day +$287. |
| Price journal for options Mon Sep 28 | Microsoft's best price, $11.20, was read by one run and lost when that run ended. The record showed $10.975. | no-go round 1, four findings; 2 rounds | An append-only journal of every option price the engine sees, with a one-second deadline so recording can never delay a stop. Live Monday night; Thursday's Nvidia trade logged 11 readings. |
| Tape tilt Mon Sep 28 | On a falling day the sleeve bought calls because the model happened to list them first. | findings fixed, signed | Shadow ranking that puts the direction the market is moving first. It cannot trade until graded rows show it would have changed a pick. |
| Option lifecycle Tue Sep 29 | The engine kept two records of every option, its own and the broker's, and they drifted apart, the root of last week's strands. | architecture review, 21 tests | A seven-step plan to make the broker-confirmed record the only one. Step one, a shadow comparison every run, went live Tuesday and agreed on its first live check. |
| Discovery pool Wed Sep 30 – Thu Oct 1 | The live trigger saw 7 candidate episodes while the detector had 96 fresh ones; it had no broad stock screen at all. | no-go r1 · no-go r2 · go r3 | A wider candidate pool that can never push out a held or screened name. Round 1 found it would have evicted names the scheduled run depends on, so it was rolled back the same evening. v2.1 used Codex's own amendment and went live Friday. |
Fixed the same week without a review round, each against its own receipt. The expired-login alert, built after Monday's dead fires. A carry-forward rule so the stop monitor still knows an option's stop on a morning when that day's record is not written yet. A broker mismatch now starts a fix run instead of waiting for the next scheduled one. A wrong "mode" word in an options run used to look like a risk halt and silently skipped entries. It now has a strict list of allowed words. The falling-market halt now needs both indexes down three days. The 3:47 close run moved to its own launcher slot after Thursday's was silently dropped because the 3:32 run was still going. Its first live run, Friday at 15:47 ET, fired on time. And one thing a review made worse, honestly: the production-only guard added in the discovery-pool review is the guard that held the stock engine at the door all Friday. The review was right that a test input must never feed a live order. Nobody, reviewer included, checked what happens when no production input exists at all.
The newsletter's demand-and-credit read on semiconductors, cyber, and construction: this week's headline, and the dated checkpoint that would confirm it or crack it.
Micron reported fiscal fourth-quarter results after the close on Wed Sept 30. Revenue was $54.23B against its own guide of $50B ± $1B, up 31% on the quarter and 379% on the year, with non-GAAP earnings of $33.42 a share and gross margin of 87.0%. Consensus depends on who is counting: about $50.45B by one tally and $51.07B by LSEG's. The core data-center unit did $18.0B, up from $11.52B the quarter before. The guide for the December quarter is $61.5B ± $1.5B and about $38.15 a share, and management said calendar-2027 high-bandwidth memory pricing had been set "significantly higher." The shares were roughly flat the next morning, after a run of about 273% this year. A beat this size that moves nothing means the market had already priced the beat. What is left to trade is the guide. Last week's test, a 14-week quarter divided back to a weekly rate, could not be run: neither the release nor the call summary confirms the extra week.
The rally that began with public AI-risk warnings in mid-September ran into a third week. In the week to Sept 18, CrowdStrike and SailPoint each rose about 15%, Palo Alto 10% and Okta 9%. On Thu Oct 1, CrowdStrike, Okta and Rubrik all set new 52-week highs on the same day. No security company reported this week, and no deal was confirmed. Three weeks of different businesses moving on the same days is still flow, and flow is what the dispersion call has to wait out.
The Census Bureau's August construction report, released Oct 1, put total spending at $2,203.1B at an annual rate. That is up 0.9% on the month (inside a ±1.0% margin) and down 1.7% on the year. Private non-residential was $773.0B, up 1.0%. Data-center spending rose 7.5% in the month and about 73% on the year, a 149% annualized pace since March, while manufacturing construction ran about 19% below a year earlier. Last week's checkpoint asked exactly this: one category is carrying the sector, so the number to forecast is how fast backlog turns into revenue, not how big the backlog is. Nothing material came out of ERCOT this week, and the Texas audit of pending data-center hookups ordered Aug 3 is still running.
And the newsletter, on itself: last Sunday this paragraph promised the Sept 7 and Sept 14 calls in the record file, graded or marked abandoned. That did not happen. The file still reads three claims, one hit, two misses, zero open, and it was last generated on . This is the fourth week. Issue №019 on made a call that resolves on a date: the enterprise SSD demand read holds unless Micron's Sept 30 print showed data-center flash softening or customers building inventory. The print came in well above guide, and data-center revenue grew by more than half on the quarter. But the call named flash memory specifically, and this run has not checked the flash commentary. So it is not graded here. The trading engine had its changes reviewed by a second model before they shipped. The newsletter has three unrecorded calls and no reviewer. Next Sunday: all three in the file, each with a date and a verdict.