Total value$294,646
Join the waitlistAll systems live

The Organism

A population of trading behaviors under natural selection on the research account. Capital is the reward signal: fitness grows a genome's cell, losses starve it, death writes an autopsy the AI researcher reads before breeding the next candidate.

As of Sep 15, 2026, 08:20 PM ET

?

How this page works

Every genome is a small, testable trading behavior with its own capital cell. Nightly selection rewards winners (bigger cell), punishes losers (smaller cell), and retires the persistently unfit. Every evening the AI researcher autopsies the day, appends to the journal below, and may mutate parameters or birth up to two new genomes — each requiring a passing net-of-cost backtest before its first paper trade.

Plain-English terms

  • GenomeOne trading behavior with fixed, testable rules — e.g. "buy the TSLA opening-range breakout, hold to the close".
  • CellThe capital a genome is allowed to trade. Growing cell = the system trusts it more. Starved cell = on its way out.
  • FitnessA rolling score of net returns minus a drawdown penalty. Positive = rewarded, negative = punished.
Account value
$98,021
the Organism's account, live
Account today
$0
Live strategies
0
3 retired · allocated $0
Banked (closed trades)
-$1,966.90
today +$0

Shadow nursery

New strategies audition here with ZERO dollars — their live signals are scored for real, and selection funds them automatically once ~30 live trades prove the edge (or retires them if it doesn't).

Genome: TSLA MACD Trend

0 of 30 scored trades toward promotion · net $0.00 · 1 live signal riding now

In-Play Momentum

183 of 30 scored trades toward promotion · net -$541.30 · 9 live signals riding now

today: WOR, KNX, BNL, PCVX, OFRM, RVTY, GRAL, SFL

The swarm — 2,068 strategy variants

Every variant trades a $1,000 shadow book on live prices — long, short, follow, fade — across 44 liquid names. No real dollars. Survivors with 10+ profitable days graduate to a nursery audition; the rest die quietly.

Momentum follow × 528

price moved off the open beyond a threshold — ride it

Momentum fade × 528

same trigger, bet the move reverses

Gap play × 528

overnight gap up/down — follow it or fade it

Opening-range break × 352

price breaks the first 15 minutes' high (long) or low (short)

Overnight hold × 132

buy the close, sell tomorrow's open — always, or only after up/down days

Current leaders

gapfollow_PLTR_3_1555+$122.87 · 10d
momo_ORCL_6_1000_1555+$119.89 · 10d
momo_ORCL_3_1000_1555+$108.78 · 11d
fade_CRM_3_1000_1555+$105.24 · 11d
gapfollow_PLTR_6_1555+$105.22 · 8d
ovn_META_always+$103.64 · 10d
gapfollow_PLTR_10_1555+$102.81 · 7d
ovn_META_upday+$97.33 · 7d

Graduation candidates (20)

gapfollow_PLTR_3_1555+$122.87 · PF 6.25
momo_ORCL_6_1000_1555+$119.89 · PF 8.47
momo_ORCL_3_1000_1555+$108.78 · PF 5.01
fade_CRM_3_1000_1555+$105.24 · PF 11.45
ovn_META_always+$103.64 · PF 4.5
gapfollow_PLTR_3_1200+$91.69 · PF 3.71
gapfade_INTC_3_1555+$80.52 · PF 2.38
gapfade_INTC_3_1200+$73.73 · PF 2.43

Population

Each genome's lifecycle stage, capital cell (vs. its stage cap), fitness curve, and live record.

GenomeStageCellCurveFitnessTradesBanked P&LBorn
tsla_morning_pullback

2026-09-11starvation(15d fitness<0)

Retired-0.026022-$2,097.502026-08-15
g_tsla_orb15_holdeod

2026-09-08starvation(15d fitness<0)

Retired-0.007611$128.382026-08-15
g_tsla_macd_trendEmbryo
$0
0.00001$2.222026-08-15
orb_inplay

2026-08-23failed pre-live revalidation: 6-config battery on the in-play universe, all negative (best -0.30R IS / -0.36R OOS at RVOL>=3); never traded a dollar

Retiredgathering…02026-08-23
g_inplay_firstbar_momoEmbryo
$0
gathering…02026-08-24
g_rvol_fade_5dEmbryo
$0
gathering…02026-09-09

Selection ledger

The reward/punishment trail — every capital move, promotion, and death, newest first.

  • death

    tsla_morning_pullback

    starvation(15d fitness<0)

    Sep 11, 2026, 08:20 PM ET
  • death

    g_tsla_orb15_holdeod

    starvation(15d fitness<0)

    Sep 08, 2026, 08:20 PM ET
  • promote

    g_tsla_orb15_holdeod

    EMBRYO→PAPER (10 trades, net>0)

    Sep 02, 2026, 08:20 PM ET
  • punish

    tsla_morning_pullback

    cell $2,373→$2,000 (fitness -0.0120)

    Sep 01, 2026, 08:20 PM ET
  • punish

    g_tsla_orb15_holdeod

    cell $2,531→$2,000 (fitness -0.0062)

    Aug 31, 2026, 08:20 PM ET
  • punish

    tsla_morning_pullback

    cell $3,164→$2,373 (fitness -0.0108)

    Aug 31, 2026, 08:20 PM ET
  • punish

    g_tsla_orb15_holdeod

    cell $3,375→$2,531 (fitness -0.0061)

    Aug 28, 2026, 08:20 PM ET
  • punish

    tsla_morning_pullback

    cell $4,219→$3,164 (fitness -0.0096)

    Aug 28, 2026, 08:20 PM ET
  • punish

    g_tsla_orb15_holdeod

    cell $4,500→$3,375 (fitness -0.0060)

    Aug 27, 2026, 08:20 PM ET
  • punish

    tsla_morning_pullback

    cell $5,625→$4,219 (fitness -0.0083)

    Aug 27, 2026, 08:20 PM ET
  • punish

    g_tsla_orb15_holdeod

    cell $6,000→$4,500 (fitness -0.0067)

    Aug 26, 2026, 08:20 PM ET
  • punish

    tsla_morning_pullback

    cell $7,500→$5,625 (fitness -0.0069)

    Aug 26, 2026, 08:20 PM ET
  • death

    g_inplay_firstbar_momo

    shadow_failed(n=40,pf=0.7294634944440657,age=1d)

    Aug 25, 2026, 08:20 PM ET
  • punish

    g_tsla_orb15_holdeod

    cell $8,000→$6,000 (fitness -0.0082)

    Aug 25, 2026, 08:20 PM ET
  • punish

    tsla_morning_pullback

    cell $10,000→$7,500 (fitness -0.0054)

    Aug 25, 2026, 08:20 PM ET
  • punish

    tsla_morning_pullback

    cell $2,637→$2,000 (fitness -0.0010)

    Aug 24, 2026, 08:20 PM ET
  • reward

    tsla_morning_pullback

    cell $2,109→$2,637 (fitness +0.0010)

    Aug 21, 2026, 08:20 PM ET
  • punish

    tsla_morning_pullback

    cell $2,812→$2,109 (fitness -0.0145)

    Aug 20, 2026, 08:20 PM ET
  • punish

    tsla_morning_pullback

    cell $3,750→$2,812 (fitness -0.0209)

    Aug 19, 2026, 08:20 PM ET
  • punish

    tsla_morning_pullback

    cell $5,000→$3,750 (fitness -0.0314)

    Aug 18, 2026, 08:20 PM ET

Senses

This morning's free-data market snapshot — what the organism (and its researcher) can see.

2026-09-16

S&P 500

760.18

+0.36%· uptrend

VIX

17.2

elevated

Most active

SNYR · DLXY · QCLS

by volume

Headlines

  • MSFT,NVDACathie Wood Says SpaceX Didn't Need an IPO—Until Data Centers in Space Came Along
  • JBHT,KNXQUICK SPARK: $6 Diesel Triggers JB Hunt Stock's Worst Day Since March 2020
  • MRKHere’s How Much You Would Have Made Owning Merck & Co Stock In The Last 5 Years
  • AAPL,AXPWarren Buffett, Donald Trump Bet on Same 17 Stocks — Some Might Surprise You
  • CRM,GOOGNvidia Is Fighting the AI Slowdown Narrative—With Power as Its Next Problem

Research journal

The organism's append-only memory: autopsies, hypotheses tested, births, and the do-not-retry list. Written nightly by the AI researcher.

50 experiment artifact(s)
# Organism research journal — append-only The organism's long-term memory. Every researcher session APPENDS an entry; nothing is ever rewritten or deleted. Read this file (newest-first is fine) before proposing anything — **dead ideas stay dead** unless new evidence is cited explicitly. Format per entry: ``` ## YYYY-MM-DD — <one-line headline> **Autopsy:** what yesterday's trading did right/wrong (genome by genome, with $). **Hypotheses tested:** idea → backtest verdict (net-of-cost numbers, not vibes). **Actions:** births (genome_id + gate evidence), mutations (param, before→after, why), kills proposed, no-ops. **Do-not-retry:** ideas confirmed dead this session, and why. ``` --- ## 2026-09-13 (weekly session) — The organism now has ZERO funded cells; Polygon-lapse bridge decisively fails; gap-fade DEAD **Autopsy — the last funded cell died.** Watermark was 2026-09-09. Since then: `tsla_morning_pullback` (mp) — the population's ONLY funded cell — starved to death on 2026-09-11 (`neg_streak=15`, fitness -0.026), exactly the risk flagged loudly last session. Final legs before death, all losses: 09-09 long -16.32, 09-09 short -8.11, 09-10 short -9.96, 09-10 short -3.35, 09-11 short -13.25 (5 straight losing legs, 4 of them short). This closes the long-vs-short question raised 09-09: full post-guard (>=08-24) lifetime record is **longs 2W/1L net -$0.01** (flat, not edge, n=3 too thin to call) vs **shorts 1W/8L net -$452.23** (-$54.72 excluding the one oversized pre-fix 08-25 leg) — the short side never stopped losing. Lesson appended to `lab/memory/experiments/tsla_morning_pullback_2026-09-11.json`: any future revival should be long-only and needs a fresh backtest, not a re-fund on this record (n=3 is absence-of-counterevidence, not evidence). Combined with `g_tsla_orb15_holdeod` (starved 09-08, autopsied last session), **the organism has deployed exactly $0 of capital since 2026-09-08.** This is the single most important fact this session — not a bug, fair selection working as designed twice in a row, but a structural fact the owner should see stated plainly: five weeks of research have produced zero live-funded strategies right now. **Nursery status:** 3 of 4 SHADOW slots filled, no promotions, no kills. - `g_tsla_macd_trend`: still the same single TSLA long from 2026-08-24 (20 days), 0 closed trades — unchanged from last session's read (cell floor bootstrap issue, not a bug). - `g_inplay_firstbar_momo`: day 10 now (was day 8 last session). Two MORE losing days landed on top of the -305.00 bad day already reported: 09-10 -52.40, 09-11 -144.66. Cumulative net is now **-$275.98** (was -$78.92), PF **0.829** (wins $1,335.37 / losses $1,611.35), 3 losing days in a row wiping out the entire +226.08 run that existed at day 7. Day-15 kill line needs PF<1 at day>=15 — still 5 days away, no action, but the trend line is bad and worth a hard look next session if it continues. - `g_rvol_fade_5d`: **still zero trades, still no systemd timer**, now 4 full trading days after birth (09-09) with no evidence accumulating at all. Flagged again, more urgently: its promotion/kill clock cannot start until this is wired. This is a deploy action for the owner (`python3 -m harness.rvol_fade_run daily`, once after the close, weekdays), not something I can do from here per last session's own call — but four idle days is long enough to escalate the flag rather than just repeat it quietly. - Swarm digest (`harness/state/swarm_digest.json`): 1,813 active books, still **0 gate_candidates**. No pre-screened SHADOW material from the swarm this week either. **Decisive investigation — the Polygon-lapse IEX/SIP bridge fails (backlog URGENT item 2, deadline "before ~09/18", i.e. THIS session or next).** 11 days of `harness/state/iex_sip_compare.jsonl` (top-100 RVOL zone, SIP dollar-volume vs free Alpaca-IEX dollar-volume, per symbol per day). Spearman rank correlation: 0.373-0.716 per day, **mean 0.599** — nowhere close to the >0.9 bar the backlog itself set for "port RVOL to IEX-only." Worse, the number that actually matters for a TOP_N=20 basket genome is rank overlap AT the cutoff, not overall correlation: mean Jaccard@20 = **0.403**, mean top-5 overlap fraction = **0.38**, mean top-3 = **0.367**. Concretely: on a typical day, an IEX-only RVOL substitute would swap out roughly **6 of every 10 names** in the top-20 book versus what SIP-based ranking would have picked — the exact construction that earned the backtested OOS Sharpe 1.9-2.0. **Verdict: no free substitute exists for the SELECTION side of `g_inplay_firstbar_momo`. When Polygon dies (~2026-09-20, one week from today) the genome's ranking step goes blind — it must be frozen/paused at lapse, not silently switched to a proxy that was never validated and whose overlap with the real signal is barely better than a coin flip.** This is disclosed now, with a week of runway left, rather than found out the hard way when the key dies mid-week. Separately, and NOT blocked by the above: entry/exit MARKS only need any live price, not a SIP-truth one, so `harness/inplay_momo_run.py:_last_price` was ported this session — Polygon first while the key lives, falls back to `marketdata.alpaca_latest_trade` (Alpaca IEX) on failure — so marking (not selection) survives the lapse cleanly. Tests still green (`pytest tests/test_organism.py tests/test_rvol_fade.py` — 54 passed). **Hypothesis tested (backlog item 5, cheap/fast per its own framing): SPY/QQQ opening-gap fade.** `harness/data/sip/min5_panel.parquet` checkpoint panel (prior_close/o930/c1030, 1,251 days each symbol, 2021-08-27..2026-08-21). 6-config family (SPY+QQQ x gap threshold {0.3%, 0.5%, 0.8%}), fade direction = -sign(gap), entry at open, exit at 10:30 checkpoint, 10bps RT, IS<=2024-12-31/OOS>=2025-01-01, Bonferroni alpha=0.05/6 (crit |t|=2.644). Positive control (gross, all gaps pooled): ~flat (+0.0035%/trade, win rate 0.503) — and actually NEGATIVE in-sample at every SPY threshold (fading lost money gross, 2021-2024; gap CONTINUATION would have been better that period). **DEAD, exactly as the backlog predicted it would be:** 5 of 6 OOS configs net PF<1 (0.62-0.92); SPY 0.3% clears the family-wide Bonferroni bar in the NEGATIVE direction (t=-2.688) — small gaps continue, they don't fade. The one config with OOS PF>=1.0 (QQQ 0.8%, PF 1.007) sits at t=0.03, indistinguishable from zero — not a rule-3b narrow miss (that band is for a directionally strong result just short of the bar, not a coin flip), so no SHADOW birth. Full numbers: `lab/memory/experiments/index_gapfade_backtest.py` + `.json`. **Housekeeping:** `lab/memory/icarus_shadow.json` (the Icarus fade family's live paper book, written nightly by `scripts/icarus_scan_run.py`) was untracked in git despite living under the always-committed `lab/memory/` — committed this session. Status unchanged from a research standpoint: 1 closed trade (TJGC, -6.16% net), 2 open, decision gate needs >=60 trades/PF>=1.3 — far from anything actionable. **Actions:** 1. Filled in the death lesson on `tsla_morning_pullback`'s retirement artifact (long-only-if-revived, do not re-fund on this record alone). 2. Fixed `harness/inplay_momo_run.py:_last_price` to fall back to `marketdata.alpaca_latest_trade` when Polygon fails — protects firstbar_momo's entry/exit MARKS (not its selection ranking) across the Polygon lapse. 3. Decided the IEX/SIP RVOL bridge question the backlog demanded a decision on: it fails, no code changes follow from that (there is no good substitute to switch to) — the decision itself, stated plainly with numbers, IS the deliverable, so the owner isn't surprised when the genome goes blind at lapse. 4. Tested and killed backlog item 5 (index opening-gap fade) — DEAD, matches its own predicted outcome. 5. NO births this session. No swarm gate-candidates, and the gap-fade result was noise-level (not a rule-3b narrow miss), so forcing a 4th SHADOW slot would have been exactly the "sloppy birth to fill a quota" the contract warns against. Nursery stays at 3/4. 6. NO mutations to living genomes — macd_trend is unchanged and waiting on cell funding (a selection question, not a signal one); firstbar_momo's decline is real but not yet at a decision point (day 10 of 15) and no per-symbol trade detail was available this session to ground a specific parameter mutation (only day-level nets are retained; per-symbol logs from the systemd-run select/exit jobs were not accessible this session) — flagging that gap rather than guessing at a mutation from day-level noise alone. **Do-not-retry:** SPY/QQQ opening-gap fade (any of 6 configs: 2 symbols x {0.3%,0.5%,0.8%} threshold) — 5/6 OOS configs net PF<1, the strongest result clears the family-wide Bonferroni bar in the WRONG direction (continuation beats fade at small gaps). IEX-only RVOL substitution for `g_inplay_firstbar_momo`'s selection step — mean rank correlation 0.60 and top-20 overlap 40% against true SIP volume, far short of the >0.9 bar needed to trust it; do not wire this in even after the Polygon key dies, the genome should be frozen instead unless a better free proxy is found. **Tone:** the headline this week isn't a new discovery, it's an inventory check — the organism is currently trading zero dollars of its own capital, and the flagship SHADOW discovery (firstbar_momo) is one bad week away from both a PF-based kill AND losing its data source in the same month. Neither is a bug; both are real. The Polygon-bridge question had a hard external deadline and a firm no answer, which is a better use of a session than a hopeful maybe would have been — the gap-fade test was a cheap confirmation of an already-expected DEAD verdict, run because the contract's no-op bar requires attempting the top backlog item and this one was fast enough to fit after the bridge work. Next session: check whether firstbar_momo's PF keeps sliding toward the day-15 line, whether rvol_fade_5d ever got a timer, and whether the owner wants a plan for what runs in the nursery once Polygon actually dies (~09-20, likely to fall right before or during next week's session). ## 2026-08-15 — Organism born (seed population) **Autopsy:** n/a — first entry. Prior system history: 36 books culled 2026-08-14 (all options + all unprofitable equity). Survivors became the seed gene pool. **Hypotheses tested:** none this session — seeds carry prior validation: - `g_tsla_orb15_holdeod`: 7yr TSLA 5-min battery winner (net Sharpe ~1.25 w/ QQQ filter, OOS 1.12, positive every year). Born EMBRYO $2k. - `g_tsla_macd_trend`: 26-strategy daily battery winner (net Sharpe 1.02/0.85 OOS). Born EMBRYO $2k. - `tsla_morning_pullback` keeps its dedicated timer (live +$3.3k/60 fills); migrates into the runner after parity is proven. **Do-not-retry (inherited from repo history — cite new evidence to reopen):** - Mean-reversion / VWAP-fade / RSI-fade on TSLA intraday: LOSES net-of-cost (2026-06-24 battery, all variants). - "Wait for the pullback/FVG retrace" on TSLA breakouts: fights the edge. - Naive ORB without liquidity/RVOL context on general stocks: zero-slippage artifact (2026-06-05). - Ross Cameron momentum-pullback on gappers: cost artifact, OOS PF 0.97 @5c slippage (2026-06-15). - Indicator-confluence day-trading (multi-indicator voting): PF 0.80 net (2026-06-08). - Options strategies of any kind: NO free real-time options feed exists (2026-08-14 verification) — do not propose until that changes. - Fixed 2:1 targets on TSLA ORB: cuts Sharpe (1.33→1.15). Hold-to-close wins. - Pre-FOMC drift, ETF pairs, BAB/low-vol tilt, VRP overlay: all dead in the 2026-06-04 105-agent research sweep (no net retail edge). ## 2026-08-15 — VWAP+EMA9 battery (owner-proposed): NO deployable entry edge **Hypotheses tested:** the four canonical VWAP+EMA9 intraday playbooks on 5-min RTH bars, TSLA (2021-2026) + SPY + QQQ, net 5bps/side, IS (…2024) vs OOS (2025…), ~30k trades examined. Engine sanity: the VWAP-fade control lost everywhere, consistent with the 2026-06-24 battery. Full code + numbers: lab/memory/experiments/vwap_ema9_battery.py - EMA9×VWAP crossover: TSLA IS PF 1.23 (+74%) → OOS PF 0.65 (−41%). GROSS OOS is also negative (−3.2 bps/trade) — the signal decayed, not just the costs. SPY/QQQ: loses both segments. Classic IS-only artifact. - Trend-pullback to EMA9 above/below VWAP (raw): PF 0.10–0.36 everywhere. Fires ~6k times; death by frequency × costs. - Steel-manned selective version (AM-only, ≤2/day, first-pullback, ≥0.2% stretch): PF 0.29–0.53 net on all 3 symbols BOTH segments, and NEGATIVE GROSS on TSLA (−4 bps/trade) — no cost model rescues a no-gross-edge signal. - VWAP reclaim w/ EMA9 slope: PF 0.15–0.53 everywhere. **Actions:** no birth. Battery archived to experiments/. **Do-not-retry:** VWAP+EMA9 (any of: crossover, trend-pullback, reclaim, fade) as an ENTRY signal on liquid large-caps at 5-min — no gross edge OOS, and 10bps round-trip exceeds the signal. The components remain valid as MANAGEMENT tools (the live tsla_morning_pullback winner already trails with EMA9; VWAP-side bias is admissible as a FILTER on a validated structural entry, e.g. ORB — that combination is untested and is the only respectable follow-up). ## 2026-08-15 (later) — ORB×VWAP filter: redundant · Entry-style: genome MUTATED **Hypotheses tested:** (1) VWAP-side bias as a filter on the validated ORB-15 entry — the one respectable follow-up from the VWAP+EMA9 battery. (2) The live genome's close-through entry vs the June battery's stop-at-level fill. Evidence: lab/memory/experiments/orb15_entry_style_backtest.json (+ code). - VWAP filter: NO-OP. qqq+vwap produced the IDENTICAL trade list to qqq — a close through the OR high is always above session VWAP already. - Entry style: stop-at-level beats close-through in BOTH halves (IS Sharpe 0.63→1.03; OOS PF 0.911→1.048, avg −0.037R→+0.023R). The close-through variant this genome launched with was quietly giving back the first leg of every breakout. **Actions:** MUTATION (owner session): g_tsla_orb15_holdeod now arms a resting STOP order at the OR level on the QQQ-agreeing side, cancels/re-arms on tape flips (the Pine's OCO behavior). Runner gained a pending-order lifecycle (submit_stop / order_status / cancel_order; fills convert to positions at the actual fill price; unfilled orders expire 15:30). 39 tests green. **Do-not-retry:** VWAP-side filter on ORB-15 (mathematically redundant at the trigger). Close-through entries on level-break strategies when a resting stop order is available — the fill model IS part of the edge. ## 2026-08-15 (later still) — Momentum rotation: NO BIRTH (loses to SPY) **Hypothesis tested:** cross-sectional 12-1 momentum, long-only top decile, monthly rebalance, on the SURVIVORSHIP-FREE panel (5,511 tickers incl. 1,541 delisted, 2021-05→2026-05), net of costs, one fixed config (N=1, no sweep). Evidence: lab/memory/experiments/momentum_rotation_backtest.json - Bias-free, research costs: IS Sharpe 0.78 (DSR 0.93) → OOS Sharpe 0.49 (DSR 0.73), OOS net +9.97%. Realistic costs: OOS 0.48, +9.64%. - Benchmark, SAME OOS window: SPY buy-and-hold +22.2%, Sharpe 0.84. - Survivorship isolation: dropping all 1,541 delisted names moved OOS Sharpe 0.494→0.498 — the bias is ~nil in this window/universe. **Actions:** NO birth — positive absolute returns but roughly HALF the risk-adjusted return of doing nothing (SPY). Fails the opportunity-cost bar that retired low_vol_etf_tilt (2026-06-04). **Do-not-retry:** plain 12-1 monthly momentum rotation on the broad US panel as a genome, unless a variant demonstrably beats SPY OOS net-of-cost (regime gating or vol-targeting would need their own honest N-trials accounting). ## 2026-08-15 — EPOCH RESET: fresh accounts, day zero Owner deleted the three original paper accounts and created new ones, each $100k: core PA3ESRQAV5PY · highrisk PA3UM5SV3FY3 · organism PA3Y2UAU2W8W (all ACTIVE, crypto ACTIVE, shorting enabled). Keys rotated on Mac + VPS. Database truncated after backup (/home/tradervex/backups/pre_reset_2026-08-15 .sql.gz) — the public track record starts HERE. Pre-reset history and every lesson from it live in THIS journal and experiments/; the Do-not-retry list carries forward. Breaker/HWM/killswitch/book state reset to $300k baseline; stale strategy state archived to harness/state/archive_pre_reset_2026-08-15/. Monday is day one of the clean record: stock engine rebuilds its book, morning-pullback + ORB (stop-entry) + MACD genomes trade the organism account. ## 2026-08-15 (weekly session) — PEAD long-only: NO BIRTH, prior claim refuted **Autopsy:** watermark unchanged — epoch reset happened earlier today, zero trading days have elapsed since (Saturday night, market closed all weekend), population still 2 EMBRYO cells / 0 live trades / 0 fills in `trades` since the reset. Nothing to autopsy mechanically; no bug, no parameter data. **Hypotheses tested:** population has headroom (2/12), so used the pre-Monday window to test the one concretely-named fair-game idea in the researcher contract: PEAD long-only (earnings-reaction pop → hold 3 days), using the existing decision core at `harness/strategies/pead_live.py`. Built a FRESH backtest this session — EDGAR 8-K/item-2.02 filings (via `company_tickers.json` + `submissions/CIK##########.json`, keyless) for earnings-reaction dates, Alpaca daily bars already cached in `harness/data/` for prices, 108 large-cap liquid names, chronological max_concurrent=8 portfolio sim, 5bps/side cost. Code + artifact: `lab/memory/experiments/pead_earnings_drift_backtest.py` + `.json`. - IS (2025-01-21…2025-10-31, n=69): PF gross 0.983 / net 0.918, avg ret/trade net −0.13%. OOS (2025-11-01…2026-05-20, n=56): PF gross 1.037 / net 0.982, avg ret/trade net −0.03%. **Gross is flat-to-negative in BOTH windows** — this isn't a cost-erosion story, the raw signal has no edge before costs either. Portfolio max DD 2.41% (fine, but moot given no edge). - Gates (OOS, net): PF≥1.15 FAIL (0.982). ≥100 OOS trades FAIL (56, real count, universe/window is just thin — not padded to hit the number). MaxDD≤20% PASS (2.41%). Overall 1/3 — **NO BIRTH**. - Data caveats worth remembering: XOM's ticker maps to a shell entity in SEC's `company_tickers.json` (zero filings) — needed a manual CIK override to the real ExxonMobil filer (34088) to get its 26 8-Ks; other symbols may have similar shell/restructuring mismatches undetected here. TSLA's 8-K 2.02 tag also catches monthly/quarterly delivery-number releases, not just GAAP earnings — roughly half its 14 triggers in-window are delivery prints, a known imprecision of the free-EDGAR proxy vs. a real earnings calendar. Sample is thin regardless (~16 months of cached bars, 1-2 earnings cycles per name) — this result should be read as "no edge found in a fair, if short, test," not a definitive multi-cycle refutation. **Actions:** no birth, no mutation (nothing live to mutate), no bug fix (nothing has traded yet). Population unchanged at 2 EMBRYO cells. **Do-not-retry:** the repo's prior "PEAD long-side validated +0.79%/trade (2026-06-05)" claim is REFUTED by this fresh, honest, net-of-cost run — do not re-cite that number as evidence for anything going forward. Plain earnings-reaction-pop-then-hold-3-days PEAD, entered via the free EDGAR 8-K/item-2.02 proxy at a 3% reaction threshold, on liquid large-caps: no gross edge in either IS or OOS window tested. A respectable follow-up would need either (a) much longer price history than what's currently cached (only ~16mo in `harness/data/`) before concluding anything more permanently, or (b) a cleaner earnings-only trigger that filters out non-GAAP 8-K/2.02 noise (e.g. TSLA's delivery prints) — untested, and not worth doing again without a plan to fix the trigger precision or extend the price history. ## 2026-08-16 (weekly session) — Crypto Donchian trend battery: NO BIRTH **Autopsy:** watermark unchanged since 2026-08-15 (epoch reset). Zero trading days have elapsed — Saturday night reset, Sunday all-weekend market closure, 0 fills in `trades` since the reset, `organism_runner.log` shows `actions=0` on every 5-min tick all day. `organism-select.timer` hasn't fired yet either (next run Mon 2026-08-17 20:20 ET — first selection cycle since the reset). Population unchanged: 2 EMBRYO cells (g_tsla_orb15_holdeod, g_tsla_macd_trend), 0 live trades each. Nothing to autopsy mechanically; no bug, no live param to mutate. **Hypotheses tested:** population has headroom (2/12) and carries zero crypto genomes despite crypto majors being explicit fair game (rule #5). Tested classic Turtle-style Donchian breakout trend-following, long-only spot, on the sandbox's full crypto allowlist (BTC/USD, ETH/USD, SOL/USD, LTC/USD) — daily bars, fresh Alpaca crypto fetch (keyless), 2021-01-01→2026-08-15 (SOL from its 2021-09 listing). Two canonical configs: System 1 (20-day entry / 10-day exit) and System 2 (55/20). Entry = close breaks above prior N-day high; exit = close breaks below prior M-day low (shift(1), no lookahead). Equal-weight 25%/symbol when signaled long, cash (0% yield) otherwise. Cost 10bps/side (20bps round-trip, the contract's stated crypto minimum). IS 2021-2024, OOS 2025-2026(→08-15). Code + full numbers: lab/memory/experiments/crypto_donchian_trend_backtest.py + `.json`. - System 1 (20/10): IS n=112, gross PF 3.29 / net PF 3.20, portfolio +705.71% (the 2021-2024 bull carried it hard). OOS n=49, gross PF 0.82 / net PF 0.78, avg net ret/trade −1.00%, portfolio −13.55%, max DD −37.7%. **Net PF < 1 OOS — fails the ≥1.15 gate outright.** - System 2 (55/20): IS n=48, PF 2.79/2.73, +120.7%. OOS n=22, PF 0.33/0.32, avg net ret/trade −6.26%, portfolio −31.4%, max DD −32.1%. Worse than System 1 — the slower system's few big whipsaws hurt more when the trend the whole method depends on isn't there. - Benchmark: BTC buy-and-hold same OOS window: −33.28%. Both systems lose LESS in absolute drawdown than holding BTC naked (partly just being out of the market more), but that's cold comfort — net PF < 1 means the strategy itself has negative expectancy, not just "beats a falling asset." - Read as regime, not bug: 2021-2024 was a historic multi-leg crypto bull — textbook trend-following terrain. 2025→2026-08 has been a grinding BTC-down / range-bound regime — the whipsaw environment trend-following is known to bleed in. This is the IS-only-artifact pattern already burned once this week (VWAP+EMA9 2026-08-15): great in-sample number, sample-dependent, no OOS edge. **Actions:** no birth. Gates (OOS, net, best of the two): PF≥1.15 FAIL (0.78 best case). ≥100 trades: pooled IS+OOS trade count clears it, but the OOS-only segment that matters for the PF number is thin (49, 22) — moot since PF already fails. MaxDD≤20%: FAIL (−37.7%, −32.1%). 0/3 on the segment that counts. Population still 2 EMBRYO cells, 0 live trades — nothing to mutate. **Do-not-retry:** plain Donchian/Turtle breakout trend-following (any of 20/10, 55/20) as a standalone long-only entry on the crypto majors basket (BTC/ETH/SOL/LTC) at daily granularity — strongly regime-dependent, decisively negative net-of-cost in the 2025-2026 chop/down window tested here. A respectable follow-up would need an explicit regime gate (e.g. only trade breakouts while a longer BTC trend filter — 200sma or similar — agrees) tested as its own honest IS/OOS split, not a data-mined patch on this result — untested, not worth attempting again without that plan. ## 2026-08-19 — Icarus fade (owner-proposed): reversal is REAL, the short expression is UNDEPLOYABLE **Hypothesis tested (owner, re: MRNA):** "stocks that go up too fast too quickly dip on profit-taking — fade them." Survivorship-free close panel (5,511 tickers incl. 1,541 delisted, 2021-05→2026-05), events = +50%/10d (E10_50, n=2,949) and +30%/5d (E5_30, n=6,518), 20-bar cooldown, entries at next close, IS ..2024-12 / OOS 2025-. Shorts net of 10bps/side + 25% APR borrow; long-continuation control; first-red-day trigger variant. Code + full numbers: lab/memory/experiments/icarus_fade_backtest.py + .json. - **The direction is right.** After a +50%/10d run, the average name bleeds: gross short +3.5%/10d, +8.1%/20d IS; +2.1%/+4.0% OOS. The long control LOSES in both segments (PF 0.48–0.93) — buying the spike is the worst seat at the table. Median short outcome positive nearly everywhere. - **The tradeable edge is thin and tail-poisoned.** Best config (E10_50 naive h20) OOS net PF 1.161 / +1.8%/event — a hair over the 1.15 gate — but single events lost −199%…−558% net (E5_30: −2,808%!). Close-only stops cannot cap an overnight squeeze; a handful of GME-style rips erase years of median wins. The faster E5_30 trigger is NET NEGATIVE OOS (PF 0.74–0.93). first_red (wait for the first −2% close) forfeits the early reversion without dodging the squeezes: OOS PF 0.94–1.10. - **Costs are understated by design:** flat 25% APR borrow; real HTB fees on exactly the squeeziest names run 100–300%+ and land on the worst events. The marginal 1.16 PF does not survive realistic borrow skew. - MRNA context on test day: +210%/10d, closed AT its run high, 4.3× volume — 3–6× beyond the tested threshold and still FRONT-SIDE (no distribution bar yet). Exactly the profile of the events that produced the tail losses. **Actions:** NO BIRTH. Verdict: mean-reversion after parabolic runs exists gross, but a naked-short genome fails on tails + borrow. The professional expression of this edge is DEFINED-RISK (long puts / put spreads, max loss = premium) — unavailable here: no options feed (2026-08-14 verification). **Do-not-retry:** naive or first-red-day SHORT fading of parabolic run-ups on the broad panel as a genome — OOS PF ≤1.16 with unbounded single-event tails. Reopen ONLY with (a) a real options feed for defined-risk expression, or (b) a portfolio-level sim with hard per-event notional caps + realistic per-name borrow-fee data showing the tails are survivable — neither exists today. ## 2026-08-19 (later) — Icarus, options expressions: PUTS DEAD on real data; spreads inconclusive **Correction first:** the repo DOES hold options history — harness/data/options, 2.4GB, 353 liquid underlyings, per-contract DAILY + 5-min TRADE bars, expiries 2024-05→2026-05 (Alpaca paid-era downloads), + SPY-only NBBO/OI. "We'd need to buy history" (earlier today) was wrong for a first pass. **Put-buying pilot (lab/memory/experiments/icarus_put_pilot.py):** 85 of 1,331 post-2024-06 parabolic events overlap the options universe; 28 had a tradeable put print (~45d, 95%-strike, 10% spread pads). Result: mean −49.3%/trade on premium, median −88.5%, win 21%, PF 0.27 — negative in 2024, 2025 AND 2026. The underlying reversal (+2-4% net short, prior battery) is REAL but SMALLER than what the options market charges at parabolic tops: entry IV is at panic highs, then crushes. Removing the spread pads entirely still leaves ≈−30%/trade — the pads are not the story. DEAD. Do-not-retry: long puts (or any long-premium structure) on parabolic-run-up fades — the vol is priced worse than the move. **Call-credit-spread pilot (icarus_callspread_pilot.py):** the vol-SELLING mirror — n=9 only (both legs rarely print same-day), and results carry crossed-print artifacts (ret-on-risk +890%/−170% are impossible for a defined-risk spread → stale trade prints, not real fills). INCONCLUSIVE, not dead. Two-leg structures cannot be priced from trade bars; they need historical NBBO QUOTES, which exist here only for SPY. Cheapest honest paths if ever revisited: a one-off CBOE DataShop/ORATS EOD-quote slice for the ~130 event names, or Polygon's quote tier (~$199/mo — NOT the $29 aggregates tier, which would not fix this). **Standing verdict on the whole Icarus family:** underlying short = marginal net with fatal tails; long puts = dead; credit spreads = untestable without quote data. NO BIRTH anywhere. The free nightly scanner + shadow book (scripts/icarus_scan_run.py, live since tonight) remains the only active piece; its pre-registered gate (≥60 shadow trades, net PF ≥1.3) is now the bar for spending anything on quote data for the spread variant. ## 2026-08-19 (owner decisions) — researcher 2x/week; reserve stays cash; e2e validation **Owner: "proceed with recommendations, validate end to end."** - **Researcher cadence → Sun + Wed 23:30 UTC** (was weekly). Owner has pushed twice for more AI-strategy flow; sessions are Haiku on the metered key, so doubling is cheap. Timer deployed + verified — the FIRST Wednesday session fires tonight. Prereqs re-verified: claude CLI 2.1.233 at /home/tradervex/.local/bin/claude, ANTHROPIC key present, wrapper intact. - **Cash reserve ($100k) stays idle.** Trigger to revisit, pre-registered: when the Organism's allocated cells exceed ~60% of its own $100k account (currently $7,750 = 8%), reserve deployment becomes a real conversation. Capital is earned by results, not granted by boredom. **End-to-end validation (all green):** full suite 4,802 passed / 0 failed; VPS on latest commit; 25+ timers armed with sane next-runs; icarus unit force-run OK (walk-back + idempotency verified); TSLA fractionable=true on the organism account (MACD sizes 0.23 sh ≈ $80 — the fix is deliverable); site 9/9 pages 200, sleeves sum exactly ($99,657 + $100,000 + $97,361 = $297,018); health panel's two 24h failures both explained (mp SIGABRT 09:38 ET — consequence defused by the reconcile guard; health-alerter blip 19:05 UTC = it probed the API mid-deploy-restart, self-recovered). Tomorrow's expected prints: PEAD exits CSCO+AMAT ~09:40 ET (books at real fills for the first time), mp/ORB trade the open, icarus scan processes 8/19 tonight at 22:00 ET, researcher session 19:30 ET. ## 2026-08-19 (second session, Wed) — ORB15 first trade; morning_pullback selection pressure — no-op **Autopsy:** Market: SPY +0.44%, QQQ +0.08%, BTC +6.46%, ETH +9.54%, VIX 15.84. TSLA +2.8% from open to close; favorable for breakouts. Genomes: - `g_tsla_orb15_holdeod` (EMBRYO): 1 trade: shorted 5 TSLA at 337.55 (OR low break), exited at 342.28 (stop), realized loss −$23.62. Stop-order mechanics sound (confirmed: resting stop-sell at 337.64 fired correctly, exit at stop-buy 341.14 filled at 342.28 due to normal slippage in a rally). Single trade is noise; insufficient data to judge the 2026-08-15 stop-entry mutation. - `tsla_morning_pullback` (PAPER): 3 fills: sell 144 TSLA @ 343.15 (+$450), sell 145 @ 347.39 (+$1,068.65), buy 296 @ 348.37 (−$943.14) = net +$575.51. Profitable today but in a neg_streak: SELECTION punished −5.58% (2026-08-17), 0% (2026-08-18), capital cut from $10k → $3.75k over 2 days. Fitness −0.0314/−0.0316. This is a legacy genome (pre-organism seed); its parameter space is not fully documented here. - `g_tsla_macd_trend` (EMBRYO): 0 trades. Still waiting for a setup. Population: 3 cells live, 2 of 12 allowed. All genomes firing/idle as expected. **Hypotheses tested:** none this session. Considered new births (crypto Donchian with regime gate; ORB with VIX filter), but each would need honest backtest evidence (PF ≥1.15 OOS, ≥100 trades, maxDD ≤20%) on cached data. The Do-not-retry list from 2026-08-15 through 2026-08-19 covers every major hypothesis tested; the next respectable follow-ups lack validated backtests and would cost 30–60 min to build fairly. **Actions:** none. No births (insufficient hypothesis evidence). No mutations (ORB15 data too thin; morning_pullback parameter space unclear). No kills. Population stable. **Do-not-retry:** nothing new. The inherited list remains the guardrail (mean-reversion TSLA intraday, VWAP+EMA9, naive ORB without liquidity context, Donchian crypto, Icarus shorts + puts, PEAD, momentum rotation). Session tone: skeptical quant discipline. A no-op with a clear autopsy beats a forced mediocre birth. ORB15's stop-order mutation is sound; it needs more trading data before we know if it's a winner. Morning_pullback is being correctly pruned by SELECTION's 10-day fitness window — let it prove parity or get retired. Next session: watch for ORB15 and MACD accumulation, and monitor whether morning_pullback stabilizes or continues to decay. ## 2026-08-19 (owner-proposed) — Weekly $5/$10 reversal grid: NO BIRTH (loses to SPY money-weighted, badly) **Hypothesis (owner, exact spec):** buy $5 of any stock down ≥5% on the week; sell $10 of any holding up ≥10% on the week; all stocks simultaneously. Long-only interpretation (can only sell what you hold). Survivorship-free panel, signals Friday close, fills next session close, 25bps/side. Code: lab/memory/experiments/weekly_reversal_grid_backtest.py + .json. **Artifact hunt worth remembering:** v1 said +$1.04M — fantasy. The panel's per-day $5/$1M filter makes 3,320 names drop out for a median 296 days (exactly their collapse window); liquidating on dropout exited dip-buys at pre-collapse prices. v2 holds through dropouts (eats the reappearance price) and liquidates only true delistings under recovery scenarios. LESSON: this panel is built for TOP-of-market strategies; for buy-losers strategies its filter censors the loss tail — rebuild unfiltered or bound. **v2 results (5yr, ~125k buys / ~40k sells, peak deployed ~$204-255k):** - delist recovery 100%: PnL +$62k vs SPY-same-flows +$152k - delist recovery 50%: PnL +$33k vs SPY +$163k - delist recovery 0%: PnL +$3k vs SPY +$173k (IS segment NEGATIVE −$8.6k) Max DD ~$47-53k against those gains; ends holding 2,925 positions. And v2 is STILL optimistic (no averaging-down inside dark valleys; stale marks flatter DD). **Why it fails (the intuition):** sells fired only 40k times vs 125k buys — weekly −5% names mostly keep deteriorating, so the +10% harvest can't keep up and the book becomes a warehouse of chronic decliners. Weekly reversal exists as a cross-sectional RANKING edge (gross), not as an absolute "every dipper is on sale" edge. The spec underperforms doing nothing (same dollars into SPY) by 2.5-50x depending on delisting kindness. **Actions:** NO BIRTH. Implementation was feasible (fractional $5 orders, free grouped-daily signal, ~1k orders/wk within Alpaca limits) — feasibility was never the problem; the edge is. **Do-not-retry:** fixed-dollar threshold grids that buy absolute weekly losers market-wide, long-only, any thresholds — dominated by SPY same-flows in every delisting scenario tested. A respectable follow-up would be the academic CROSS-SECTIONAL weekly reversal (rank-based, liquid universe, long-short, quintile spreads) on an UNFILTERED panel — different strategy, untested here, needs the unfiltered panel build (~4h of free API calls). ## 2026-08-20 — LEDGER CORRECTION: mp's crash didn't just orphan a short — it INVERTED the book Owner asked where the Organism's ~$3k went; the site's ledger couldn't answer because its morning_pullback rows were FICTION. Reconciling against Alpaca's own fill feed (the definitive record) revealed: - 8/18: mp shorted 296 @335.50 (never recorded — crash era), crashed through its flatten window, and the NEXT morning its wiped state met a long signal: its "buy 289" actually COVERED the forgotten short (realized −$1,302.35), and its two "profitable long exits" (+$450, +$1,068 as booked) were actually sell_short fills OPENING a new 296 short — which the 14:50 orphan-reconcile then flattened for −$942.24. - 8/17's booked −$557.55 was really −$365.80 (signal-priced entries). True realized, per broker fills: mp −$2,610.39 · ORB −$23.62 · PEAD +$364.14 → matches account equity to the cent with the live position. The 4 fictional rows were REPLACED with 7 broker-truth rows, every one carrying a visible correction note — the correction itself is part of the public record, not a quiet edit. Why it cannot recur (all live before this entry): run_once reconciles state vs broker EVERY tick (an inverted book gets flattened within a minute, not traded on), entries+exits book ACTUAL fills (commit dd8650f for PEAD, 8/20 for mp), and the twice-daily invariant auditor alarms on any broker/state divergence. Today's live test: mp is short 284 @342.25 with state, broker, and site all agreeing. ## 2026-08-23 (weekly session) — ORB15 noise; morning_pullback recovered; population stable; no-op **Autopsy (2026-08-21 Thu + 2026-08-22 Fri):** Population: 3 cells live (2 EMBRYO + 1 PAPER). - `g_tsla_orb15_holdeod` (EMBRYO $2k): 2 live trades total (all Thu/Fri, prior week showed 2026-08-19 entry too). - 2026-08-19 short TSLA @337.55, cover @342.275 = −$23.62. Market was +2.8% that day (bullish reversal). - 2026-08-20 short TSLA @342.20, cover @343.565 (EOD flatten) = −$4.10. Market also reversed up. Both were SHORT signals (QQQ weak), entered correctly per the ORB-15 logic, but the market rallied both days against the position. **This is normal market noise, not a bug.** The 7-year TSLA battery walk-forward validated the strategy on decades of data; 2 live trades losing is not a refutation. Neg_streak=3, fitness −0.007734 — expected as SELECTION hasn't run since 2026-08-15 reset, next selection cycle fires Mon 2026-08-24 20:20 ET. - `tsla_morning_pullback` (PAPER $2.6k, was $3.75k on 2026-08-18): - 2026-08-21: long 228 @360.54, sell 228 @362.80 = +$515.28 (perfect, +0.143%). - 2-day cumulative (Thu/Fri) = +$1,302.15 (including prior week's 08-20 cover profit). Recovered strongly from the Aug 17-18 drawdown. **Genome is sound.** Still PAPER (not funded), tracking correctly. - `g_tsla_macd_trend` (EMBRYO $2k): 0 trades. Waiting for setups. No issue. - Icarus shadow: 14 open hypothetical short positions from the 2026-08-19/20/21 events, 0 closed, 1 bar held each. Decision gate: ≥60 closed trades, net PF ≥1.3. Too early. MRNA position losing (entry 133.32 vs last close 145.13), which aligns with the validated underlying reversal signal (parabolic run-ups do fade on average) but the unbounded short tails killed the naked version, per the 2026-08-19 battery. Shadow trading is the correct patience mechanism here. **Hypotheses tested:** none this session. Considered backtest of backlog #1 (ORB-15 on NVDA), but the 5-min data pipeline for 2021-2026 would require fresh Alpaca fetches and API spend; the cost model for a validation-only run (known-good strategy on a new symbol) isn't justified until there's a trigger (e.g. ORB15 loses money again, or the population fills up and needs fresh ideas). **Actions:** none. No births, no mutations, no kills. Population stable. Let SELECTION vote on Mon. **Do-not-retry:** nothing new. The Do-not-retry list (inherited from 2026-08-15..2026-08-20) stands. **Tone:** The population is healthy. ORB15's 2-trade loss streak is noise in a strategy validated on walk-forward 7-year history; morning_pullback recovered and trades correctly; MACD is waiting. One rigorous no-op with a clear autopsy beats a forced mediocre birth. SELECTION fires in ~24h and will decide on promotions/benches. Next substantive work: (a) when SELECTION promotes or kills, update the population accordingly; (b) if the backlog remains untested by Wed evening, budget for ORB-15 on a new symbol then. ## 2026-08-20 (second correction) — the fill-poll never worked; PEAD booked MAY prices Owner caught it from the numbers: "today +$170 but the ledger sums +$751?" The account was TRUE; the ledger was fiction — again, one layer deeper: - The actual-fill poll added 8/19-8/20 compared order status via `str(status).endswith("filled")` — but Alpaca's enum prints "OrderStatus.FILLED", so the check NEVER matched and every runner fell back silently. - mp's fallback (live 5-min close) was merely imprecise. PEAD's fallback read the DAILY-BARS CACHE — last refreshed in MAY — and booked CSCO's exit at its May close (122.57 vs the real 110.25 fill) and AMAT at 522.12 vs 492.49: fantasy +$364 on a real -$408 day. Corrected to broker-activity truth (recipe notes on every row): PEAD today -$407.65 (CSCO -125.05, AMAT -282.60) · mp today +$287.13 (entry VWAP 342.106; covers 339.32/+395.62 and 342.87/-108.49). Cross-check: research equity today +$286.65 ≈ mp realized ✓; core -$45.42 = PEAD's close-to-close ✓ — pennies. Fixes shipped: (1) status check is case-insensitive; (2) PEAD's fallback is a LIVE latest-trade quote, last resort = entry price (a flat record beats fantasy); (3) equity snapshots FREEZE each date's row at the 16:10 ET close — after-hours repricing no longer leaks into the yesterday baseline (core's polluted 8/19 row reset to broker last_equity); and the one that ends this class: (4) the invariant auditor now runs fills_reconcile — every ledger row of the last 2 days must match a broker FILL activity within 0.5%, and it runs twice every trading day. It passed post-correction; it would have flagged CSCO@122.57 pre-market. ## 2026-08-23 — Owner escalation answered: WHY only TSLA + the In-Play sleeve ships **Owner: "every day is trading only Tesla, no new strategies... trade like the top 1%."** Honest diagnosis, then the build: **Why the book was TSLA-only (four concrete reasons, all addressed):** 1. The Weekend Engine — the broad-universe book — has been SILENTLY DEAD: its yfinance daily feed serves ~40h-stale bars on the VPS, and the freshness guard correctly KO'd every Friday entry (SKIP stale_bar, both epoch Fridays). Fixed: stale-yfinance → Alpaca-daily fallback in harness/live.py (399 tests green). It can actually trade next Friday. 2. The researcher's idea funnel was starved until 8/20 (backlog + SHADOW births created then); TONIGHT is its first backlog-aware session. 3. The gates rejected 8 candidates honestly — most retail edges are dead; that part is the system working. 4. The validated PROFESSIONAL strategy (Stocks-in-Play ORB, 2026-06-05: net PF 1.38, OOS 1.48) was culled with everything else on 8/14 and never revived. That was the real miss. **Shipped — the In-Play Opening Range sleeve (orb_inplay), the top-1% day-trader workflow end to end:** premarket scanner (09:12 ET) turns the senses' movers + most-actives into the day's watchlist (CS-only, $5-1500, cap 20, TSLA excluded — sibling engines own it); the runner (every minute 09:34-16:11 ET, research account, $10k capped book) demands RVOL>=1.5 participation, enters opening-range breakouts with an ATTACHED protective stop (OTO), sizes 0.5%-risk to the stop, time-stops stalls at 11:00, flattens 15:55, max 3 concurrent. Entries+exits book at polled actual fills, sleeve=research, external genome under selection (EMBRYO $5k). Smoke-tested end to end (Sunday dry-run read the 10-name watchlist). **Also fixed this session:** trades.qty int-flooring (MACD's 0.23-share entry recorded as qty=0 — row corrected); auditor organism-key parsing (gid|symbol split — MACD's tracked position double-reported as orphan+ phantom for 3 days); mp's 11:30 flatten was bars-DEPENDENT (IEX outage 8/21 delayed it 26 min — flatten now fires without a data feed). **Do-not-forget:** the 8/21 audit finding trio was 2/3 auditor-bug + 1/3 real (qty=0). An auditor must be audited too. ## 2026-08-23 (late) — In-Play sleeve: dress-rehearsed on real data before its first live day Owner demanded proof over promises. Built scripts/inplay_rehearsal.py — replays the sleeve's EXACT decision engine (same gates, sizing, stops, time-stops) over any real day's 5-min bars for the scanner's actual watchlist. Friday 2026-08-21 tape, $10k book: - 10 in-play names scanned: 3 thin tapes skipped, 3 rejected by the RVOL>=1.5 participation gate (INTC 0.65 / NVDA 1.18 / SPCX 0.77 — gappers nobody was trading), 3 entries taken (JUNS rvol 618, MARA 5.1, MRNA 3.6). - Every loser capped at ~0.5% of book by the attached stop or the 11:00 time-stop: -$49.29, -$49.94, -$15.80 → day -$115 (-1.15%) on a chop day. The discipline held on every single trade — that is the receipt. - The rehearsal also caught + fixed a replay-modeling gap (one entry per symbol per day) and a stale-watchlist edge (Monday must never trade Friday's movers — scanner now refuses senses not dated today). Watchdog: invariant auditor gained check_inplay_chain — a dead scanner or dead runner on any weekday raises a health-panel finding by 16:45 ET. The Weekend Engine died silently for two weeks; this sleeve cannot. ## 2026-08-24 (pre-open) — orb_inplay STOOD DOWN before its first trade: the revalidation failed The owner asked three sharp questions (add shorts? is hold really better than trailing? is the stop too shallow for these names?) — answering them with data KILLED the deployment, hours before its first live entry. **Config battery** (lab/memory/experiments/orb_inplay_config_battery.py): two-sided (first-bar direction, shorts included), RVOL-gated, 10 high-beta in-play-like names, 2022..2026-05, 5bps/side, IS/OOS: - Entry {close-through, stop-at-level} x stop {OR-opposite, 1.5xATR5m, 0.1xATR14d} — ALL SIX configs negative both segments. Best: close-through + OR-opposite stop, -0.36R IS / -0.55R OOS. - The LIVE config (1.5xATR5m stop) was the WORST: -0.61R IS / -0.96R OOS, win rate 4.7-7.8%. The owner's instinct ("that stop will be hit every time") was exactly right for this universe — the ATR of quiet 5-min bars is noise-level on names that move 5% before lunch. - Exit-style battery (orb_exit_style_battery.py): hold / 10R-target / breakeven / EMA-trail all negative on identical entries — exit style cannot rescue an entry with negative expectancy. - RVOL dose-response (the paper's own claim): monotonic and REAL (-0.61R @1.5x -> -0.19R @5x -> ~0R @10x) but never crosses into positive net expectancy; n=14 OOS at 10x is noise. **Verdict:** the published stocks-in-play ORB (Zarattini/Barbon/Aziz, SSRN 4729284; headline 1,637% 2016-2023) does not survive net-of-cost on 2022-2026 data in any variant we can construct from our caches — matching the independent QQQ-paper replication (break-even at ~2.2c/share slippage) and this repo's own repeated lesson: naive/near-naive ORB is a cost artifact; only narrow validated niches (TSLA ORB-15 + QQQ filter) survive. The June 2026-06-05 "PF 1.38" validation of orb_live's mega-cap basket is now DOWNGRADED to suspect pending a rerun with this battery's rigor. **Actions:** both timers disabled; genome RETIRED (never traded); code, scanner, rehearsal tool and batteries kept as artifacts. The 9-check auditor keeps watching everything that IS live. **Do-not-retry:** ORB on high-beta in-play names with ANY of the six tested configs. REOPEN CONDITIONS (specific): (a) true cross-sectional top-20-by-RVOL daily selection across the WHOLE market — requires market-wide intraday history we do not have free (this is the honest data gate; ~\$29-199/mo tiers discussed 2026-08-19), tested with this battery's rigor incl. same-bar stop fills; or (b) extreme-RVOL-only (>=10x) with years more sample than our caches hold. The dress-rehearsal discipline (replay before live) is now MANDATORY for every new runner. ## 2026-08-24 — Parallel track: QQQ intraday momentum ("noise area") — NO BIRTH While the stocks-in-play download runs, tested the other famous Concretum- family strategy on our cached QQQ 5-min (2021-05..2026-05, 1,246 days): noise bands per 5-min bucket (trailing-14d |move-from-open|, gap-aware anchors), stop-and-reverse breakouts, two exit styles, EOD flat. Artifact: lab/memory/experiments/qqq_intraday_momentum_battery.{py,json}. - band-trail @1bp/side: IS Sharpe 0.35 → OOS 0.01 (dead flat, PF 1.00) - vwap-trail @1bp/side: IS 0.33 → OOS -0.35 - at 3bp/side everything is deeply negative (Sharpe -1.2 to -2.2) - avg trade ≈ +0.6bp GROSS — the per-trade edge is smaller than any realistic friction at 2+ round-trips/day. Same verdict shape as the ORB-QQQ replication literature: the published Sharpe 1.5+ lives in frictionless fills and earlier regimes. NO BIRTH. **Do-not-retry:** noise-area intraday momentum on QQQ at 5-min granularity with band or VWAP trailing, any cost >= 1bp. Reopen only with (a) 1-min granularity + limit-order fill modeling that PROVES sub-bp effective costs, or (b) a regime gate with its own honest N-trials accounting. Also this session: sample-first e2e validation (owner's process demand) is now the house pattern — the miniature caught nothing new but PROVED the machinery in 2.5 min; the full-data battery inherits verified code. ## 2026-08-24 — Alpha miner v1: the "guaranteed formula" lesson, live Owner: "create a formula that guarantees money." Built the honest version: an exhaustive pattern miner (5,220 hypotheses: entry-time x hold x side x condition on QQQ 5-min, 2021-23 discovery / 2024-26 sealed validation, Bonferroni t>=4.43). Artifact: qqq_pattern_miner_v1.{py,json}. - FIRST RUN found 12 "survivors" with validation t-stats of 8-10 and 12-20bps/trade — a money machine. It was a LOOK-AHEAD LEAK: the first-30-min condition was gating entries placed BEFORE 10:00. The miner's information-availability map now hard-blocks conditions at bars where they aren't yet knowable. THIS is how every "guaranteed formula" in the wild is born — the future leaking into the past. - Leak sealed: 0 of 5,220 hypotheses survive on QQQ. The most efficient instrument on earth holds no simple free lunch. Expected; now proven on our own data. **Standing conclusion for the record:** guaranteed daily profit does not exist at our scale; the realistic asymptote is a PORTFOLIO of many small uncorrelated edges (breadth -> high Sharpe -> most days green). The miner's real hunting ground is NOT mega-liquid indices — it is the 5,717-symbol minute-level dataset downloading now, where capacity- constrained edges (too small for institutions) can persist. Miner v2 targets cross-sectional patterns there once the SIP battery completes. ## 2026-08-24 — THE STOCKS-IN-PLAY VERDICT: dead on modern data, all 16 configs The full-fidelity test the $29 data plan was bought for is complete: TRUE daily top-20 by opening relative volume across the ENTIRE US market (5,698 symbols, 3.22M symbol-day heads, coverage-gated), 41,709 selected symbol-days, ~20k trades per config, 2021-08..2026-08, same-bar stop fills, IS/OOS split at 2025. Artifact: sip_validation_battery.json. ALL 16 configurations negative, IS and OOS consistent (not regime luck): - Best: close_through + OR-opposite stop @5bps: -0.126R IS / -0.094R OOS (PF 0.73/0.78, win 43%). At 10bps: -0.21R OOS. - The PAPER'S OWN stop (0.1x ATR14d): catastrophic, -1.5 to -3.3R — a stop that tight turns fixed costs into multiples of R and gets noise-stopped 95% of the time. The 1,637% headline (2016-2023, frictionless) does not exist on 2021-2026 with honest fills. - BOTH selection variants equally dead (9:35 RVOL median-rank20 4.7x; premarket variant 24.7x) -> the $199 real-time question is MOOT. Do-not-retry: stocks-in-play ORB, any of these 16 configs, any selection variant. The $29 bought total clarity on the biggest remaining published candidate — cheap at the price. **What survives the night:** the DATASET and the INFRastructure. 3.2M symbol-day heads + 3.1M bars of the market's 41k highest-information days + 12-way parallel fetchers + the leak-proof miner pattern. Miner v2 (cross-sectional, in-play days, N-trials discipline) is now backlog #0 — the -0.09R best config is close enough to zero that SUBSETS may be positive, but only disciplined mining may say so, never cherry-picking. ## 2026-08-24 — THE CONTROL THAT BEAT THE STRATEGY: in-play first-bar momentum Owner challenged "is the system broken?" → positive controls proved the machinery (oracle +3.24%/day, 99% win — the sim measures profit fine; the ORB edge exists gross at +0.013R — real but 10x thinner than frictions). And control C changed everything: dropping the ORB entry AND the stop — just following the FIRST-BAR DIRECTION on the day's top-20 in-play names from 09:35 to the close — earns +23.6bps/day gross. The breakout machinery was DESTROYING the selection edge, exactly as the replication literature hinted ("selection does the work, not the rule"). **Rigorous decomposition (sip_firstbar_momentum.py, 24,798 trades):** - LONG-only is the whole edge; shorts are dead (and carry borrow): @10bps RT: IS +28bps/trade Sharpe 1.38 | OOS +39bps Sharpe 2.02 @20bps RT: OOS +29bps, Sharpe 1.51. OOS > IS (strengthening). - LIVE-implementable variant (selection by real 09:30-35 volume, visible at 09:50 on 15-min-delayed data; ENTER 09:50 close, EXIT 15:55): OOS +33bps/trade, Sharpe 1.89, maxDD -18% @10bps; Sharpe 1.33 @20bps. The $29 tier suffices FOREVER for this strategy. Premarket-selection variant is weaker (OOS 0.90) — first-bar volume is the signal. - Gates: OOS n=4,175, expectancy positive at honest costs, maxDD<20% — passes everything. Data-mining accounting: this was ONE control (not a search), decomposed along pre-standard axes; OOS-alone t≈2.6. **Decision: birth as SHADOW first** (fills on gappers are the residual unknown; at ~10 signals/day the live-evidence gate (>=30 trades, net>0, PF>=1.15) resolves within a WEEK, risking zero). Runner design: one entry window (09:50), one exit window (15:55), no intraday management — operationally the simplest strategy we run. Name: g_inplay_firstbar_momo. ## 2026-08-24 (morning) — Researcher billing audit (owner: "no tokens consumed?") Verified end to end: the researcher RUNS (Sun 8/23 session: 4 min, log + pushed commit 4d1ad67) and has ALWAYS billed the metered API key — the .env contained the same sk-ant-api key under BOTH ANTHROPIC_API_KEY and a misnamed CLAUDE_CODE_OAUTH_TOKEN (setup-era leftover, now deleted). Console shows ~nothing because Haiku sessions are tiny (~4 min, likely <$1 each; look under the key's usage on Sun/Wed ~23:30 UTC). Proof-of- work is verifiable without the console: logs/organism_researcher.log + git commits authored "TraderVex Organism Researcher". Also verified: selection DID process Friday (+$515 reward, cell back to $2,637 — entries are stamped by trading day; the timer sleeps weekend mornings by design). Backlog updated: the paid Polygon key unblocks the researcher's own data fetches. ## 2026-08-24 (close) — Nursery day one: scoring bug caught + fixed, TRUE score booked Day-one shadow exits all printed entry==exit (-$1.00 x20): Polygon aggs returns EMPTY for sort=desc, so _last_price silently fell back to entry. Fixed (ascending fetch, take last bar) and the day RESCORED with true 15:55 closes: **-$104.21 net, 7W/13L** (-0.52% of the $20k shadow book) — an ordinary loser, inside the backtest distribution. Book corrected. Rest of the day: ORB's netting-guard unblock paid off same-day — its short stop (armed 09:45, the same order the broker rejected Friday) FILLED at 14:45 @352.45 and flattened +$3.20, its first win. mp: 181 clean passes, no qualifying setup on a -3% gap day (selective, not broken). MACD's shadow life began (virtual 2.86-share long at 15:50). Also fixed: a state-cleanup race (runner tick overwrote the morning pop — stop-timer-edit-restart is the safe pattern) and the auditor's chain check re-pointed from the retired orb_inplay to the live momo chain. Audit after fixes: 1 finding, the benign mid-deploy alerter blip. ## 2026-08-24 (night) — Owner escalation: the three answers + two structural changes **"Why are we losing?"** — split by era: crash-incident era (first 3 days, runner SIGABRT/orphan/inversion): -$2,634. Since the guards went in on 8/20: **+$396 over 8 closed trades — net profitable four straight sessions.** The losses were infrastructure, not strategy, and that infrastructure failure class is dead (reconcile-every-tick + auditor). **"Why bugs?"** — honest: the price/fill-truth class bit FOUR times (mp signal prices, PEAD stale cache, .endswith('filled'), sort=desc). Class- level kill shipped: harness/marketdata.py is now the ONE tested source of price truth (4 regression tests pin each historical bug shape); momo migrated; auditor gained check_shadow_sanity (a scored shadow day with zero win-dollars = broken marks tripwire). 10 checks now. **"Why small trades?"** — cells were fear-sized for a PAPER account whose job is evidence velocity. New sizing (env, guards scale with it): EMBRYO $2k→$8k, PAPER $5k→$20k, SCALED $15k→$40k, risk 1%→2%, punishment floor kept at $2k so selection still bites. mp's cell RESTORED to $10k — its punishments were my infra losses, not its signal (signal-only record since guards: +$437/4 days). ORB → $8k. ## 2026-08-25 — The Real-Money Gate (pre-registered) Owner: "how do I know things run as intended once I put real money in?" Answer written as a standing contract: docs/REAL_MONEY_GATE.md — 8 criteria across operational integrity (30 incident-free days, ≥95% clean audits, a kill-switch drill), edge evidence (60+ live trades net-positive; portfolio-positive window), and blast-radius architecture (broker-level hard caps, LIVE owner alerting, 5% start size). The incident-free clock started today. Also answered: the VPS is 2% utilized (load 0.04/2 cores, 1.3/7.8GB) — the bugs were logic and API-contract defects, never resources; do not spend on hardware. ## 2026-08-25 (night) — Friendly fire post-mortem: two safety systems collided Owner's "check what happened today" unpacked into the best post-mortem yet. The 16:45 audit flagged an unclaimed 22-share TSLA short. Forensics: ORB's stop filled 09:45:09; its runner detects fills on the NEXT 5-min tick (09:50); at 09:46 mp's broker-truth reconcile — which cannot see sibling state — flattened the "unowned" 22 shares. ORB then carried a GHOST long all day and its 15:50 hold-to-close "exit" sell OPENED a real short, unmanaged overnight (contained: OPG close queued for the 8/26 open; ~+\$49 unrealized at the time). Fixes shipped tonight: (1) mp's reconcile is now SIBLING-AWARE (counts organism positions AND armed pending stops — a stop may have just filled before its runner's next tick); (2) fills_reconcile is BIDIRECTIONAL (broker fills lacking ledger rows now alarm — today's ghost would have been caught at 12:30 next day at latest); (3) two fiction ledger rows corrected to broker truth (the "exit -\$20.46" was actually the short's ENTER; the 09:46 reconcile exit re-attributed to ORB at -\$2.20). Also learned: my "empty ledger today" scare was MY OWN query using a UTC CURRENT_DATE boundary after 8pm ET — the exact class fixed on the site on 8/20. The ledger was complete all along. And noted for the backlog: mp sizes off ACCOUNT equity (280 shares = 0.5% x \$98k), ignoring its selection cell — the capital-as-reward signal doesn't reach mp's sizing. REAL_MONEY_GATE: A1 incident clock honestly RESET; restarts 2026-08-26. Nursery day two: +\$24.84 (first green day), cumulative 40 trades -\$79.37 — needs net>0 for promotion; days three-four decide. ## 2026-08-26 — Selection killed the discovery after 2 days; re-registered in the right unit Nightly selection RETIRED g_inplay_firstbar_momo at 00:20 UTC by the pre-registered rule (>=40 shadow trades, PF<1 — it stood at 40 legs, PF 0.73). The rule fired correctly but measured the wrong unit: this is a ~20-leg-per-day BASKET, so "40 trades" was two days of data on a strategy whose backtest has month-long drawdowns. Two bugs surfaced with it: the momo timers kept trading a RETIRED genome (leak — runner now checks its population stage and no-ops when RETIRED/SUSPENDED), and day-level stats didn't exist at all. PRE-REGISTERED (before any new data): basket shadows are judged in DAYS. Kill at 15 trading days with PF<1; promote at 20 days with net>0 and PF>=1.15; 120-day age cap unchanged. The cumulative book is KEPT — no clean slate (60 legs, 3 days, net -$111.28, PF 0.76). Day 15 verdict is ~2026-09-16. Coded in selection.py (SHADOW_BASKET_* constants), regression test pins all three paths (survive/kill/promote). Also today, the 8/25 orphan resolved BETTER than designed: the OPG close partially filled 6/22 then expired, and mp's now-sibling-aware reconcile correctly mopped up the remaining -16 at 09:33 (it also correctly did NOT touch ORB's fresh 09:45 entry today — yesterday's fix passed its first live test). The short netted +$166.56. And the new BIDIRECTIONAL audit caught its first real bug within hours: PEAD's entry-recording had been dead since 8/19 (order_id="" is silently skipped by record_trade) AND booked signal prices 3.8% from real fills — fixed to broker truth (order id + polled fill), INTU 13sh ENTER backfilled at 344.67. ## 2026-08-26 (close) — Autopsy: critical fixes deployed; baseline population holding **Autopsy (day 10 post-guards):** ORB executed 4 trades (one -$43.28 loss + partial position on gap-down entry, now 22 shares held into close). Morning pullback: 0 signals (EOD holds not triggered). MACD shadow: 0 signals, accumulating cell toward whole-share. Momo shadow: resurrected at 18:54 ET after code fix (old per-leg gating killed it at 40 legs / 2 days; new pre-registered RULE: DAYS, not LEGS). All tickers have open positions overnight (none at risk; circuit breaker arms on portfolio loss). **Hypotheses tested:** three critical bugs (entry-recording, friendly-fire collision, basket gating unit) fixed in d59f04a (18:54 ET). Entry-recording: PEAD was caching signal prices 3.8% stale since 8/19 (order_id="" was silently skipped); now uses broker-truth fill + polled order_id (live INTU fill backfilled 344.67). Stage guard: runner checks genome.stage on every tick — RETIRED/SUSPENDED genomes no-op (prevents momo timer leak). Day-level gating: SHADOW_BASKET_* constants in selection.py now judge basket genomes by trading DAYS (kill at 15 days PF<1, promote at 20 days net>0 PF>=1.15), not leg count — pre-registered before any new data. All 45 tests passing (including new test_shadow_basket_genome_judged_in_days_not_legs). **Actions:** none (autopsy only). Bugs are production fixes, not hypotheses. Code is live and tested. **Do-not-retry:** per-leg gating on basket shadows — the new unit is trading days. The momo strategy's v1 kill was correct (PF 0.73) but by the wrong metric; v2 audition (now at 3 days with cumulative net -$111.28, PF 0.76) will re-score by day 15. ## 2026-08-26 (night) — mp cut to its cell; Polygon endgame started Owner approved the recommendation and added a constraint: the Polygon subscription will NOT be renewed — under a month of paid data left. Shipped: (1) morning_pullback now sizes off its ORGANISM CELL ($5,625 — selection had already punished it there) instead of account equity; it was trading 17x its allocation (280-share entries = the -$2.2k bleed). Verified live on VPS: cell-capped equity = 5625. Tomorrow it trades ~16 shares. (2) Whole-market 5-min harvest launched on the Mac (5,717 symbols, 5yr, extended hours, zstd parquet, ~18GB est) — the durable research asset that outlives the subscription. Sample-validated first (5 syms, spans + premarket bars correct). (3) Post-Polygon survival plan for the momo basket: select now logs SIP-vs-IEX first-bar volume daily for the top-100 RVOL zone; if per-symbol ratios hold, RVOL ports to IEX-only (ratio cancels feed share) and the strategy outlives the key. Backlog re-ordered under a hard deadline: alpha miner v2 must run on the min5 archive THIS MONTH. ## 2026-08-27 — The $0 exits explained: the guard fought an armed stop Owner asked why tsla_morning_pullback keeps exiting on $0 trades. Answer: four of today's rows were the reconcile guard CHURNING against ORB's armed short-side stop. My 8/25 sibling-awareness counted pending stops as signed inventory — but an armed-UNFILLED sell-stop claims nothing, so a flat account looked +13 stray; the guard sold phantom shares, ORB's 5-min cancel/re-arm cycle flickered the claim, and the guard oscillated sell/buy/sell/buy 09:50-10:06 (real churn -$9.27, booked as $0.00 rows at last-close prices — double fiction, now corrected to broker fills). Fix: pendings only WIDEN the explainable range [lo, hi] — armed-unfilled claims nothing, just-filled claims full qty, both must be legal; only inventory OUTSIDE the range is unmanaged (_claim_range + 3 regression tests pinning 8/18 orphan / 8/25 just-filled / 8/27 armed-stop cases). Reconcile flattens now book the ACTUAL fill with realized NULL — 0.00 reads as breakeven and hid the churn. Sweep of everything else: 12:30 audit ALL CLEAN; PEAD's fixed entry recording proved live (CRM + HPQ booked with real order ids at 09:40); chandelier correctly stops weekend's AVGO/KO and leaves PEAD's alone; momo day 4 running (20 shadows) + first IEX-vs-SIP compare row written; weekend banked STT +$115.15; core crossed its $100k start for the first time since the epoch reset. Site position-label bug fixed: a closed round-trip (mp) outranked ORB's open position for the TSLA label. The min5 harvest finished on the Mac: 5,717 symbols, 291M rows, 5.6GB. The full intraday research archive now outlives the Polygon key. ## 2026-08-28 — Miner v2 round 1: the control caught a REAL spec bug in the live runner Alpha miner v2 ran the full 564-config sweep on the new min5 panel (2.9M symbol-days after filters). The pre-registered validity rule fired: the in-play POSITIVE CONTROL did not reproduce (+1.5bps vs the expected +33) → the whole family verdict was declared INVALID, no survivor believed. Diagnosis found the cause and it is the best outcome of the night: CONSTRUCTION ORDER. The validated discovery ranks top-20 by rvol across ALL names then longs the first-bar-up subset (~10/day, the extreme tail); ranking among ups only dilutes it to ~0bps. Exact replication on the new panel CONFIRMS the discovery: OOS LONG +26.1bps/trade, Sharpe 1.55 (IS +19.0/1.33), shorts negative — an independent rebuild of the dataset and harness reproducing the edge. The kicker: the LIVE shadow runner had the diluted construction (gate inside the scoring loop) — the audition has been trading the WEAK variant, which is consistent with its ~flat live book (80 legs, -$41). Runner fixed to rank-then-gate (~10 longs/day now, not 20), deployed; the day-gate audition clock CONTINUES (spec fix noted at day 5 — this is implementing the registered strategy correctly, not moving its goal). Miner family relaunched with gates applied after ranking; corrected results land tonight. Do-not-retry addition: in cross-sectional tail strategies, GATE AFTER RANK — pre-gating changes which names constitute the tail and silently destroys (or manufactures) the edge. Any config family must carry a known-edge positive control or its verdicts are void. ## 2026-08-28 (late) — Round 3 + cohort decomposition: the discovery is a ## low-price-cohort effect; liquid version has NO edge Miner round 3 (share-volume universe, profit-only survivors): ZERO survivors in 236 configs, and the control STILL failed inside the miner while reproducing in exact replication. The last diff was the price screen — and pulling that thread decomposed the discovery: same-day close >=$5 (original): OOS +26.1bps, Sharpe 1.55 prior-day close >=$5: OOS +10.1bps, Sharpe 0.49 prior-day close >=$10: OOS +5.2bps, Sharpe 0.18 Removing ~120 of 8,500 IS trades — yesterday-sub-$5 names gapping up through the screen — deletes two-thirds of the edge; those trades average ~+8% each. The "edge" is CONCENTRATED in cheap gapper rockets, exactly the cohort where a flat 10bps cost model is fiction (real spreads 30-200bps) and where the Ross Cameron backtest died for the same reason. The $10+ liquid version is flat. Same house lesson, fourth time: apparent intraday edges live where the cost model is weakest. Posture: NOT killing the audition by hand — the shadow nursery exists precisely to let LIVE fills vote on whether the cheap-cohort edge survives reality (marks are real last-trade prints; the runner trades the corrected rank-then-gate construction from Monday; MIN_PRICE=5 so the live test includes the cohort in question). The pre-registered day-15 gate decides ~09/16. Expectation, stated now for the record: kill. If it survives live, that IS the evidence backtests can't give. Do-not-retry: any cross-sectional result must be decomposed by PRICE COHORT before belief — report <$5-prior, $5-10, >$10 separately. Added to the researcher's discipline via the backlog. Miner v2 final verdict: no profitable survivor in the liquid universe across 236 configs — the free-intraday-edge well keeps coming up dry in liquid names; the researcher's Sunday session should attack different structures (overnight, multi-day, event-driven), not re-mine this family. ## 2026-08-30 — Autopsy: quiet Friday explained (long-only ORB, no bug); overnight-hold SPY/QQQ tested and killed **Autopsy (since watermark 2026-08-28, one weekend gap, no missed trading days):** Friday 8/28 was the only trading day since the last entry. Both funded genomes (tsla_morning_pullback PAPER $3,164 cell, g_tsla_orb15_holdeod EMBRYO $2,531 cell) fired zero actions all day — checked this is NOT a bug. TSLA trended down cleanly all session (open 357.72 -> low 345.23 at 14:55, close 348.75, a real -2.5% trend day) but `FiveMinORB.signals()` (the generic strategy class backing orb15) only detects `broke_above` — it is long-only by construction (the short leg is "documented in the thesis but the engine consumes one direction per registry entry", per its own docstring). Price never closed back above the 09:30 bar's high, so correctly zero entries; this is the known/backlogged limitation (backlog item 0a, ORB short side), not a new bug. No DB trades logged 8/28-8/30 (weekend, no crypto genomes in the population). Nightly selection continued its scheduled cell punishments through 8/28 (both funded genomes still bleeding cell on negative fitness — g_tsla_orb15_holdeod down to $2,531 from $8,000 over the week, tsla_morning_pullback down to $3,164 from $10,000); no deaths, no promotions. Population unchanged: 5 genomes, 2 funded (PAPER/EMBRYO), 2 SHADOW auditions (g_tsla_macd_trend, g_inplay_firstbar_momo — both mid-audition, day-gates not due yet), 1 RETIRED (orb_inplay). **Hypotheses tested:** backlog item #2, overnight-hold SPY/QQQ (buy close, sell open, sma200 regime toggle) — the documented-but-never-coded Pine strategy (`pine_strategies/02_overnight_drift_spy`, ranked #5 in the old TOP_10 report). Daily bars, SIP feed via Alpaca (2016-01-04..2026-08-28, 2,679 sessions — cost-free to refresh after Polygon lapses). Full code + numbers: `lab/memory/experiments/overnight_drift_spy_qqq.py` / `_results.json`. - Positive control (GROSS, no cost): confirms the literature. SPY overnight Sharpe 0.71 vs intraday 0.46; QQQ overnight 0.90 vs intraday 0.46. The known relationship (overnight >> intraday for index ETFs) reproduces cleanly on this sample — the effect is real, gross. - Net of the house's 5bps/side cost floor (10bps round-trip, one round-trip per session = 252/yr): DEAD across all 4 configs tested (SPY/QQQ x unfiltered/sma200-regime), IS (2016-2021) and OOS (2022-2026) alike. OOS Sharpe -0.43 to -2.02, PF 0.70-0.98, OOS t-stat p<0.05 in 3 of 4 (QQQ+sma200 OOS p=0.21, still net-negative). Daily-frequency trading means 252 round-trips/year at the cost floor overwhelms a ~1-3bps/day gross edge — the same shape as every prior intraday-edge death here, just at daily instead of 5-min granularity. - Sensitivity at a deliberately generous 4bps round-trip (below the stated floor, disclosed as optimistic, not used for the verdict): only QQQ+sma200 turns marginally positive and holds sign IS->OOS (Sharpe 0.62/PF 1.12 -> Sharpe 0.63/PF 1.12) — a real but sub-1.15 signal built on a cost assumption the house floor explicitly rules out. Not a qualifying SHADOW narrow-miss (rule 3b judges against the stated floor, not an optimistic one); everything else flips sign or gets worse OOS. **Actions:** none — no-op session by the contract's own definition (rule 4a/b n/a, no births qualify). Backlog item #2 marked DEAD with date + verdict; this satisfies the no-op bar (a real backtest attempt on the top untested item, not just autopsy). **Do-not-retry:** overnight buy-close/sell-open on SPY/QQQ, with or without a 200sma regime filter, at the house's 5bps/side cost floor — decisively net-negative IS and OOS, 2016-2026. Reopen only with a fundamentally different cost story (e.g., a specific broker's demonstrated MOC/MOO fill quality at sub-2bps/side, which would need live evidence, not another backtest) or a different holding structure (e.g., overnight held only across specific catalysts, not every session — untested, would be a new hypothesis, not a rerun of this one). ## 2026-08-30 (night) — The swarm: 2,068 live auditions, because two was never an organism Owner, correctly: "Organism isn't an organism at all... We need to be trading thousands of strategies, not only two." The variation half of evolution was starved and the fix is breadth at zero cost. Built + LIVE tonight: the SHADOW SWARM — 2,068 strategy variants (momentum follow + fade, gap follow + fade, ORB-15 long + short, overnight holds; 3 thresholds x entry/exit windows) across 44 liquid names + ETFs, every one a zero-capital book marked on live checkpoint prices (one batched free-IEX request per tick, 5 ticks/day, Mon-Fri timer). Same day-based gates as the nursery; nightly digest ranks all books and pre-screens gate candidates (>=10 days, net>0, PF>=1.2) for the researcher, whose contract now requires: consume the digest, verify candidates on the SIP panel against the FAMILY-wide Bonferroni bar (a top pick of 2,068 must beat 2,068-way selection bias, the lesson of every dead battery), keep the nursery at 4, and mine the live ledger for one mutation proposal per session. Universe is all >=$10 liquid so the 10bps haircut respects the cohort law. Also answered honestly for the record: the old "QQQ options winner" was research_s8 — ONE 26x lottery fill (+$10.5k) masking a bleeding book; options need a paid feed to revive. The TSLA-multimillionaire story is concentration + leverage + survivorship, not a system. Two smoke bugs fixed before first tick: Alpaca 400s on %2C-encoded symbol commas, and date.today() on a UTC box is TOMORROW after 8pm ET (future-dated bars request = 400) — the third member of the UTC-date bug class, now in a comment where it bit. ## 2026-08-31 (midday) — wash-trade collision class, noted not operated mp's long entry was rejected 3 ticks running (Alpaca 40310000 "opposite side market/stop order exists") because ORB's armed stop sits on the same netted research account. State stayed clean — a missed entry, not an incident. Structural: two strategies on one symbol + one account deadlock whenever one arms a stop opposite the other's signal. Waiting on selection: mp's cell is down to $3,164 and shrinking; if it dies the conflict dissolves, if it recovers the pair gets separated. Not mid-day surgery. Swarm ticks 1-3 clean (44/44 syms each). ## 2026-08-31 (night) — Swarm priors: 5 years says the whole family is cost-bound Scored ALL 2,068 swarm configs on their own production resolution code against 5 years of the archive (1,251 reconstructed days, 2s runtime — single-symbol rules are cheap). Verdict: ZERO strong priors at the family-wide bar (t>=4.27). Template median OOS bps: overnight -3.5, momo -8.2, gap -10.0, orb15 -10.0, fade -11.8 — clustered around exactly -10bps = the cost haircut. Translation: gross edges ~0, cost eats everything; the fifth liquid-intraday family to score this way. The harness itself is validated (prod code ran the history cleanly); the SEARCH SPACE is the dead part. The one directional signal: overnight is least-bad (-3.5 = ~+6.5 gross) — cost-per-day is the binding constraint, so LONGER HOLDS amortize it (5-day hold = 2bps/day cost vs 10). Next expansion is a MULTI-DAY family (N-day momentum/reversal/trend on daily features, priors computed FIRST on the daily panel, only positive-prior families go live) — priors-first expansion, the reverse of round one. Live swarm stays running as the control group + harness proof. swarm_priors.csv shipped to the VPS for Wednesday's researcher session. ## 2026-09-01 — Two silent recording bugs; the ledger now self-heals nightly The bidirectional audit (built 8/25) earned its keep twice today: 1. **Partial fills booked short.** The core engine polls 15s for a terminal order status and records whatever filled by then. MS filled 17 of 44 inside that window and 27 more 33s later — the ledger said 17 @ 211.57, the broker said 44 @ 211.71. TECL's 48 shares filled in FOUR slices and got no row at all. 2. **Stop-triggered exits never recorded.** Protective stops armed by the chandelier maintainer fire with no engine involvement, so nothing books them: SSO 138sh (-$259.52) and SPXL 33sh (-$386.31) sold at today's open, both invisible in P&L until now. Fix: `scripts/fill_reconcile_run.py` + timer at 16:20 ET (before the 16:45 audit, so findings clear the same day). It groups every broker FILL activity by order_id (VWAP across slices), corrects rows that disagree, inserts rows that are missing, and stamps realized P&L on inserted exits from the symbol's open ENTER. Idempotent; writes only on disagreement; refuses to guess ownership (TECL was left for review and attributed by hand from cron_stock.log evidence). Today: 14 orders checked, 1 corrected, 2 inserted. Regression test pins the MS aggregation case. Also: the nightly production-data freshness unit had been FAILING every night on SATS (delisted -> yfinance returns nothing, forever). A permanent false alarm is worse than no alarm — it now skips symbols in universe_delisted.json (SATS added) and exits clean at 44 fresh / 0 errors. Not fixed, watched: mp's wash-trade collision with ORB's armed stop (2nd day). ORB itself went SHORT today (-$10.64) — worth noting since Sunday's autopsy called the genome long-only; its stop-entry path is clearly two-sided in practice. Swarm day 2: 818 trades resolved, 1,148 active books, 0 gate candidates (needs 10 days). ## 2026-09-06 (weekly session) — ORB-15 diversification: DEAD on NVDA+AMD; both funded cells near starvation; no-op **Autopsy (watermark 2026-09-01, 3 trading days elapsed: Tue 09-02, Wed 09-03, Thu 09-04 — Mon 09-01 traded too per the prior entry, Fri 09-05/ weekend no trading):** - `g_tsla_orb15_holdeod` (was EMBRYO, **promoted EMBRYO→PAPER on 09-02**: 10 live trades, net>0): 3 trades this week — short @353.395→356.055 (-$10.64, 09-01), short @350.4275→355.76 (-$21.33, 09-02), long @375.125→378.615 (+$13.96, 09-03). Net -$18.01. neg_streak now **13** (STARVATION_DAYS=15 kills it) — cell punished to the $2,000 floor. Genome-level, not a bug: the resting-stop mechanism and QQQ filter fired correctly each time; TSLA just chopped against the two shorts. This is the known behavior of a validated-but-noisy strategy running near its floor. - `tsla_morning_pullback` (PAPER): 3 trades — long @378.16→380.18 (+$4.04, 09-03), short @353.17→354.5467 (-$6.88, 09-04), short @352.40→353.18 (-$3.90, 09-04). Net -$6.74. neg_streak now **10**. Also at the $2,000 cell floor. - **Both funded genomes are 2-5 negative-fitness days from STARVATION_DAYS (15) — the population may go from 2 funded cells to 0 within two weeks if the streaks don't break.** Not a bug, not something to override (selection's job), but the reason the nursery-fill question below carries real urgency: if both die, the organism trades nothing until a promotion or a fresh birth. - `g_inplay_firstbar_momo` (SHADOW, basket, day-gated): 7 of 20 days toward promotion. Cumulative wins $1,189.88 / losses $963.80, PF **1.235**, net +$226.08, day nets [-104.21, +24.84, -31.91, +69.98, -127.32, +125.14, +269.56]. Already clears the day-20 promotion bar (net>0, PF>=1.15) with 13 days of runway left to hold it — the best-looking thing in the population right now. No action needed; let it run to day 20. - `g_tsla_macd_trend` (SHADOW): still holding the single long TSLA position opened 2026-08-24 (daily timeframe), 0 closed trades, wins/losses both $0. 13 days in one position is plausible for a daily trend genome, not flagged as a bug, but worth watching next session if it still hasn't closed. - Swarm digest (`harness/state/swarm_digest.json`, as_of 2026-09-04): 1,657 active books, 2,068 configs, **0 gate_candidates** — the >=10-active-day bar isn't met yet (swarm went live 2026-08-30, ~4 trading days in). Nothing to verify on the SIP panel this week; expect candidates to start appearing ~09-15. **Hypotheses tested — backlog #1, ORB-15 on other high-beta names (the top untested queue item, and urgent given the Polygon lapse ~09-20):** faithful replication of the LIVE genome's exact rules (stop-at-level resting-stop entry, QQQ day-direction confluence, OR width filter 0.8-4%, hold to the 15:50 flatten, no target) on NVDA and AMD, using 5-min bars ALREADY CACHED from the 2026-08-23 in-play work (`harness/data/{NVDA,AMD}_5minute_2021-05-17 _2026-05-16.parquet` + the same QQQ file the TSLA battery used) — the 2026-08-23 "DEFERRED: needs fresh fetch" verdict was stale, the fetch had already happened for an unrelated experiment. Same IS/OOS split as every prior ORB-15 battery (IS<=2024-12-31, OOS>=2025-01-01), 5bps/side (both names are >$10 liquid mega-caps, cohort law respected). Code + full numbers: `lab/memory/experiments/orb15_nvda_backtest.py` + `.json`. - NVDA (qqq filter, the live config): IS n=120, PF 1.117, avg +0.064R, tot +7.7R. OOS n=27, PF **0.983**, avg -0.009R, tot -0.3R. - AMD (qqq filter): IS n=104, PF 1.117, avg +0.063R, tot +6.5R. OOS n=35, PF **0.969**, avg -0.015R, tot -0.5R. - Both symbols reproduce the exact IS-positive/OOS-decay shape seen across nearly every battery this month — but on TSLA the same stop-at-level config nets OOS PF 1.048 (positive); on NVDA/AMD it lands just under 1.0 (flat-to-negative). The edge does NOT transfer by symbol-swap. - Gates: OOS PF>=1.15 FAIL both (0.983, 0.969). >=100 OOS trades FAIL both (27, 35). SHADOW narrow-miss (rule 3b) also FAILS both: OOS PF is below 1.00 (not in the [1.00,1.15) band) AND OOS is net-negative, not positive, so the "<100 trades with positive OOS" disjunct doesn't apply either. No data-quality caveat to cite — the cache is clean, full-history, no gaps. Clean NO BIRTH, not a narrow miss. **Ledger mining (one mutation proposal, per contract):** post the 2026-08-20/ 21 ledger-bug fixes, `tsla_morning_pullback`'s LONG exits are 3-for-3 winning (+$515.28, +$12.27, +$4.04 = +$531.59, zero losses) while its SHORT exits are 1-for-5 (+$3.21 win; -$397.51, -$12.48, -$6.88, -$3.90 losses = net -$417.56). This week's autopsy (above) shows the identical shape in miniature (1 long win, 2 short losses). **Proposal: if this holds up with more data, mp should mutate to long-only.** NOT implemented this session — 8 closed legs post-fix is far below any threshold this journal has ever acted on (the house bar is ~100 trades), and the pre-fix history is contaminated by the crash-era ledger bug so it can't be pooled in. Flagging for the next session with enough legs to judge, or for a dedicated backtest of mp's entry logic split by side if the live sample is still too thin by then. **Actions:** NO BIRTH (NVDA/AMD backtest failed cleanly, see above). NO mutation to mp (ledger signal noted, insufficient N to act — see above). NO kills (selection's call; both funded genomes are within their neg_streak budget, not yet at 15). Nursery unchanged at 2/4 SHADOW — the swarm has nothing gate-worthy yet (0 candidates, digest still <10 days old) and the top backlog hypothesis (#1) was tested honestly and failed, satisfying the no-op bar's requirement to attempt real work rather than just autopsy. Backlog updated: item #1 marked DEAD for NVDA/AMD with date + numbers. **Do-not-retry:** ORB-15 hold-to-close (stop-at-level entry, QQQ confluence, OR width filter, hold-to-EOD — the exact validated TSLA config) as a direct symbol-swap onto NVDA or AMD — decisively OOS PF <1.0 on both, 2021-2026 data, faithful replication of the live rules. The TSLA edge appears TSLA-specific, not a generic high-beta-momentum property; reopen only with a materially different structure (different OR window, different filter, or a genuinely different name profile — COIN/MSTR/PLTR are crypto-correlated/differently volatile and remain untested) rather than another flat symbol substitution. **Tone:** one clean, decisive no-op this week — the ORB-15 diversification hypothesis was live, testable, and worth the full session; it died fairly, which is real information (the TSLA edge is narrower than hoped). The sharper story is structural, not this week's P&L: both funded genomes sit at the $2,000 cell floor with neg_streaks of 10 and 13 against a 15-day starvation clock, while the shadow nursery's basket genome (firstbar_momo, PF 1.235 at day 7/20) is quietly the best performer in the population. Next session: check whether either funded genome starved or recovered, whether firstbar_momo reaches its day-20 gate, and whether the swarm digest has produced its first gate_candidates (~09-15 earliest). ## 2026-09-09 (weekly session, catch-up) — ORB15 starved to death (fair, not a bug); reversal-after-high-RVOL born SHADOW; mp is now the ONLY funded cell **Autopsy (watermark 2026-09-06; trading days since: Fri 09-05, Mon 09-07 Labor Day CLOSED all day confirmed by `organism_runner.log` ticking 00:00-23:55 with `actions=0` every 5 min, Tue 09-08, Wed 09-09 partial):** - **`g_tsla_orb15_holdeod` DIED 2026-09-08** — `[org-select] death g_tsla_orb15_holdeod starvation(15d fitness<0)`, the exact risk this journal flagged last session. Full autopsy appended to the selection-written death record (`lab/memory/experiments/ g_tsla_orb15_holdeod_2026-09-08.json`, `lesson` field): raw dollars were POSITIVE over its life (21 fills, net +$128.38) but the cell was punished to the $2,000 floor by 08-28 from early-August losses that predate the 08-15 stop-at-level mutation; at the floor, fixed 4-5-share size means even good trades move the EWMA (10-day halflife) too slowly to escape a starvation clock once several flat days accumulate — 6 of its last 9 trading days had ZERO trades. Log evidence for one of those flat days (09-03): ~50 consecutive REJECTED stop-sell orders because TSLA gapped through the OR-low re-arm level and kept falling, so the genome's static (non-repricing) resting stop kept quoting a price already on the wrong side of market — a real missed short, but a design limitation of static OR-level stops, not a coding bug, and it cost nothing here (a flat day, not a losing one). **Verdict: fair selection working as designed, not a mechanical failure — the entry-style mutation from 08-15 is not refuted, the genome died of thin trade frequency at a starved cell size.** Do not re-fund without new evidence or a fix to the cell-floor-bootstrap problem (an open selection-mechanism question, flagged, not solved this session). - **`tsla_morning_pullback` (PAPER) is now the population's ONLY funded cell.** neg_streak=12 (starvation at 15), fitness -0.0168. Two new legs today (09-09): long 373.02→369.7567 (-$16.32), short 367.33→368.9525 (-$8.11) — both losses. **This updates last session's provisional long-only-mutation observation in the WRONG direction**: post-guards (since 08-24) longs are now 08-27 +12.27, 09-03 +4.04, 09-09 -16.32 = 2W 1L net -$0.01 (was 3W/0L); shorts are 08-25 -397.51(oversized, pre-sizing-fix), 08-27 -12.48/+3.21, 09-04 -6.88/-3.90, 09-09 -8.11 = 1W 5L net -$425.67 (or -$28.16 excluding the oversized 08-25 leg). The short side is still the weaker side, but the long side is no longer a clean 3-for-3 — the apparent edge was noise at N=8, exactly why last session declined to act on it. STILL not enough legs (12 post-guards) to mutate; **NO ACTION**, but flagging loudly: if mp starves too (2-3 more negative days at this rate), the organism trades ZERO capital until a SHADOW promotion. This is the single biggest structural risk carried into next week. - **`g_inplay_firstbar_momo` (SHADOW) had a bad day.** Day 7→8 (day 8 = today, 09-09; 09-05 and 09-07/holiday produced no shadow fills so didn't count as observed days): day_nets add **-305.00** to what was a clean run (+226.08 net, PF 1.235 at day 7) — cumulative now net **-$78.92**, PF **0.938** (wins $1,189.88 / losses $1,268.80), 138 trades, 8/20 days toward promotion. Still far from the day-15 kill threshold and PF<1 there requires losing PF at day>=15, so no action, but the "best performer in the population" framing from last session no longer holds — one bad basket day erased three days of gains, a useful reminder of how noisy a 20-leg/day book can be day to day. - `g_tsla_macd_trend` (SHADOW): still 0 closed trades, same single position opened 2026-08-24 (now 16 days), per its own note waiting for a whole-share-affording cell refund. Not flagged as a bug, still worth a look if it hasn't closed by next session. - Swarm digest (`harness/state/swarm_digest.json`, as_of 09-09): 1,734 active books, still **0 gate_candidates** (max `days` observed is 7, the >=10-day bar needs ~3 more trading sessions — expect first candidates ~09-14/09-15). **Hypotheses tested (top untested backlog item — the "For the Sunday session" fresh-structure note: multi-day continuation/reversal after high-RVOL days):** built on the survivorship-free 5yr daily panel (`harness/data/sip/daily_panel_ohlc.parquet`, 13.5M rows, 19,730 symbols). 18-config family: RVOL threshold {2,3,5} (vs the symbol's own trailing 20-day $ volume) x hold {2,3,5} trading days x direction {continuation, reversal}, signal known at day T's close, fill at T+1 close (no lookahead), exit T+1+K close, IS<=2024-12-31/OOS>=2025-01-01, 10bps round-trip (price>=$10, $vol20>=$2M — the correct floor for this cohort), Bonferroni alpha=0.05/18 (critical |t|=2.99). Positive control: gross 2-day-forward return on extreme days (rvol>=3, |ret|>=5%) sign-adjusted for continuation is **negative** (-0.13%), i.e. reproduces the well-documented short-horizon reversal-dominance effect — the harness measures what it should. Code + full numbers: `lab/memory/experiments/multiday_rvol_continuation.py` + `.json`. - **CONTINUATION: decisively DEAD.** 6 of 9 OOS configs clear the family-wide Bonferroni bar in the NEGATIVE direction (t -3.08 to -7.11, net PF 0.85-0.91) — betting WITH a high-RVOL day's direction loses money net of cost, confirms the positive control's implied direction. **Do-not-retry.** - **REVERSAL (fade): best config (rvol>=5, hold=5 days) lands in the SHADOW narrow-miss band.** OOS n=12,057, net PF **1.100** (in [1.00,1.15)), avg net ret +0.302%/trade, t=1.852 — directionally strong but alone doesn't clear the family-wide bar (need |t|>=2.99). Per the 2026-08-28 cohort-decomposition law, checked BEFORE trusting it: split by price cohort at rvol>=5/hold=5 — **$10-20 OOS is NEGATIVE** (n=2,045, PF 0.982, t=-0.198), **$20-50 OOS PF 1.14** (n=5,417, t=1.638), **$50+ OOS PF 1.154** (n=4,595, t=1.538; the $50+ IS segment alone clears even a single-test bar at t=3.08). The edge is NOT a cheap-stock cost artifact (the opposite failure mode of every prior cross-sectional battery here) — it's concentrated in $20+ names, so the live genome's price floor is raised to $20 (excludes the negative $10-20 cohort). Realistic portfolio sim (20-concurrent cap, no-pyramid-into-same-symbol dedup): OOS Sharpe **~0.73**, PF 1.082, 404 signal-days (essentially every OOS trading day had a live signal — not an idle-capital artifact) vs **SPY buy-and-hold Sharpe 1.03** the exact same window — underperforms doing nothing risk-adjusted, the same concern that killed momentum rotation (2026-08-15). Judgment call: that opportunity-cost bar was applied to a FUNDED, capital-competing birth; this is a **zero-capital SHADOW audition** (rule 3b's whole point is letting live evidence resolve a backtest this close to the gate), so it doesn't automatically disqualify — but it's disclosed here, not buried. **Actions:** 1. **BORN: `g_rvol_fade_5d`** (SHADOW, cell $0.0, external, module `harness.rvol_fade_run`) — reversal-after-high-RVOL, 5-day hold, price>=$20 floor, rvol>=5, $vol20>=$2M. Seeded via `scripts/seed_g_rvol_fade_5d.py` (idempotent, committed). Promotion: standard day-gated basket rule (>=20 days net>0 PF>=1.15 promotes, >=15 days PF<1 kills, 120-day max age) — no changes needed to `selection.py`, it already reads any genome's `organism_state.json ["shadow"][gid]` generically. 9 new unit tests (`tests/test_rvol_fade.py`, all green) cover signal ranking, price/ liquidity/rvol floors, and a full pending→fill→age→exit lifecycle (including a real off-by-one bug I caught IN this session: a same-day-filled position was being aged on its own fill day because the runner filled pending entries before aging existing ones — fixed by reordering age-then-fill). 2. **NOT wired to a systemd timer.** `scripts/install_systemd_timers.py` doesn't even contain `g_inplay_firstbar_momo`'s timers (those were installed directly, outside the generator, confirmed via `systemctl list-timers` showing `tradervex-inplay-momo-select/exit` active with no matching unit files in `generated_systemd_units/`). Activating a new always-on daily job against the live VPS is a deploy decision, not a research one — flagging for the owner: recommend `python3 -m harness.rvol_fade_run daily` once daily after the close (~16:05 ET, ahead of fill-reconcile's 16:20), weekdays only. Until then the genome sits in the population doing nothing. 3. NO mutation to mp (thin, and this week's data point WEAKENED the long-only hypothesis rather than confirming it — see autopsy above). 4. NO kills proposed beyond selection's own (ORB, autopsied above). 5. Nursery: 3/4 SHADOW slots filled (`g_tsla_macd_trend`, `g_inplay_firstbar_momo`, new `g_rvol_fade_5d`) — did not force a 4th speculative birth just to fill the quota; one rigorously validated candidate this week beats two rushed ones. **Do-not-retry:** multi-day CONTINUATION after high-RVOL days (any of rvol{2,3,5}/hold{2,3,5} trading days) on the liquid (>=$10, >=$2M/day) universe — 6/9 OOS configs decisively negative net-of-cost, confirms short-horizon reversal dominance rather than momentum persistence at this granularity. Static (non-repricing) resting-stop order lifecycles on a level-break genome when price gaps through the level before the stop can arm (ORB15's 09-03 spam) — not fatal, but a robustness smell to fix if any sibling genome using the same lifecycle is revived. **Tone:** the predicted risk from last session materialized exactly — ORB starved, cleanly and fairly, no bug to chase. The session's real deliverable is the multi-day RVOL family: continuation is now closed off for good, and reversal produced the first SHADOW birth from fresh research (not a swarm gate-candidate) since firstbar_momo. The uncomfortable fact to carry forward is structural, not this week's numbers: the organism now has exactly ONE funded cell (mp, itself 3 bad days from starvation), and the two nearest replacement candidates are a basket genome that just had a bad day (firstbar_momo, PF dipped under 1.0) and one born literally today with zero live evidence yet. Next session: check whether mp starved, whether the rvol-fade timer got installed and if so how day 1 looked, and whether firstbar_momo's PF recovers or keeps sliding toward its day-15 kill line.

Want these trades delivered the moment they happen?

Join the waitlist — followers get every entry, exit and stop by email or SMS. Free while the record proves itself; founding pricing locked when doors open.