Agent skill
python-bot-standards
Coding standards, modular architecture, and common execution patterns for the PolyFlup Python backend.
Install this agent skill to your Project
npx add-skill https://github.com/Niller2005/PolyFlup/tree/main/.opencode/skill/python-bot-standards
SKILL.md
Python Coding Standards
Modular Architecture
The backend is modularized into packages:
src.trading.orders: Order management (limit, market, batch, positions).src.data.market_data: Data fetching (polymarket, binance, indicators, price validation).src.trading: Centralized execution logic (execution.py,logic.py,strategy.py).src.trading.position_manager: Position lifecycle management (entry, exit, scale-in, stop-loss, reconciliation).
Standard Trade Execution
from src.trading import execute_trade
# Execute a trade with full tracking and notifications
trade_id = execute_trade(trade_params, is_reversal=False)
Imports
- Use absolute imports from
src.* - Group imports: standard library โ third-party โ local
- Always import from
src.config.settingsfor configuration constants
Formatting
- Indentation: 4 spaces
- Line length: ~90 characters
- Strings: Double quotes preferred
- Docstrings: Triple double-quotes with brief description
Error Handling & Logging
- Use
log_error(text, include_traceback=True)fromsrc.utils.loggerfor all exceptions. - Always log errors with context:
log(f"[{symbol}] Order failed: {e}"). - Graceful degradation: return neutral/safe values on error.
- Use emojis in logs (๐ Monitoring, ๐ Execution, โ Success, โ Error).
Thread Safety & Synchronization (v0.4.2+)
- Use threading locks for shared resources:
with position_lock: ... - Always confirm order fills before cancellation to prevent race conditions
- Implement reconciliation systems for order tracking consistency
- Use
recent_fillstracking to prevent duplicate processing - Add synchronization locks for all critical trading operations
Confidence Algorithm Standards (v0.4.2+)
- Cap confidence at 85% maximum to prevent overconfidence
- Validate price movements before high-confidence trades (>75%)
- Implement multi-confirmation systems for extreme confidence levels
- Use directional voting with weighted signal aggregation
- Test confidence ranges (0-100%) and bias validation thoroughly
Bayesian Confidence Calculation (v0.5.0+)
- Dual Calculation System: Both additive and Bayesian methods are calculated simultaneously for A/B testing
- Configuration Flag:
BAYESIAN_CONFIDENCEinsrc/config/settings.pytoggles between methods (default: NO) - Bayesian Formula:
python
# Start with market prior from Polymarket orderbook prior_odds = p_up / (1 - p_up) log_odds = ln(prior_odds) # Accumulate evidence from all signals for each signal: evidence = (score - 0.5) * 2 # -1 to +1 log_LR = evidence * 3.0 * quality # Calibration with quality log_odds += log_LR ร weight # Convert to probability confidence = 1 / (1 + exp(-log_odds)) - Quality Factors (0.7-1.5x): Applied to log-likelihood strength for each signal
- Market Prior: Anchors calculation to Polymarket orderbook probability
- A/B Testing: Both methods stored in
raw_scoresdictionary and database for comparison - Database Schema: Migration 007 adds
additive_confidence,additive_bias,bayesian_confidence,bayesian_bias,market_prior_p_upcolumns
Audit Trail Requirements (v0.4.2+)
- Log all scale-in order lifecycle events with consistent formatting
- Use standardized emojis: ๐ฏ (placement), โ (filled), ๐งน (cancellation), โ ๏ธ (race condition)
- Include order IDs, sizes, prices, and timestamps in all audit logs
- Maintain separate audit trails for notifications, reconciliation, and position management
- Log notification processing with order ID extraction details
Database Safety Standards
- Always use
db_connection()context manager - Pass active cursors to write functions within transactions
- Implement migration system for schema changes
- Use
schema_versiontable to track database versions - Prevent deadlocks with proper cursor management
Configuration Management
- Centralize all settings in
src.config.settings - Use environment variables for sensitive data
- Implement validation for critical thresholds (MIN_EDGE, confidence caps)
- Document all configuration options in
.env.example - Add price validation settings for high-confidence trades
Testing Standards
- Create comprehensive test suites for algorithm validation
- Test confidence ranges (0-100%), bias validation, and safety features
- Implement integration tests for multi-confirmation systems
- Validate price movement detection and manipulation prevention
- Test race condition prevention and synchronization
Performance Optimization
- Use efficient API calls with proper caching
- Implement batch processing for multiple orders
- Monitor execution times and optimize critical paths
- Use WebSocket connections for real-time data where possible
- Optimize notification processing with efficient order ID extraction
Documentation Standards
- Update README.md with latest features and improvements
- Maintain detailed strategy documentation in docs/STRATEGY.md
- Document all risk profiles in docs/RISK_PROFILES.md
- Keep migration guide updated in docs/MIGRATIONS.md
- Document new position flow in docs/POSITION_FLOW.md
Code Quality Standards
- Use type hints for all function parameters and return values
- Implement proper error handling with specific exception types
- Write comprehensive docstrings for all public functions
- Follow PEP 8 style guidelines with project-specific adaptations
- Implement comprehensive audit trail logging
Security Standards
- Never commit private keys or sensitive credentials
- Use secure methods for API key storage and access
- Implement proper input validation for all external data
- Use parameterized queries for database operations
- Secure notification processing with robust parsing
Deployment Standards
- Use Docker for consistent deployment environments
- Implement proper logging aggregation for production
- Monitor system health and performance metrics
- Use proper process management and restart policies
- Deploy with comprehensive monitoring and alerting
Monitoring & Alerting
- Implement comprehensive audit trail logging
- Monitor for race conditions and synchronization issues
- Track order fill rates and reconciliation success
- Alert on unusual patterns or system errors
- Monitor confidence algorithm performance and validation
- Track notification processing success rates
Version Control Standards
- Use semantic versioning (MAJOR.MINOR.PATCH)
- Create detailed release notes for each version
- Tag releases with comprehensive change descriptions
- Maintain backward compatibility where possible
- Document all improvements in release tags
Balance Validation & Position Sync (v0.4.4+)
- Enhanced Balance Validation: Symbol-specific tolerance for API reliability issues (XRP, etc.)
- Default: 0.8 reliability weight, 0.2 position trust factor, 5-minute grace period
- XRP: 0.3 reliability weight (lower trust), 0.3 position trust, 15-minute grace period
- Real-Time Exit Order Validation: 1-second cycle size validation to catch mismatches immediately
- Rounding Threshold: Use 0.05 share threshold for exit order repair to prevent infinite loops
- Bi-Directional Healing: Sync database size with actual wallet balance when discrepancies detected
- Sync if balance > DB size + 0.0001 (immediate, no cooldown)
- Sync if age > 60s AND scale-in age > 60s AND |balance - size| > 0.0001
- Grace Period Logic:
- 60-second grace period after buy/scale-in before balance validation
- 10-minute grace period for zero balance before ghost trade settlement (increased from 5m)
- API Retry Strategy: Exponential backoff with symbol-specific retry counts
- Default: 2 retries with 1.0s delay
- XRP: 3 retries with 2.0s delay
- Crypto markets: +1 extra retry with 1.5x delay multiplier
- Geographic Restrictions: Detect and skip retries for geo-blocked APIs
- Database as Source of Truth: For exit orders, always trust database position size over balance API
Position Monitoring & Reporting (v0.4.3+)
- Clean Position Reports: Aligned format with directional emojis (๐ UP winning, ๐ DOWN winning)
- Status Indicators: Visual indicators for exit plan status (โฐ active, โณ pending, โญ๏ธ skipped)
- Trade ID Display: Show trade ID for all positions in monitoring output
- Spam Reduction: Removed debug logging spam for cleaner production logs
- Min Size Handling: Silent skip for positions below MIN_SIZE (5.0 shares) with status display
Notification Processing (v0.4.3+)
- Multi-Field Order ID Extraction: Robust parsing with fallback to multiple field names
- Concise Logging: Streamlined notification processing logs with symbol and price info
- Batch Processing: Efficient handling of multiple notifications at once
Version History
v0.5.0 (Jan 2026)
- Bayesian Confidence Calculation: Implemented statistically principled probability calculation using log-odds and likelihood ratios
- Dual Calculation System: Both additive and Bayesian methods calculated simultaneously for A/B testing
- Market Prior Integration: Bayesian method uses Polymarket orderbook probability as prior for anchored calculations
- Quality Factor System: Evidence strength modulated by signal quality (0.7-1.5x multiplier on log-likelihood)
- Database Migration 007: Added columns for storing both methods' results and market prior
- Configuration Toggle:
BAYESIAN_CONFIDENCEflag enables Bayesian method for production use
v0.4.4 (Jan 2026)
- Exit Order Repair Fix: Prevent infinite repair loops from exchange rounding differences (0.05 threshold)
- Real-Time Validation: Exit order size validation every 1-second cycle to catch mismatches immediately
- Log Cleanup: Remove noisy balance API warnings for near-zero values
- Position Display: Show "Exit skipped" status for positions below MIN_SIZE threshold
v0.4.3 (Jan 2026)
- Enhanced Position Reports: Clean, aligned format with directional emojis and status indicators
- Professional Display: Removed debug spam and redundant logging for cleaner trading logs
- Visual Clarity: Perfect alignment with trade IDs, position sizes, and PnL percentages
- Unified Format: Consolidated position monitoring with consistent visual indicators
v0.4.2 (Jan 2026)
- Confidence Algorithm Fixes: Eliminated false 100% signals with proper capping and validation
- Scale-in Order Race Condition Prevention: Implemented order fill confirmation before cancellation
- Synchronization Locks: Added comprehensive thread safety across all trading operations
- Reconciliation System: Built order tracking reconciliation to prevent ghost trades
- Smart Exit Pricing: Implemented 0.999 exit pricing for improved winning trade fills
- Enhanced Audit Trail: Comprehensive logging for scale-in orders and position management
- Notification System: Fixed unknown order ID extraction with robust multi-field parsing
- Exit Plan Self-Healing: Improved balance validation consistency and grace period logic
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
svelte-ui-standards
Coding standards and UI guidelines for the PolyFlup Svelte dashboard.
polyflup-ops
Operational commands, environment configuration, and deployment for PolyFlup.
bookkeeper
Specialized in maintaining project documentation, ensuring it reflects the current state of the codebase and operational procedures.
log-analyzer
Specialized in syncing logs from production and analyzing them to find trade history, errors, or performance metrics.
database-sqlite
SQLite best practices, connection management, and migration system for PolyFlup.
trainer
Responsible for keeping the system's "Skills" and internal knowledge base up to date with the latest project developments.
Didn't find tool you were looking for?