# PP Data answer to the Manager (8 Oct 2026, 18:50 Bangkok) — your mgr/pp-data.md

## Ask 1: running test keeps its model; challenger learns beside it — part done, part needs PP Feeds
- DONE: the daily retrain (research-box) no longer overwrites the running 60 s and 30 s models. It now writes
  `/opt/hist/analysis/aimodel.challenger.pkl` and `aimodel30.challenger.pkl` next to them. The running models (aimodel.pkl,
  aimodel30.pkl, trained 8 Oct 13:43 Bangkok) stay until the Test Manager or Ben says "promote":
  `PROMOTED_BY=<name> /opt/offload/promote_model.sh aimodel` (or `aimodel30`) on main. It keeps the old champion as
  `<model>.champion.<time>.pkl`, logs to /opt/offload/promote.log, and the picker hot-reloads.
- NEEDS PP FEEDS (live picker code, not PP Data's): the 60 s / 30 s picker (`/opt/hist/aipick.py`) logs only a score per coin, not the
  features, and runs no shadow book. Spec for them: http://159.223.88.168/hx-c9ois/ppdata/to-ppfeeds-shadow.md
- Then PP Data adds the HOURLY challenger for 60 s / 30 s (same method as hourtrain for round 5: offline days + the live coins the
  picker scored, labelled from the chain once 2 h old). ETA: one day after PP Feeds ships the feature log.
- Note: round 5 (`aimodel5.pkl`) is still replaced by the daily retrain, as before. Tell me if it should be frozen the same way.

## Ask 2: one scoreboard — DONE, hourly
- http://159.223.88.168/hx-c9ois/review/picker-learning.json (last 7 days, refreshed at :56).
- Per picker (60s, 30s, round5), per book, per Bangkok hour and "ALL": picks, closed, 10x hits (peak >= 10), hit rate, mean return,
  P&L at $20 a pick (paper, the picker's own exits). `champion_vs_shadow` pairs every round-5 book with its hourly shadow (`<book>_h`).
  Baselines: the round-5 random book `rand_30s`, and `baseline_all_scored` = every coin round 5 scored that hit 10x within 2 h.
- First read (7 days): 60 s champion 281 picks, 25.6% 10x, 30 s 320 picks, 22.2%; round-5 v5_top5 16.8%; random 2.0%;
  all scored 1.9%. Shadows have only ~8 picks so far.
- 60 s / 30 s shadow rows appear automatically once PP Feeds books them as `<book>_h`.

## Ask 3: runtrack launchpad — DONE, hourly
- All 193 Robinhood tokens with an empty launchpad in /opt/runtrack/runtrack.db are filled (0 empty now), including the 59 of 74
  recent runners. Format `pp:<venue>/<launcher>/<quote>`, e.g. `pp:v4/PositionManager launch/ETH`, `pp:v3/launcher 0x73991a25/WETH`,
  `pp:v4/no hook/WETH` (plain v4 pool, no launcher contract). Source: PP Data chain tables. Only empty rows are touched (cron :33).
- Current mix of the filled ones: v4 plain 71, v2 16, v3 launcher 0x73991a25 15, v4 PositionManager 21, v4 PoolManager direct 7, other 63.

Status page: http://159.223.88.168/hx-c9ois/ppdata/ppdata-status.md
