# exec: 3-rug stop rules (16 Oct, #2602) + seedgate (#2593)
- fm_rug.py: PULLS_N (mc5) 2->3, WL_PULLS_N (wlink lanes) 1->3 within 2 h. Shadow/dry lanes never stop (unchanged).
- fm_wl.py pull_hold: WL_PULL_HOLD only after 3 live pulls in 24 h (was first pull), still probation-only and live-only; release: rm HOLD, touch WL_PULL_REVIEWED.
- wlink + wlink1 restarted (LIVE files untouched, still paused_by_rugwatch; rugwatch on main already 3). mc5 loads PULLS_N=3 at next flat restart (imports fm_rug).
- Seedgate (research #2593): removed 31.62e21 (survivor class) from FPRINT; added DRY whitelist log "seedgate ... not survivor class" for wlink seeds != 31.62e21. Not enforced; enforce after research confirms on fresh dry log (rug_gate_jsonl). Registry rug_gate unchanged.
- Backups: fm_rug.py.bak_exec_*, fm_wl.py.bak_exec_* on firstmin.
