# `Aludel.Prompts.Evolution`
[🔗](https://github.com/ccarvalho-eng/aludel/blob/main/lib/aludel/prompts/evolution.ex#L1)

Functions for analyzing prompt version evolution and performance
metrics.

# `get_metrics`

```elixir
@spec get_metrics(binary()) :: [map()]
```

Returns aggregated metrics for all versions of a prompt.

Returns list of maps with structure:
- version_id: binary_id
- version_number: integer
- created_at: datetime
- total_runs: integer (suite runs only)
- avg_pass_rate: float | nil
- avg_cost_usd: Decimal.t() | nil
- avg_latency_ms: integer | nil
- provider_breakdown: list of provider-specific metrics

# `prepare_chart_data`

```elixir
@spec prepare_chart_data([map()]) :: map()
```

Prepares metrics data for Chart.js visualization.

Returns map with structure:
- versions: list of version numbers
- overall: aggregated metrics across all providers
- by_provider: metrics grouped by provider name

---

*Consult [api-reference.md](api-reference.md) for complete listing*
