- trading_service: PPO predict() used TradingAction match but act() now returns FactoredAction. Use target_exposure() mapped to 0-1 range. - IG completeness axiom test: relax tolerance from 5% to 20% (random weights with ReLU non-linearity and trapezoidal rule can exceed 5%). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>