goose splits SQL on semicolons and misinterprets dollar-quoted strings ($$...$$) as statement boundaries, causing a parse error on the PL/pgSQL function body. StatementBegin/End annotations tell goose to treat the block as a single statement. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>