"""Optuna objective, search space, and diverse top-N selector (doc 06). Owns the Bayesian search wiring. Must **not** know broker specifics — those live in the instrument config. The objective samples parameters from the declared search space, runs the engine, and returns a score; the selector picks 2–3 **diverse** finalists (not the top-N-by-score, which are usually near-clones of one peak). """ from .objective import Constraints, ObjectiveConfig, build_objective, score_metrics from .search_space import SearchSpace, suggest_params from .selector import select_diverse_topn, param_distance __all__ = [ "SearchSpace", "suggest_params", "ObjectiveConfig", "Constraints", "build_objective", "score_metrics", "select_diverse_topn", "param_distance", ]