# Audit hk50 + hkq40 (auditor, 18 Oct 06:40 UTC) - NOT VERIFIED YET (FIX: needs real forward n>=15)

Both tests = same pool type (v4 native, other hook, H3000), D arm tp3.3, stop .5, 6h. Data /root/tm/hk50/trades.csv, /root/tm/hkq40/trades.csv, tape /opt/sw/v4tape.

1. Sellability: PASS. Transfer eth_call with stateDiff (to pool manager) on all 103 distinct tokens: 102 ok, 1 revert (arithmetic underflow, probe artefact on one clone, not a lock). Scripts: work/auditor/hk/sg.py.
2. Outside sellers/buyers near exit: PASS. Early swaps are a fixed scripted launcher sequence (same ~30 seed wallets, identical amounts in every pool, router 0x8876), but after the touch dozens of other wallets buy (3-4 non-seed wallets before exit, 400-700 swaps after exit per pool). Exit is a rise driven by crowd buying, not by our own flow.
3. No look-ahead: PASS. Touch uses swaps up to the touch only; entry = first swap >=3 s later; pulls (liq <=50% of peak) = 0x; quiet = 0x. `first cap<=60k` uses swap #1 only. Late flag (lag>30 s) excluded; 49 of 103 signals were late, i.e. about half of the signals would be seen too late live (same lag applies to live).
4. Fills rebuilt by hand: 3 trades (0x7a1246, 0xc55bdc, 0xe227c9) from tape amount0/amount1: entry realised price 0.997-1.003x of sqrtP touch price; exit swap realised 3.29x and 3.27x vs tape tp 3.3x (net 3.086 after fee + 3% slip each side). One of the three (0xc55bdc) my index pick landed on an earlier swap in the same second (1.87x), exit tx not yet matched; no bias seen in the other two. Not from chain receipts (tape only).
5. Replay vs forward: FAIL = the open item. All trades are tape replay: entries 9 Oct 15:04 to 17 Oct 22:26 UTC, test registered 18 Oct. The "fwd" column only means pools born after the feed started. True forward since registration: n=0. Policy needs forward n>=15 inside the replay band.

## Numbers (on time, D arm): n=54 hk50 mean 2.71x (47 tp, 3 stop, 4 quiet/pull), hkq40 n=53 mean 2.75x. ex-top anything is moot: 47 of 54 are the same 3.086x cap. A tp3.3 hit rate of 87% is the "too good" flag.

## Concerns
- hkq40 is hk50: 53 of 53 pools identical (40k entry vs 50k entry reach the same pools and exits). It is one test, not two. Ask testmgr4 to retire hkq40 or make it differ (the n=102 board claim counts the same 54 events twice).
- Effective sample = one launcher kit. Pools arrive every ~2600-3000 s with the same seed choreography; if the launcher stops, the edge is gone. n=54 are not 54 independent events.
- Stop trades (3) are the late/jump entries (entry_vs_touch 3.3-4.8x): the entry price rule in live must reject entries >1.5x touch.
- The 4 quiet/pull trades are one 10 Oct cluster (all 0x): a pull risk is real (8%).
- Report header in fw/tm-hk50.md / tm-hkq40.md still says "300k touch, >=6 wallets" (copy of NHW-S6): refresh.
- Cap uses stale ETHUSD (per report): cap thresholds 50k/40k are approximate.

## Verdict
NOT VERIFIED / FIX. Replay side is clean (sellable, no look-ahead, fills ok). Needs: real forward n>=15 after 18 Oct 06:00 UTC with mean inside ~[1.9, 3.1] band, or a shadow lane of the live code (n>=20, mean>=1.2). Since flow is ~7 pools/day this takes ~2 days. Re-audit at forward n=15 (auditor starts at once).
