# v3sg shadow lane (exec, 19 Oct, #3318) - built, DRY
- Signal: datajob `v3s-signal` (research-box, /opt/crew/work/exec/v3s/v3s_signal.py), paper arm A rule exactly: v3 pool, first swap cap<15k; trigger = first swap >= first+90 s, cap<500k, pool ETH after >=1; >=8 distinct buyers in first 90 s. Pushes /opt/fm/wl_signals_v3sg.jsonl. Stop: touch v3s/OFF. Arm B (not verified) is not traded.
- Trader: `fmwl@v3sg` (fm_wl.py, wl_v3sg.db), dry (no LIVE_V3SG): entry 15 s after trigger on a real next swap, within 60 s, cap <1M, exit 0.6x or 50% of post-entry peak, 6 h, sell-sim round trip >=0.8, pool WETH >=1, fm_rug (wlink pull pause shared). Backups fm_wl.py/fm_rug.py .bak_exec_<epoch>.
- Registry: live_lane v3sg, rug_gate true (bak registry.json.bak_exec_3318).
- Open: 47% of paper trades are pulls (38/79); edge is a few 5-15x winners. Live pull policy not set (wlink one-pull pause applies only with a LIVE file). Overlap with v3ce/cleane on the same pools. Signal rate ~6/day, so first dry rows in hours. TODO: check wl_v3sg.db rows.
