Multi-objective prompt analysis inspired by GEPA's Pareto selection.
Summary
Functions
@spec accept_suggestion(binary(), binary() | nil) :: {:ok, Aludel.Prompts.PromptSuggestion.t()} | {:error, term()}
@spec create_suggestion(map()) :: {:ok, Aludel.Prompts.PromptSuggestion.t()} | {:error, Ecto.Changeset.t()}
@spec dismiss_suggestion(binary(), binary() | nil) :: {:ok, Aludel.Prompts.PromptSuggestion.t()} | {:error, term()}
@spec generate_suggestion(binary(), binary(), binary()) :: {:ok, Aludel.Prompts.PromptSuggestion.t()} | {:error, term()}
@spec list_suggestions(binary()) :: [Aludel.Prompts.PromptSuggestion.t()]