Skip to content

feat: major v2.0.0 release with SQLite persistence, multi-category di… - #2

Open
pwnholic wants to merge 2 commits into
mainfrom
dev
Open

feat: major v2.0.0 release with SQLite persistence, multi-category di…#2
pwnholic wants to merge 2 commits into
mainfrom
dev

Conversation

@pwnholic

Copy link
Copy Markdown
Owner

…scovery, and enhanced TUI

New Features

  • SQLite persistence with trade history, order state, and migrations
  • Multi-category market discovery (Politics, Sports, Crypto, Finance, Geopolitics)
  • Multi-option market support (N-outcome markets)
  • WebSocket order tracking for real-time fills
  • Actor supervision with automatic restart
  • Graceful shutdown with order cancellation
  • Config hot-reload via watch channel

TUI Improvements

  • Float overlay filter menu with tabbed interface
  • Real-time market search with category filtering
  • Single-line keyboard shortcuts display
  • Width-adaptive separator

Bug Fixes

  • Fixed partial fill double-counting (now uses delta)
  • Integrated reconciler on startup
  • Fixed config watcher hot-reload
  • Optimized kill switch with atomic bool (no I/O on every signal)

Architecture

  • Added pmbot-db crate for SQLite persistence
  • Migrated from TOML to YAML configuration
  • Extended DiscoveryFilters with categories, tags, search_queries
  • Added outcome field to Signal and Position for multi-option markets

Refactoring

  • Dead code audit completed
  • Removed unused TUI widget methods
  • Standardized error handling across crates

…scovery, and enhanced TUI

## New Features
- SQLite persistence with trade history, order state, and migrations
- Multi-category market discovery (Politics, Sports, Crypto, Finance, Geopolitics)
- Multi-option market support (N-outcome markets)
- WebSocket order tracking for real-time fills
- Actor supervision with automatic restart
- Graceful shutdown with order cancellation
- Config hot-reload via watch channel

## TUI Improvements
- Float overlay filter menu with tabbed interface
- Real-time market search with category filtering
- Single-line keyboard shortcuts display
- Width-adaptive separator

## Bug Fixes
- Fixed partial fill double-counting (now uses delta)
- Integrated reconciler on startup
- Fixed config watcher hot-reload
- Optimized kill switch with atomic bool (no I/O on every signal)

## Architecture
- Added pmbot-db crate for SQLite persistence
- Migrated from TOML to YAML configuration
- Extended DiscoveryFilters with categories, tags, search_queries
- Added outcome field to Signal and Position for multi-option markets

## Refactoring
- Dead code audit completed
- Removed unused TUI widget methods
- Standardized error handling across crates
- Added MarketsDiscovered event to MarketEvent enum
- WorldState now includes all discovered markets from discovery API
- MarketActor emits MarketsDiscovered event after each discovery
- WorldStateBuilder stores discovered markets
- App uses discovered_markets for market search filtering
- Fixed WorldState initialization in all test files
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant