Locale changes cannot be silently parsed.

# Locale changes cannot be silently parsed.

Repository-owned synthetic case: undeclared-locale

Expected and observed outcome: rejected

The mapping and contract are the published EUR supplier fixture. No customer data or comparative superiority claim appears here.

Input fixture:

```csv
product_code,product_name,unit_price,currency,available
000123,Desk lamp,"19.90",EUR,12
000124,Reading light,"24,50",EUR,8

```