# Evals — phoenix

These cases check two things, neither of which is an automated unit test. First, **routing**: feed each `should_trigger` prompt to the skill router and confirm it selects `phoenix`, and feed each `should_not_trigger` prompt and confirm it routes to the named sibling (`elixir`, `postgresdb`, `fly-io`, `django`) instead — the non-obvious cases (the re-rendering list, the N+1, the Catalan context prompt) are the ones worth watching. Second, the **capability** case is graded by hand or by a judge model: have the agent implement the Catalog/Product LiveView scenario and check the generated code against the `must_include` rubric (context boundary, changeset validation, scope threaded into the query, streams over full-list assigns, `to_form`, `~p` routes, LiveViewTest + DataCase). Pass means every rubric item is satisfied in real Phoenix 1.8 / LiveView 1.1 code, not just mentioned.
