Files
mercadodevida/work/artifacts/DASH-REMOVE-VARIANTS-CARD/implementer.md

3.2 KiB

DASH-REMOVE-VARIANTS-CARD — Implementer evidence

Implementer: build · Estado: ready for review

Resumen ejecutivo

He eliminado las 2 KPI cards del dashboard que referenciaban el concepto "variantes" de producto. El concepto variants ya no aplica desde F-108 (remove variants module), y la card "Alertas" era además redundante con la campanita OrderNotifications (NOTIF-INVENTORY-ALERTS cerrado en la sesión anterior, que ahora muestra todas las alertas de inventario).

Cambios aplicados

Archivo Δ Descripción
project/apps/admin/src/app/(dashboard)/page.tsx -19/+2 Eliminada la KPI card "Sin stock" (sub "Variantes agotadas") de la fila primaria. Eliminada la KPI card "Alertas" (sub "X sin stock") de la fila secundaria. Grids rebalanceados: primaria lg:grid-cols-4lg:grid-cols-3; secundaria lg:grid-cols-3lg:grid-cols-2.

Total: 1 archivo, 2 líneas añadidas, 19 líneas eliminadas.

Estado final del dashboard

Fila Antes Después
KPI primaria Pedidos hoy, Ingresos hoy, Productos activos, Sin stock Pedidos hoy, Ingresos hoy, Productos activos
KPI secundaria Clientes nuevos, Total pedidos, Alertas Clientes nuevos, Total pedidos
Pedidos por estado (intacto) (intacto)
Acciones rápidas (intacto) (intacto)

Decisiones

  1. outOfStockVariants en el interface Stats se mantiene. Aunque ya no se renderiza, sigue siendo parte del contrato con el backend. El endpoint /api/admin/stats sigue devolviéndolo (otros consumers pueden usarlo). Eliminarlo del interface sería un cambio de contrato de API innecesario para un chore visual.
  2. No reemplazo el card con algo nuevo. El operador tiene la campanita en el header que ahora muestra todas las alertas de inventario (low stock, out of stock, caducados, por caducar, margen <30%). Duplicar esa info en el dashboard sería ruido.
  3. Backend intacto. No se toca /api/admin/stats ni admin-stats/api/stats.routes.ts. Si en el futuro nadie consume outOfStockVariants, se limpiará en otra iteración.

Evidencia de verificación

1. Typecheck admin

$ cd project/apps/admin && npx tsc --noEmit
(exit 0, sin output)

2. verify.sh del orquestra

$ ./scripts/verify.sh
[OK] backlog válido (367 features)
[OK] runtime-status válido
[OK] Orquestra verificado. Puedes trabajar.

3. Diff resumido

project/apps/admin/src/app/(dashboard)/page.tsx | 21 ++-------------------
1 file changed, 2 insertions(+), 19 deletions(-)

Cambios:

  • lg:grid-cols-4lg:grid-cols-3 (primaria).
  • lg:grid-cols-3lg:grid-cols-2 (secundaria).
  • Bloque <KPICard label="Sin stock" .../> eliminado.
  • Bloque <KPICard label="Alertas" .../> eliminado.

Cosas que NO hice (scope deliberado)

  • No toqué el backend /api/admin/stats (mantiene outOfStockVariants).
  • No reemplacé los cards eliminados con otros (campanita cubre el caso).
  • No eliminé outOfStockVariants del interface Stats (cambio de contrato innecesario).

Próximo stage

review_gate (reviewer): revisión técnica rápida. → security_gate (security): trivially OK (solo UI removal, sin superficie de seguridad). → qa_gate (qa): visual check.