Dependency-free experiment tracker compatible with the upstream tracker API.
The tracker stores metrics, tables, config, summary, and HTML artifacts in an
Agent. It can be used directly as tracker: in GEPA.optimize/1 because it
implements the callbacks expected by GEPA.Tracking.
Summary
Types
@type t() :: %GEPA.Tracking.ExperimentTracker{ agent: pid(), attach_existing: boolean(), key_prefix: String.t(), mlflow_attach_existing: boolean(), mlflow_experiment_name: String.t() | nil, mlflow_tracking_uri: String.t() | nil, use_mlflow: boolean(), use_wandb: boolean(), wandb_api_key: String.t() | nil, wandb_attach_existing: boolean(), wandb_init_kwargs: map() | nil, wandb_step_metric: String.t() | nil }