# wlink pre-buy block on known pulled seed sizes: replay (research, 16 Oct)
Data: /opt/fm_mirror wl_wlink.log + wl_wlink1.log (12-14 Oct), script rug2/gate.py, mint.py, rug2/gate.json.
- 129 SIGNAL pools, 31 pools bought (3 live, 28 watch/paper). PULL burn logged for 61 pools; 12 distinct burn sizes.
- Pools not in PULL lines: liquidity() now = 0 for 43 (pull missed by the log), so 104/129 signal pools ended at zero liquidity.
  All 9 bought-but-no-PULL pools are also at 0 => **31 of 31 bought pools were pulled.** There is no wlink winner in this window to lose.
- Seed sizes (initial burn = seed): 63.25e21 x25, 67.08e21 x9, 31.62e21 x9, 64.81e21 x5, 70.71e21 x4, 59.16e21 x2, 54.77e21 x2, plus singles.
  Mint check on 3 of the 9 unlogged: 2 match 63.25e21 and 70.71e21, 1 is 20.0e21 (new size). Other 6 mints not found in the scanned range.
- Gate "seed == a known pulled size": blocks >= 24 of 31 buys (22 logged + 2 mint-matched), 0 of the buys were survivors. Exclude 31.62e21:
  24 pools still alive carry that exact seed (9 pulled), so it is a launcher kit, not a rug signature. No buy used it.
- Survivors in signal list: 24 (all 31.62e21) + 1 (1.10e24). Neither was bought.
Verdict: the auditor is right that the size is visible pre-buy, and the gate would have blocked most buys at no cost to winners. But the real finding is bigger:
every wlink buy rugged, so the lane is not fixed by a size table (new sizes appear, e.g. 20.0e21). Better gate: buy only if seed is NOT in the pulled-size set AND seed is 31.62e21-class (or other size with a live record); i.e. whitelist by sizes that have survivors, not blacklist.
Caveat: sizes are stored as in-range units; recheck the same unit at mint time (Mint event amount word 2), which matches the PULL burn.
