Type system upgrades: The 'asistant' typo that compiled and ran in production
Stop typos from reaching production. Replace string constants with enums, add type classes for effect polymorphism, and let the compiler catch bugs. Real refactor from llm4s prevented message role typos and added type class infra.