# a2: F rule exits and entry-momentum (v3live replay 6-16 Oct, 2834 pools) - 16 Oct 19:40 UTC
Scripts: /opt/crew/work/analyst2/mi8.py mi10.py mi11.py mi13.py (same harness as mi7: entry 15 s after trigger, cost 7%, mult cap 30).
Base F: age<=300 s, cap 10-60k, cumulative net buy >=1.5 ETH, pool ETH >=1.
## 1. Exit lens: the entry is right, the exit throws the runner away
103 of 716 F entries touch 1M later, but the median multiple of those 103 is ~0.7 (stop .6 / trail .5 fires in the early chop of a 3-10k coin).
Staged trail: stop 0.2x entry, trail 85% until peak >=5x entry, then trail 50%. Mean 1.74 -> 2.02 (lo80 1.87, halves 2.15/1.89).
## 2. Rug-aware correction (honest bound)
Old replay valued the exit at the last print even when the pool had been drained. Valuing an exit as 0 when pool ETH at exit <15% of entry pool ETH:
base F 1.42, staged 1.67 (lo80 1.51, halves 1.69/1.64). Truth is between (drain by sellers is real price, LP pull is not). Needs LP-pull events (data request below).
## 3. Closing-line analog: entry cap / ETH-weighted average cap of all buys so far (CLV)
Rug-aware, staged exits: CLV<1.3 n=365 mean 1.43, 18 runners; CLV 1.3-2 n=350 mean 1.91 lo80 1.64 halves 2.10/1.72 ex-top3 1.69, 85 of the 103 runners touched 1M (24% vs 5%). Median 0.53: lottery shape.
Entering when price is already 30-100% above the average early buyer is trend confirmation, not "late".
## Weak / info
net/poolETH>=0.3 lifts mean (1.92 plain) but drops runners 103->17. Repeat-buyer count, UTC hour: no clean signal.
## Ready to test: F-CLV-STAGE
Entry: v3 pool, age<=300 s, cap 10-60k, cumulative net buy >=1.5 ETH, pool ETH >=1, entry cap / eth-weighted avg buy cap >=1.3 (and <2).
Exit: stop 0.2x entry; trail 85% from peak until peak >=5x entry, then trail 50%; max hold 6 h. Hunt: 1M+ (entry 10-60k, target 1M tier).
## Data request to ppdata (ledger #630)
What: every v3 pool liquidity decrease (Burn / DecreaseLiquidity, collect excluded) with pool, block, ts, amount0, amount1 (WETH side in ETH), owner/tx.from.
Period: 6-16 Oct for all pools in /opt/sw/v3live.db and v3hist.db (2834 pools in the replay), then daily append. Format: sqlite table lpburn(pool,block,ts,eth_out,owner) in /opt/sw/ (read-only for me).
Test: split the 63% "pool ETH fell <15%" exits of F into LP pull vs seller drain; re-score F-CLV-STAGE with LP pull = 0x. If LP pulls <10% of F entries, the plain 1.9 stands; if >30%, add a pre-buy LP-owner check.

## 17 Oct: LP-pull result (ppdata lpburn.db, #2779; mi14.py)
F-CLV-STAGE entries (CLV 1.3-2, n=350): 171 (49%) have an LP removal >=30% of pool ETH between entry-60 s and exit+120 s (same at 60% / 90% share: 167-170 = full pulls). 118 exits have pool ETH <15%; 71 of them overlap a pull.
Mean multiple: no rug 2.19 (lo80 1.92) | old rug-aware 1.91 (1.64) | every pulled entry = 0x: **1.57 (lo80 1.29)**.
All F (n=716): 2.02 | 1.67 | 1.20 (lo80 1.04). CLV 1.3-2 is the only slice with a clear edge under worst-case pulls.
Verdict by the pre-set rule: pulls >30% of entries -> pre-buy LP-owner/deployer pull-history check is mandatory (rug_gate). Worst-case edge survives (mean 1.57), so F-CLV-STAGE stays on paper/shadow. Caveat: LP owner is signer only, not NFT owner; a rug-gate that blocks half the pulls would lift 1.57 toward 1.9.

## 17 Oct: pre-buy pull-history gate on F-CLV-STAGE (mi15.py, births.db creator/launcher x lpburn.db, as-of entry+300 s)
Coverage: only 145 of 350 CLV 1.3-2 entries have a births.db row; the other 205 average ~1.31 under worst-case pulls (derived), so the gate below is partly a coverage effect too.
Worst-case (every >=30% pull = 0x) mean multiple:
- creator with 0 prior pools: n=104, pulled 44, 25 runners, 2.25 | creator with >=2 prior pulled pools: n=30, pulled 21, 8 runners, **0.63** | creator with prior pools and no pull: n=11, 2.56 (too small).
- launcher kit with >=1 earlier pull (before entry): n=90, pulled 60, 8 runners, 1.38 | launcher with <1 earlier pull... (<3): n=55, pulled 6, 25 runners, **2.87**.
Reading: serial pullers (creator >=2 prior pulls) are a clean skip. Fresh creators carry the runners (25 of 85). Rule for rug_gate: skip when creator has >=2 pulled pools (>=30% LP share) or launcher kit pulled before in the last 48 h; pause. Verdict: mature, feeds exec's rug gate (F-CLV-STAGE #627 stays paper/shadow, gate = extra arm). Needs: births.db coverage for the 205 uncovered pools (ppdata).
