What happened?
Given that most adapters inherit from the chat adapter, it seems as though there are different expectations that are inherited within each new adapter that are not being properly formatted, specifically with user messages.
Chat Adapter (Consistent):
JSON Adapter (Different formatting between user & assistant messages, but seems to be intentional):
XML Adapter - Different input than is described + provides contradictory "completed" instructions (<completed> vs [[ ## completed ## ]]):
Steps to reproduce
Setup tracing with your tool of choice (I used arize phoenix, you can also use mlflow or .inspect_history()) and see the inputs/outputs
DSPy version
3.0.3