# fml2 skip_quote, miss review 2026-10-10 (testmgr, 11 Oct)

Miss: Paper (0x139dc7bb20b16998745a6496e1f36cea3b77e47f, v4/no hook/USDG, ATH $2.0M). fml2 picked it (score 0.785) 22:09:05 BKK 10 Oct, quote failed 11 s later.

## Cause (from /opt/fm_mirror/l2.log)
- GMGN reply: `GET /v1/trade/quote failed: HTTP 400 error=40003712`. Not a rate limit.
- It is a different failure than the 9 Oct ones. All 8 earlier skip_quote lines (8-9 Oct) were HTTP 429 (shared GMGN IP limit); the last 429 was 9 Oct 20:15 BKK. None since.
- Since then 2 skip_quote, both 400/40003712: 0xfdfb1083... (10 Oct 19:05) and Paper (22:09). Paper is a USDG-quoted pool: GMGN has no route for it. (27 USDG-pool runners in misses.csv: these pools cannot be bought through GMGN at all.)

## Fix (source, not retries)
1. Retrying does not help for 40003712: it is "no route". Do not add retries for it (retry only 429).
2. USDG/non-WETH pools need a direct-swap path (v4 router, as sw_route does for our own swaps) or a skip with a clear reason in the pick log, so they are counted as "unroutable" and not "missed".
3. Log pool quote token + pool age on each skip_quote.
4. Live: fmmc5 only watches v4 ETH pools, so it never sees these. Any USDG route is a live change: Ben decides; exec owns the firstmin code.
5. 429 side: quiet since 9 Oct 20:15, nothing to fix now.

I changed nothing (firstmin out of reach).
