The string renderer's component call had the same deferred-evaluation bug — and this is the path actually used for blog card rendering via renderToString. Apply the same _isRenderExpr check to route render-only forms through renderStr while data expressions go through sxEval. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>