pub fn render_frame(spec: &FrameSpec, payload: &Expr) -> Result<String>
Renders a frame payload through its deterministic sentence template.
Prose holes are rejected here because they require a caller-provided fence.