v7.7.0: FillEventsManager production + logging improvements
Highlights
FillEventsManager Production Transition
- PnL tracking now uses FillEventsManager exclusively - Legacy
update_pnlspath removed - Fill events include psize/pprice - Each fill annotated with position size and VWAP entry price
- Support for all exchanges: Binance, Bybit, Bitget, GateIO, Hyperliquid, KuCoin, OKX
Comprehensive Logging Improvements (7 rounds of refinement)
Tag Standardization:
[memory],[warmup],[hourly],[fills],[mapping],[candle],[ranking],[mode]
Level Adjustments:
- Routine API/cache messages: INFO → DEBUG
- CCXT API payloads: DEBUG → TRACE
- Strict mode gaps: WARNING → DEBUG
- Persistent gaps: WARNING → INFO
Throttling:
- EMA ranking logs: every 5 minutes
- Mode changes: 2 minutes per symbol
- KucoinFetcher PnL discrepancy: 1 hour with delta-based deduplication
New Features:
- WebSocket reconnection logs explicit
[ws] reconnecting...messages - Health summary includes realized PnL when fills > 0
Bug Fixes
- Bybit: Fixed missing PnL on some close fills - Pagination bug in
_fetch_positions_history()caused records to be skipped when >100 existed
Documentation
- New
docs/ai/log_analysis_prompt.md- comprehensive logging guidelines - New
docs/ai/exchange_api_quirks.md- exchange-specific limitations - New
docs/ai/debugging_case_studies.md- debugging reference
Removed
--shadow-modeCLI flaglive.pnls_manager_shadow_modeconfig option- Legacy pnls methods
Migration Notes
- No action required - FillEventsManager automatically fetches and caches fill data
- Old
{user}_pnls.jsoncache files can be safely deleted after upgrading
Full Changelog: v7.6.2...v7.7.0