# A2.40 Ramp gate v2: fidelity per size step + combined FW/SW exposure (FW Analyst 2)

Made 07 Oct 2026 11:40 Bangkok. Job: sup-to-a2.md v29 (elite plan section 3). Data: chain audit http://159.223.88.168/hx-c9ois/fw/a3-live-audit.md (11:18), live board mc5live.txt (fmmc5 md5 072e520d1f3b149d159939bf22f3cf40), lab.py rerun by me with sizes $10/$100/$300/$1k/$3k on research-box (/root/fwa2/a240, 306 s, rows: http://159.223.88.168/hx-c9ois/fw/a2-ramp-v2-fwrows.csv), SW gate book sw/sw-a2-21-trades.csv + kit labels sw/sw-a2-24-kits.csv, SW live events sw/w2-live-events.md.

## Read this first
- **(1) CONFIRMED, with one fix before $100.** $10 has proven execution: 8 of 8 legs fill/model 1.0000 on chain. Pull exit is the only unseen money leg. Its money worst case is 1 ticket, and paper already books every pull at 0.000x, so live cannot do worse than paper on it. Its real risk is operational: a failed sell into an emptied pool trips the kill switch on the FIRST failure (fm_mc5.py L330 to L332), which halts all new buys until a human resets. Pulls hit 9.4% of trades (14 of 149, half B), so about one pull a day. **Ask PP: on a pull, a failed sell must not trip the kill (keep open_unsold + retry + alert), and dry-quote gmgn-cli on an already-burned pool (0x4fc807391d8dd76992043950248b26a610231075) to see if it errors.**
- **(2) Step bars below** (5 trades at $100, 5 at $300, 10 at $1k). Grade every live trade against the paper twin AT THE SAME SIZE: 7 of 176 coins exit differently at $100 vs $1k.
- **(3) Overlap is big.** 35 of 70 SW gate trades (50%) were held by FW at the same time; from FW's side, 21% of trades are co-held. Both live SW signals so far (CHONK, CrawlScan) were FW coins. Co-held SW trades still average 2.32x, so do NOT block them. **Cap rule: one combined drawdown kill (20 tickets of the larger ticket across both wallets), at most 1 ticket per coin per window, combined open at most 6.**
- **Correction to the plan number:** lab.py half B at $1k is 2.09x on the window to 6 Oct 12:00 (n149), not 1.69x (that was to 5 Oct, n146). Three coins moved the mean by 0.4x. The mean is not stable at n about 150. Size the ramp on fills, not on the mean.

## 1. Fidelity at $10 (the gate as Musk would set it)
| leg | live count | proof | verdict |
|---|---|---|---|
| buy | 4 | fill/model 1.0000 at the block before, delay 1 to 4 s (pass line 6 s) | PROVEN |
| stop sell | 3 | 1.0000; v32 SELL_SENT 1.4 s (trade 4); one cascade gapped through to 0.005x, paper twin 0.009x | PROVEN |
| time stop sell | 1 | 1.0000; 30.18x vs paper twin 30.14x | PROVEN |
| pull sell | 0 | none | UNSEEN |
| failed buy path | 1 | --yes miss 6 Oct 19:03, fixed; cost 0.49x at $10 paper, but 14.36x at $1k paper on the same coin | PROVEN (fixed) |
| restart with open trade | 1 | 00:12 restart kept trade 1 | PROVEN |
| kill switch | 0 | never fired | UNSEEN (not a money leg) |

- Live minus paper twin, per trade: +0.044x, -0.008x, -0.003x, +0.101x. Mean +0.034x. Live is not worse than paper.
- fill/model at the block before also works as a sandwich detector: a same-block front-run would show under 1.0000. None seen.
- **Pull leg worst case: 1.0 ticket plus 2 x gas.** That equals paper, which books every pull at 0.000x (14 of 14 half B pulls at all sizes are 0.000x). Correlated worst case: 3 open trades pulled at once = 3 tickets, inside the 20 ticket kill. Most pulls in one day on paper: 6 (25 Sep).
- **The real pull risk is the halt.** L338 books a pull at 0 whatever comes back (fine, conservative). But L330 to L332 fires kill() on the first failed sell, while the comment says "after retry". On a 100% burn the sell may fail. A halt at $100 costs about $70 an hour of paper edge (about +$1,700 a day half B). Fix before or with the $100 flip.

## 2. Bars I will grade at each step (all must hold; any FAIL stops the step)
Paper twin = lab.py at the live ticket size, priced at the live block (A3 audit). If a twin size is missing, A3 adds it (A3 now has $100 and $1k; $300 is needed).

