pub async fn tick_once(
runtime: &RuntimeConfig,
rules_path: &Path,
rules: &RulesConfig,
trader: &Arc<TraderApi>,
market: &Arc<MarketDataApi>,
state: &mut AgentState,
llm_client: Option<&OpenRouterClient>,
telegram: Option<&TelegramNotifier>,
) -> Result<TickResult>