×rcrossreview
FINDINGS VIEWER

All findings

CRITICALapi-contract

Breaking change to CustomerDTO fields breaks frontend-app, customer-api, and billing-service

src/customer.ts:9frontend-app/src/CustomerCard.tsx

Renaming fullName to name and email to contactEmail on CustomerDTO breaks contract compatibility with consuming repos. frontend-app reads customer.fullName and customer.email in CustomerCard.tsx, customer-api constructs CustomerDTO using fullName and email in server.ts, and billing-service reads these fields when creating invoices in worker.ts.

<h2 className="customer-card__name">{customer.fullName}</h2> and <a href={`mailto:${customer.email}`}>{customer.email}</a> in frontend-app (CustomerCard.tsx:25-27).

Retain fullName and email (or deprecate them while adding optional new fields) to preserve backward compatibility, or coordinate a major version release alongside PRs updating all consumer services.