# F-161 — Diseño

## Auth boundary
`registerCheckoutRoutes` recibe `createSessionAuthenticator` (identity) en lugar de `combinedAuth`. Las rutas admin/orders permanecen combined porque sirven ambos contextos; checkout es customer-only.

## Read model
`PgOrderRepository.findById` y `findByIdAndUserId` añaden `users_profiles` y resuelven:
- nombre: snapshot `orders_orders.customer_name` → perfil.
- teléfono: snapshot → perfil → identity.
- email: identity user.

## UI
Las cuatro tarjetas de información siempre se renderizan. Si el backend no tiene una transacción o dirección de facturación, se comunica «No registrado»/«Misma que envío» en vez de ocultar la sección.

## Datos existentes
El único pedido afectado, creado segundos después del perfil/dirección del cliente, se reasocia al identity user correspondiente. No se crea una migración heurística general.
