F1-1: GroundDinner also compares the observed raw name, so renaming "Grandma's stew" to "Easy Grandma's stew" (same normalized_name) while a link is grounding is ErrGroundConflict, not attached to the renamed dinner. F1-2: A method, minutes_total or difficulty no longer as observed before grounding is kept over the recipe's value, as GroundPendingDinner keeps values a member set while a dinner was pending. F2-1: Failing to record a grounded candidate or link on the dinner (or to read it back after a rejected write) wraps ErrGroundFailed, so the API logs reason=ground_failed with the dinner id, never the database error. Maestro task 8741cedb-1849-4e3f-8d05-f5648c77c7ee. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>