Date: 2026-05-28 Status: Design — pending implementation
Wheel compatibility today has only a create path. Once a WheelCompatibility row is written, it is immutable: there is no way to fix a mistake, no way to improve manually-entered data with later PDF-extracted data, and no way to link a car to a wheel compatibility that already exists for a different car (the typical AT flow today only works because the AT UI calls a series of GETs and an undocumented assignment step).
The immediate driver is data quality. PDF capture (DE-only) produces highly reliable data; manual capture (AT) is unreliable. When a DE user uploads a PDF whose typeApprovalNumber collides with an existing AT-manual row, today's create call rejects with DuplicateRetailAdException or hits a DB UNIQUE constraint on wheel_compatibility.type_approval_number. The DE PDF data — which is canonical — is lost.