Files
trade-doc/todo.md

1.7 KiB

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

  • Faza 1: przepiąć useDlobStats i useDlobL2 na raw / derived z filtrem is_indicative=false
  • 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