Critical bug: all 3 DQN action selection methods (select_action, select_action_with_confidence, select_action_inference) used FactoredAction::from_index() which maps indices 0-4 to exposure_idx=0 (Short100) via division by 9. This is the root cause of action diversity collapse during both training and production inference. Fix: ExposureLevel::from_index() + OrderRouter::route_default() in all DQN paths. Also fixes hyperopt objective thresholds (<10 → <3 for 5-action degenerate detection), stale defaults/comments, integration test configs. Files: dqn.rs (3 methods), trainer.rs (validation + select_action), hyperopt/adapters/dqn.rs (thresholds), dqn_model.rs (comments), train_baseline_rl.rs (default), reward.rs (comment), dqn_integration.rs + ensemble_integration.rs (num_actions). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
integration
Comprehensive integration test suite covering cross-crate interactions, database queries, gRPC service contracts, and ML model pipelines.
Subdirectories
chaos/-- chaos engineering and fault injection testse2e_helpers/-- shared E2E test utilities (JWT generation, service probes)smoke_tests/-- quick smoke tests for CI validation
Usage
SQLX_OFFLINE=true cargo test -p integration --lib