FWIW I left a tiny question, but mainly I don’t fully understand why it changes so much. I mean, the change in the expression seems bigger than what it says (how about other non-dict types than true/false?)
If you’re sure of it, I don’t have strong feelings, but FWIW what I would do is have the agent make up two clear, full, examples in
.pr/
, from the MCP definitions down to what it evaluates to