diff --git a/crates/fidc-core/src/platform_strategy_spec.rs b/crates/fidc-core/src/platform_strategy_spec.rs index 9f79754..cf607d2 100644 --- a/crates/fidc-core/src/platform_strategy_spec.rs +++ b/crates/fidc-core/src/platform_strategy_spec.rs @@ -395,7 +395,7 @@ fn valid_non_negative(value: Option) -> Option { fn is_aiquant_profile(value: Option<&str>) -> bool { value .map(|item| item.trim().to_ascii_lowercase().replace('-', "_")) - .is_some_and(|item| item == "aiquant") + .is_some_and(|item| item == "aiquant" || item == "aiquant_rqalpha" || item == "rqalpha") } fn apply_cost_overrides( @@ -1865,6 +1865,22 @@ mod tests { assert!(cfg.aiquant_transaction_cost); } + #[test] + fn engine_config_profile_name_accepts_aiquant_rqalpha_alias() { + let spec = serde_json::json!({ + "engineConfig": { + "profileName": "aiquant_rqalpha" + } + }); + + let cfg = platform_expr_config_from_value("", "", &spec).expect("config"); + + assert!(cfg.aiquant_transaction_cost); + assert!(cfg.daily_top_up_enabled); + assert!(cfg.retry_empty_rebalance); + assert!(cfg.strict_value_budget); + } + #[test] fn runtime_expressions_infer_ma_windows_from_literal_strategy_logic() { let spec = serde_json::json!({