It's almost always the output mapper.
When you return structured JSON, the reasoning engine parses it — extracts the schema, filters fields, routes to code execution if needed. When you return a flat string via RENDER, it can't do any of that. The whole blob gets dumped into context as-is.
The fix: use $MAP() for lists and direct field mapping for single objects. Save RENDER for cases where you genuinely need static text nothing will process downstream.
Kevin digs into exactly how the engine handles both paths — including what triggers the ~7K token structured data analysis mode — in this week's newsletter. subscribe here.
!-->