Notebook 025 — We Sold AAPL, Passed on ARM, and Fixed the Book
Trading journal from a systematic desk, not trading advice.
Notebook 024 was the reset. This week was the first real test of running it live through an NFP print, a deliveries hangover, and a three-day weekend gap.
The headline: we made money without forcing entries. AAPL hit its target Thursday morning. ARM — the only armed lane going into the week — never got a clean shot and then broke its band so badly we disarmed it for Monday. AMZN is the only open position, GTC 249 working. Equity closed Thursday around $1.016M, day P&L roughly +$1.3K, posture MIXED.
Zero fresh auto fills on a day when a lot of names moved. That was the right outcome. The interesting part is what almost went wrong underneath.
The week on the tape
Monday (Jun 29) was a manage day. We’d taken profit on ARM intraday around 343 the prior session — a manual exit, not a target fill — and tightened AMD, AMZN, and ARM back to watch_only so the desk wouldn’t re-chase. AMZN stayed open: 310 shares around 241.62, GTC sell at 249. The fade after fill was real; the plan said manage, not add.
Tuesday–Wednesday the book didn’t get more complicated. NFP was Thursday. Lab review flagged MSFT geometry with zero cushion and SPCX in-zone fill risk ahead of a long weekend — so both went to stand-down. ARM became the only armed lane. AAPL and AMZN had explicit weekend rules: hold only if above entry after the print; flatten at 3:30 if red.
That’s a small book on purpose. Notebook 024’s whole point was fewer lanes, stricter gates. This week we actually ran it that way.
Thursday (Jul 2) was the session that mattered.
AAPL did what the plan asked. We’d been managing 128 shares from a reclaim entry around 291.82 with GTC 301.5 working. Thursday morning it filled — sold into the 299–301 resistance zone for a clean target exit. Meanwhile the stock put on a +4.8% breakout day, punching through a month-long falling channel. Seller exhaustion on the flow tape (−$83M tick-rule on a huge up day — likely short-cover, not fresh accumulation). Good exit, strong tape after we were out. Classic systematic outcome: the target worked; the bigger move came without us.
TSLA was the other story. Deliveries sell-the-news: −6.8%, heaviest equity-flow day on the watchlist at −$2.50B once we backfilled the missing Lab print Thursday night. The 388–394 retest band held structurally — price closed right at the top — but one afternoon of stabilization after a waterfall is not a buy signal. Watch-only was correct.
ARM was the near-miss. It was our only armed name going into Thursday. The 335–340 pullback band was the whole fresh-entry budget. ARM opened inside the band, rallied to 358, then collapsed 14% intraday and closed near 315 — below zone, below VWAP, −13% vs its 20-day MA. The evaluator would have blocked a morning entry anyway (below zone at the open). But chart review that night made the real problem obvious: the band had failed as support. A Monday rally back into 335–340 isn’t a dip buy anymore — it’s buying into Thursday’s trapped longs. We disarmed it.
QQQ faded −1.6% from the open into the bell and closed below session VWAP, −4.5% over 21 days, pinched between its 20- and 50-day MAs. SPY looked better on structure but also closed below VWAP. Broad mega-cap distribution: NVDA sell-led nine of nine sessions since Jun 22, MSFT chronic selling, META’s Wednesday pop fully engulfed Thursday. MIXED posture, manage-first tape.
AMZN — the only position left — held above entry, GTC 249 still working into the falling-channel ceiling around 243–244. Manage-only. No adds.
What we didn’t do (and why that counts)
No ARM entry. No TSLA catch. No MSFT chase into a +12% four-day bounce sitting at the 390–395 supply shelf. No META dip buy into a downtrend of lower highs.
On a greenfield stack still earning trust, a flat fresh-entry column on a distribution day is a passing grade. Notebook 022 made geometry the scoreboard. This week geometry and discipline beat FOMO again — except this time the discipline was encoded in plan status, weekend hold rules, and a single armed lane instead of a human talking ourselves out of trades at 10:15.
The one trade that fired was a GTC target on a position we already owned. That’s the desk we said we wanted in Notebook 024: the plan executes; the runtime doesn’t invent trades.
What broke — and what we fixed
Two problems surfaced this week. Both showed up because we were trading, not in spite of it.
The ledger lied once too often
Wednesday we closed a loophole: completed trades now require a broker order id. A phantom GOOGL row had been re-materializing from inference — the ledger said we’d done something the broker never recorded.
Thursday we went further. The whole week, the executor had been guessing fills by diffing snapshots every ten seconds. That’s how you get spurious SOLD states and duplicate-order scares. Thursday’s session — manage-only book, AMZN GTC resting, ARM blocked below zone — was the shadow-validation day. Journal and old reconcile agreed: zero divergences.
Thursday night, market closed, we cut over. The broker websocket is now the source of truth. The ledger is a fold over append-only events. If it’s wrong, we rebuild from order history instead of running surgery scripts.
Why now: AAPL’s target fill and AMZN’s open GTC are exactly the kind of lifecycle events that need to be unquestionably right going into a three-day gap. We weren’t going to carry inference debt into Monday.
The plan can go stale without anyone editing it
ARM was the lesson. The JSON still said daily_review with a 335–340 entry band. Price moved; meaning inverted. Same class of bug on MSFT (370–371 reclaim trigger twenty points below market), AMD (528–535 band with price already below it), META (dip-band logic on a name breaking down, not extended).
We’d have caught ARM eventually at the open — below zone, BLOCK. But “below zone” isn’t the same as “band failed as support and is now overhead supply.” Those are different trades with the same price level.
So we shipped a geometry validator that runs before every session plan goes live: dip bands above the close, spent reclaims, armed plans sitting under avoid_below. Exit code 1 means the board doesn’t sign off. Chart review Thursday night applied seven amendments for Monday — ARM disarmed, AAPL retest lane proposed at 302–306, stale MSFT/AMD/META triggers retired, NVDA demoted to backup with a hold-and-reclaim gate.
Why now: Monday is the first holiday gap on the greenfield stack. Gaps don’t care what your JSON said on Thursday.
Small fixes that saved Sunday night
TSLA’s −$2.50B flow day was missing from the 20:30 Lab refresh. One blank tile in a panel of numbers is worse than no panel — you don’t know what to trust. Backfilled Thursday night; scheduled daily Lab refresh Mon–Fri at 4pm ET so we stop depending on someone remembering after the bell.
Session brief on the dashboard — macro gate, Monday checklist, open positions, gap rules — so the operator doesn’t open six files at 6:30am. The console stays read-only. It just now shows what Sunday night decided.
Going into Monday
Three-day weekend. Thu close → Mon open. No chase on the gap.
Open book: AMZN 310 sh, GTC 249. That’s it.
QQQ regime at 6:30 sets the budget:
- Above ~721 → backdrop improves; AAPL retest lane has index support
- 709–721 → mush; one fresh entry at most
- Below ~707 (MA50 break) → no fresh entries anywhere
If the board approves Sunday night: AAPL B-tier retest at 302–306, $40K, is the only armed auto candidate — buy the pullback to the broken channel ceiling, not the +4.8% chase into 315/317 supply. NVDA is backup only, with a stricter gate (own VWAP reclaim + QQQ above VWAP; first touch doesn’t count). ARM stays disarmed. TSLA watch-only despite holding the band — stabilization ≠ reversal after a −$2.5B day.
Lab breadth says treat one fresh entry as the realistic Monday budget even though MIXED allows two. On a rotted tape below the 20-day, that’s a feature, not a bug.
The lesson
Notebook 024 cleared the board. This week we learned what running it actually feels like.
Good week on the desk: one planned target exit, one managed position, no cap breach, no chase into TSLA deliveries or ARM’s afternoon collapse, no fresh entries on a QQQ fade day.
Good week under the hood: the ledger stopped guessing the day we needed it to, and we caught inverted geometry before it could arm into Monday’s gap.
The system isn’t trying to be busy. It’s trying to be right about the trades it takes — and honest about the ones it doesn’t.