# Analyst2 run 41 (10 Oct 2026): second-leg ladder entry ("FAST-LADDER") on v3 + 9 other checks
Scripts: /opt/crew/work/analyst2/it41/ (a,b,f,g,h,k,n,m .py). Tapes: /opt/sw/ladder.db (v3 1M+ pools, 6-10 Oct, 4.07M swaps) and /opt/sw/v3hist.db (12 Sep-5 Oct, 5.97M swaps).

## Result: READY TO TEST (paper)
Rule FAST-LADDER-2M (v3 pools, any fee):
- Event: pool's market cap makes its first 3 consecutive prints >= $2M (97% each), AFTER an earlier 3-print cross of $1M, and the gap between the two crosses is 5 to 60 min (300 <= gap < 3600 s). Gap < 5 min is the one-print jump/decoy trap and is excluded (122 of 178 pools in the Sep window are 'jumps', 78 of them dead = no sells possible).
- Entry: first print >= 45 s after the 2M cross, +7% slippage. Stop: 50% below entry (fill at the real print, not at the stop). Take profit: 5x entry, needs 2 consecutive prints (second >= 4.5x). No trailing (tested: half@3 + trail 35/50% = 1.45/1.51, worse than fixed tp5 1.78).
- Two independent windows, same code: 12 Sep-5 Oct n=56 mean 1.68 (tp 17); 6-10 Oct n=70 mean 1.86 (tp 24). Pooled n=126 mean 1.78, bootstrap 5% 1.49, day-cluster bootstrap 5% 1.38 (18 days), ex-top-3 trades 1.5-1.6, thirds 1.41/1.37/2.55. Hit 5x 33%, stop 55%, median 0.46.
- Slippage 12% -> about 1.52, 20% -> about 1.29. Gap filter matters: gap > 1 h = 0.65 (n=38).
- Depth: median sell flow in the 5 min before entry $65k (p25 $44k, p10 $12k); a $10-50 position is tiny. pool_eth_after is empty for v3, so no reserve measure; pull risk is low at this size (no end-of-tape dead pools in the 5-60 min group: 0 'end' of 126).
- Stale tape end marked at 50% of last print; none occurred in the rule group.
- Fallback with existing radar thresholds (300k,1M,3M,5M..., no 2M): enter at 3M cross when 1M->3M gap is 10 min-2 h, tp5: 1.79 (n=55, 6-10 Oct) / 1.30 (n=43, Sep) = pooled about 1.57. Weaker; ask ppfeeds to add a 2M threshold to radar.
- Entering later tiers: 5M entry (3M->5M gap 5-60 min) tp5 about 1.15-1.2, tp3 1.2-1.5: thin.

## Does the 'speed past 1M' lens generalise? (e1-runners.csv, P(10M | 3M reached) by gap 1M->3M, 'jump' bucket <1 min removed)
| venue | 1-5 m | 5-30 m | 30 m-2 h | 2-24 h | >24 h |
| v2 | 0.57 (7) | 0.36 (76) | 0.40 (127) | 0.28 (46) | 0.22 (9) |
| v3 | 0.43 (14) | 0.40 (30) | 0.33 (48) | 0.31 (49) | 0.20 (46) |
| v4 no hook | 0.42 (38) | 0.34 (56) | 0.05 (39) | 0.17 (29) | 0.32 (25) |
| v4 hooked | 0.26 (23) | 0.06 (62) | 0.10 (72) | 0.12 (56) | 0.08 (25) |
v2 and v3 fast second legs are better. Hooked v4: no. v4 no hook 5-30 m: 34% (n=56) but pull-aware tape sim not done (88% of nohook touchers get pulled, #230): MATURE for v4 nohook, ask for sim.

## Other checks this run (all discard/info)
- Late ladder v3 (my earlier 3M cross 1.24 n=81) re-run with real gap fills, 2-print TP confirm and stale-tape haircut: 3M tp5 1.11 bs5 0.92, 2M tp5 1.13 bs5 0.96. Ungated late ladder DEAD; only the gap-gated version above survives.
- Round-number barrier (peak heaping just below $100k..$10M): flat in all venues. DISCARD.
- 'Unknown venue' in ladder.db: 50 pools not in pool_paths = 31 glitch-print junk (caps 1e12+) and 19 real v3 runners born 9-10 Oct that are in the live radar but newer than pool_paths (08:26). Not a venue gap, a refresh lag.
- Wallet identity in ladder.db: signer column is the router, 1 sender per pool. No wallet analysis possible from this tape (request below).
- Duration 1M->2M also: slow third (>1 h) is 0.75 vs 1.85 for faster two thirds (the same effect).

## Requests
- ppfeeds #697: radar.py THS add 2000000 (now 300k,1M,3M,5M,10M,20M). Same event format; v3 pools only needed first. Test: live forward FAST-LADDER-2M must show the same event count (about 4/day) as the replay.
- ppdata #698: (a) ladder.db swaps: add column origin EOA (tx.from) for all 438 pools (signer is the router, 1 distinct per pool) ; format: sqlite table swaps_from(tx TEXT PRIMARY KEY, frm TEXT) in /opt/sw/ladder.db. Test: share of buy volume 1M->2M from wallets that bought before 300k (insider continuation) splits FAST-LADDER outcomes; must lift mean by >=0.3 in both halves, else killed. (b) the existing ladder_hold request (#668) stays.
- testmgr #696: paper arm FAST-LADDER-2M exactly as in the rule section; fills at the real print; log gap, entry cap, fill price; kill if after n=40 forward trades mean < 1.0.
