✅ Validation Results: - PPO training: 24.2s (1 epoch, 950 samples, dim=225) - Feature extraction: 105μs/bar (9.5x faster than target) - Model checkpoint: 293KB (147KB actor + 146KB critic) - GPU memory: 145MB used (96.4% headroom) - Zero dimension mismatches 📊 Success Criteria (5/5): ✅ Feature dimension = 225 (Wave C 201 + Wave D 24) ✅ Model state_dim = 225 ✅ Training completed without errors ✅ Checkpoint saved successfully ✅ No dimension mismatch errors 📁 Training Data Ready: - ES.FUT: 2.9MB, 180 days - NQ.FUT: 4.4MB, 180 days - 6E.FUT: 2.8MB, 180 days - ZN.FUT: 65KB, 90 days (clean) 🚀 Next: Full production model retraining (4 models, ~10min GPU time) 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
38 lines
1.5 KiB
Rust
38 lines
1.5 KiB
Rust
// use prost_build as _; // Not directly used
|
|
|
|
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
// Configure tonic-prost-build for proto compilation (Tonic 0.14+)
|
|
// Note: Server code enabled for E2E tests (mock gRPC servers)
|
|
tonic_prost_build::configure()
|
|
.build_server(true) // Required for E2E test mock servers
|
|
.build_client(true)
|
|
// Force correct protobuf attributes for all messages
|
|
.type_attribute(".", "#[derive(serde::Serialize, serde::Deserialize)]")
|
|
// Suppress warnings in generated code
|
|
.server_mod_attribute(".", "#[allow(unused_qualifications)]")
|
|
.client_mod_attribute(".", "#[allow(unused_qualifications)]")
|
|
// Enable proper protobuf derives
|
|
.protoc_arg("--experimental_allow_proto3_optional")
|
|
.compile_protos(
|
|
&[
|
|
"proto/trading.proto",
|
|
"proto/health.proto",
|
|
"proto/ml.proto",
|
|
"proto/config.proto",
|
|
"proto/ml_training.proto",
|
|
"proto/trading_agent.proto",
|
|
],
|
|
&["proto"],
|
|
)?;
|
|
|
|
// Tell cargo to recompile if proto files change
|
|
println!("cargo:rerun-if-changed=proto/trading.proto");
|
|
println!("cargo:rerun-if-changed=proto/health.proto");
|
|
println!("cargo:rerun-if-changed=proto/ml.proto");
|
|
println!("cargo:rerun-if-changed=proto/config.proto");
|
|
println!("cargo:rerun-if-changed=proto/ml_training.proto");
|
|
println!("cargo:rerun-if-changed=proto/trading_agent.proto");
|
|
|
|
Ok(())
|
|
}
|