33 lines
988 B
Rust
33 lines
988 B
Rust
mod agent;
|
|
mod claude;
|
|
mod config;
|
|
mod prompts;
|
|
mod swym;
|
|
|
|
use clap::Parser;
|
|
use tracing_subscriber::EnvFilter;
|
|
|
|
#[tokio::main]
|
|
async fn main() -> anyhow::Result<()> {
|
|
tracing_subscriber::fmt()
|
|
.with_env_filter(
|
|
EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("info")),
|
|
)
|
|
.with_target(false)
|
|
.init();
|
|
|
|
let cli = config::Cli::parse();
|
|
|
|
tracing::info!("scout starting");
|
|
tracing::info!(" swym API: {}", cli.swym_url);
|
|
tracing::info!(" claude API: {}", cli.anthropic_url);
|
|
tracing::info!(" model: {}", cli.model);
|
|
tracing::info!(" iterations: {}", cli.max_iterations);
|
|
tracing::info!(" instruments: {:?}", cli.instruments);
|
|
tracing::info!(" in-sample: {} → {}", cli.backtest_from, cli.backtest_to);
|
|
tracing::info!(" OOS: {} → {}", cli.oos_from, cli.oos_to);
|
|
tracing::info!(" output: {}", cli.output_dir.display());
|
|
|
|
agent::run(&cli).await
|
|
}
|