Felix #3: the 409 path was throwing a human-prose Error which read like an i18n string that escaped translation. Replace with a named class carrying code='CONFLICT_RESOLVED' so callers can branch on intent and future error reporters can map the structured code instead of grepping strings. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>