| bar | $100 (5 trades) | $300 (5 trades) | $1k (10 trades) |
|---|---|---|---|
| buy delay after the +5 min check | every buy 6 s or less | same | same |
| fill/model at block before (sandwich check), every leg | 0.995 or more | 0.995 or more | 0.99 or more; 2 legs under 0.97 = stop |
| buy gap: live entry vs paper twin entry | every trade under +3%, median under +1.5% | same | same |
| stop/pull: trigger to SELL_SENT | 5 s or less every time | same | same |
| stop slip: live x minus twin x at the sell block | every stop -0.05x or better, mean -0.02x or better | same | same |
| time stop: live x / twin x | 0.97 or more | 0.97 or more | 0.95 or more (paper depth cost at $1k is 4.6% median, worst 16%) |
| missed trades vs the paper book | 0 unnamed; named (max open, low funds) at most 1 | same | same |
| round trip at the step size, at the check | 0.85 or more on every bought coin | rt at $300 0.85 or more | rt at $1k 0.85 or more |
| kill switch | not fired | not fired | not fired |
| extra | pull fix live (section 1) | A3 adds the $300 twin | emergency slip cut from 30% to 15% (30% at $1k = $300 a sandwich can take), red team sign |

- Paper depth cost by size (half B, same coin, same exit): stop exits $100 to $1k median 1.03 (own buy kept, no cost); time exits $100 to $300 median 0.988, $100 to $1k 0.954 (worst 0.841). Half B mean x: $10 2.26, $100 2.31, $300 2.26, $1k 2.09, $3k 1.78. So $300 costs nothing and $1k costs about 10% of the mean.
- Why the twin must be the same size: 7 of 176 coins change exit between $100 and $1k (example pool 0x9087277a97a6f91c18829f480929280e9ac052a5: stop 0.54x at $1k, 3.61x time at $3k). Even $10 vs $100 differs on 5 coins: the stop sits within 0.003x of the line, so a $10 ticket can stop out where the $100 twin runs (pool 0xa402616f4d05cca33947fabc6ff51ba795f6d2f4: 0.4975x stop at $10, 6.67x at $100).

## 3. Combined FW + SW live exposure
- SW gate book (70 trades, 21 Sep to 6 Oct): 47 of 70 coins (67%) were also FW mc5 coins; **35 (50%) were held by both at the same time.** SW bought those a median of 34 min after FW (range -4 to +107 min).
- From FW's side: 35 of 170 FW trades in that span (21%) were co-held.
- Live: SW's two live signals were CHONK (pool 0x8da021f34c2f2a95696c4fd842b0cd0cc4e18468, FW trade 1, 29.4x) and CrawlScan (pool 0xa6caf95634d4bcffdfb535eec889c9c928ff13d5, FW trade 4). 2 of 2 co-held.
- Co-held outcomes move together: every FW stop on a co-held coin was also an SW stop, and pulls hit both (pools 0x4ad85eec16c968ae5615296010733b7f6cab2ad2, 0x61aa0d0b3f0e68786fe9d638d11684eb43a229ea, 0xad4cfc3433988aa9495d94b4163f84e2422bb1d2). But SW's co-held trades still average 2.32x (FW on the same coins 8.60x), so blocking them throws away SW edge.
- **Worst combined day (both at $1k, paper):** 4 Oct, -9.3 tickets (FW -10.1, SW +0.8). Second worst: 28 Sep, -7.3 (FW -5.3, SW -2.0).
- **Worst case if both are full:** FW 3 open + SW open, all pulled at once = 1 ticket each. With today's separate kills (FW 20 tickets, SW $100 = 10 tickets at $10), the two bots can lose 30 tickets before both stop.
- **Cap rule (before step 2, $300):**
  1. One combined drawdown kill: both bots stop new buys when FW plus SW drawdown from the combined peak is over 20 tickets (tickets of the larger of the two). A server script on main reads both boards every minute and writes one flag file that both bots check before every buy.
  2. Per coin: at most 1 ticket per window (no stacking inside a window). The second window may still buy a coin the first holds.
  3. Combined open positions at most 6.
  4. Separate wallets stay separate, so one bot's stuck sell can never spend the other's gas.

## Needs PP (code, before or with the $100 flip)
1. Pull path: a failed sell after a pull must not call kill() on the first failure (L330 to L332). Use open_unsold + retry + alert. Kill only if the pool still has 0.1 WETH or more.
2. Dry-quote gmgn-cli sell on the burned pool 0x4fc807391d8dd76992043950248b26a610231075 and log whether it errors.
3. Before $1k: emergency slip 30% down to 15%.

## Needs A3
- Add a $300 twin column to the live audit before step 2.

Version: v1, 07 Oct 2026 11:40 Bangkok, FW Analyst 2. Latest: http://159.223.88.168/hx-c9ois/fw/a2-ramp-v2.md
