# Trade App PG Migration TODO Cel: trzymać `trade app` wyłącznie na danych z naszego Postgresa (`raw` / `derived`), bez zależności od legacy agregatów `dlob_l2_latest`, `dlob_stats_latest`, `dlob_depth_bps_latest`, `dlob_slippage_latest`. ## Stan docelowy - wykresy zostają na `trade-api /v1/chart` - orderbook i KPI DLOB czytają `dlob_hot_snapshot_latest`, `dlob_hot_derived_latest` albo `dlob_all_derived_latest` - depth bands i slippage są liczone w frontendzie z tego samego L2 z Postgresa - po drugiej fazie można wyciąć z app-path `dlob-server`, `dlob-worker`, `dlob-depth-worker`, `dlob-slippage-worker` - ścieżka `hot` zostaje dla execution/debug, nie dla głównego widoku `trade app` ## Plan - [x] Faza 1: przepiąć `useDlobStats` i `useDlobL2` na `raw` / `derived` z filtrem `is_indicative=false` - [x] Faza 2: przepiąć `useDlobDepthBands` i `useDlobSlippage` off legacy tabel i liczyć je bezpośrednio z orderbooka z Postgresa - [ ] Faza 3: jeśli będzie potrzebne, przenieść te same obliczenia do backendu / ts writerów jako cache lub time series - [ ] Faza 4: usunąć z app-path zależność od `dlob-server` i workerów legacy po potwierdzeniu zgodności UI ## Mapowanie fazy 1 - `best_bid_price` -> `bestBid` - `best_ask_price` -> `bestAsk` - `mid_price` -> `mid` - `spread_quote` -> `spreadAbs` - `spread_bps` -> `spreadBps` - `depth_bid_quote` -> `depthBidUsd` - `depth_ask_quote` -> `depthAskUsd` - `bids_norm` / `asks_norm` albo `bids` / `asks` -> orderbook L2 ## Uwaga - UI powinno czytać tylko `is_indicative=false` - `hot` ma preferować raw (`dlob_hot_snapshot_latest`) tam, gdzie potrzebna jest pełna drabinka - `all` ma czytać `dlob_all_derived_latest` - frontend nie powinien zależeć od legacy tabel agregatowych