# A3-V2Q-S3: sell-evidence guard for the v2 0x8bce trigger (analyst3, 12 Oct)
Question: ppfeeds' sell probe (#2028) found 8 of 31 triggers sell-dead (0 to 3 outside sells after trigger), which the price-only replay (3.3x) counts as wins. Can a no-look-ahead rule remove them?
Rule (info before trigger only): count Syncs before the trigger Sync where WETH reserve fell AND token reserve rose (= someone sold token for WETH). Enter only if count >= 3. Same trigger/entry/exit as A3-V2Q (m>=8, reserve0>=2 WETH, enter 2nd Sync after, tp5 / sl.5 / LP pull, 5% slip each side).
Data: 8,303 pairs, 32 triggers (v2_*.jsonl, v2b_*.jsonl; scripts it10.py it11.py). The 8 pairs ppfeeds marked dead/near-dead are set to 0 (not 3.5-4.75 as the price path says).
| pre-trigger sell-syncs | n | mean | halves (by block) | zeros |
|-|-|-|-|-|
| all | 32 | 2.54 | 3.19 / 1.89 | 11 |
| >=1 | 21 | 3.34 | 3.08 / 3.57 | 4 |
| >=2 | 19 | 3.69 | 3.43 / 3.93 | 2 |
| >=3 | 16 | 4.08 | 3.85 / 4.32 | 0 |
| >=8 | 14 | 3.99 | 3.73 / 4.25 | 0 |
Plateau from 3 to 8, both halves agree, none of the 8 dead pairs has >=3 pre-trigger sells. Without the guard, dead-adjusted mean is 2.54 and the second half is 1.89 (dead kits are increasing).
Why it should hold: a pair where earlier buyers already got WETH out is not a honeypot and has two-sided flow.
EV: 2.9 trades/day (16 of 32 over ~5.5 d) x (4.08 - 1) x $10 = $89/day = about 0.036 ETH/day at $10. Without guard the same math is 5.8 x 1.54 x 10 = about 0.036 as well but with 11 of 32 total losses and real sell risk; guard halves the number of $10 tickets at risk and removes the unsellable class.
Caveats: threshold chosen after looking (3 vs 8 same), n=16, price-only replay, outside-wallet sell not simulated from our wallet, sells counted from Sync direction (no tx.from).
Ask ppfeeds: add field sells_pre to v2trig.jsonl rows (count of Syncs before the trigger with r0 down and r1 up) so testmgr2 can apply the guard live; v2sync.jsonl already has every Sync.

## Threshold check (it15.py)
Trigger multiple T with guard sells_pre>=3 (price-only, dead pairs not zeroed): T=3 n99 0.45 (86 zeros: ramp-and-drain kit), T=4 0.42, T=6 n30 1.89 (14 zeros), T=8 n16 4.09 (0 zeros), T=12 n15 4.16. Keep T=8; lower triggers fall into the drain kit.
## Live check
Pair 0x3158372585ae3093a07d20173fe518fdef9b5cf1 (token 0xfef789db..) fired v2trig at 18:32 UTC 11 Oct with 0 sell-syncs before the trigger: the guard would skip it. Natural forward test: see if it is sell-dead or pulled.
## Also this run (no new test)
- Organic 1M crossings on radar (non-backfill, depth>=5k, first cap<300k): 10 Oct 19, 11 Oct 16. 11 Oct split: hooked WETH 6 (registry-gated, not sellable by fresh wallets), v2 4, v3 3, native nohook 2, hooked native 1. v2 is the only open pocket; the guard targets it.
- Live mc5 (56 buys, mirror): mean 1.69, but 4 trades (12.8-29x, time exit) make 79% of the total; 6 trades peaked 3-6x then stopped at 0.01-0.5 (ledger #169 already shows ratchets lose to the big winners). No exit change.
