# TPV-FIXES — Implementer Report

## Cambios Realizados

### 1. Fix favicon 404 (storefront)
**Archivo:** `project/storefront/src/app/layout.tsx`

```diff
export const metadata: Metadata = {
  title: 'mercadodevida',
  description: '...',
  alternates: { canonical: absoluteUrl('/') },
+ icons: { icon: '/favicon.ico', shortcut: '/favicon.ico' },
  openGraph: { ... },
};
```

**Rationale:** El storefront tenía `public/favicon.ico` pero Next.js App Router no lo servía automáticamente. Agregar la referencia en metadata resuelve el 404.

### 2. Fix Cashier label (POS Receipt)
**Archivo:** `project/apps/pos/src/components/ReceiptModal.tsx`

```diff
- <strong>Cajero:</strong> {receipt.cashier}
+ <strong>Cajero:</strong> {receipt.cashier?.split('@')[0] ?? '—'}
```

**Rationale:** `receipt.cashier` contiene el email completo del usuario (ej: `cajero1@tienda.com`). Mostrar solo la parte antes del @ es más legible y profesional.

### 3. pos/sales 400 error
**Estado:** REQUIERE MÁS INFORMACIÓN

No hay logs específicos del error. El análisis sugiere posibles causas:
- Código de payment en mayúsculas que no pasa regex Zod
- Falta de header `x-terminal-id` en ciertas condiciones

**Recomendación:** Solicitar al reporter los detalles del request/response que falla.

## Archivos Modificados
1. `project/storefront/src/app/layout.tsx` — favicon metadata
2. `project/apps/pos/src/components/ReceiptModal.tsx` — cashier label format

## Testing Recomendado
1. Navegar storefront → verificar que favicon carga en browser tab
2. Crear venta POS → verificar receipt muestra nombre de cajero sin @
3. Para bug 400: proporcionar request/response específicos si persiste

## Complejidad: Low
## Riesgo: Low
## Impacto: UX (favicon, label legible)
