Hub

electrosystems

amadeus-sprints

active medium work
Creado
2026-05-25
Actualizado
2026-05-29

Pendientes abiertos (30)

Ver todos →

📦 Backlog (6)

  • #233 sin fecha (AM-49, L) Traducciones a español end-to-end. Sprint dedicado cuando Sergio decida alcance: end-to-end o página por página.
  • #234 sin fecha (AM-57, L) BD de equipos en sitios con identificadores. Tabla inventarios ya tiene equipo_id+numero_serie+sitio_id; falta aclarar "hacia dónde están apuntados" (topología de red / enlace lógico entre equipos). Pide aclaración antes de tasar.
  • #235 sin fecha (AM-139, L) Múltiples destinos + cuadrillas + vehículos por viaje (Fase 2 de N vehículos). Después de validar Fase 1 en prod (smoke #050).
  • #236 sin fecha (AM-140) Editar productos de viaje recién creado. Editor en FormaViaje.vue:214-245 bajo viaje_link_enabled. Solo accionable al activar capa 2 (INVENTARIO_VIAJE_LINK=true en .env).
  • #237 sin fecha (AM-144, M) Visualizar existencia de productos al hacer viaje/traslado. Display de stock en SelectorProductosMovimiento.vue. Caso del traslado puede hacerse antes; caso del viaje depende de capa 2.
  • #238 sin fecha (AM-143, S-M) Checklist entrega: "presione OK" sin botón + mensaje falso. En pausa hasta que Sergio reproduzca el caso real con screenshot (botón SÍ existe en Checklist.vue:104-120; mensaje aparece cuando anyBad=true con default ok=false). Necesita screenshot para distinguir fix A/B/C.

📝 Otras (24)

  • #209 sin fecha (AM-52, S) Indicador "cargando" al subir consumo — loading state en Pages/Consumos/Create.vue durante el submit.
  • #218 sin fecha (AM-69, M) Correo diario de saldos con viáticos — job + Mailable + schedule en Kernel.php (SMTP ya configurado desde 2026-05-19).
  • #222 sin fecha (AM-55, L) Layer de roles persistidos (Opción A aprobada 2026-05-20) — schema nuevo (roles, rol_permiso, FK opcional usuarios.rol_id), refactor de policies para resolver vía rol con override per-usuario, Nova UI para gestionar roles. Tests.
  • #224 sin fecha (consolida AM-65/AM-73/AM-90/AM-99/AM-136) Modelo Nota polimórfico + foto opcional + listener al crear viaje. 5 tickets del backlog colapsados a un solo epic.
  • #225 sin fecha (AM-129, M) Paginación estandarizada — componente Paginador.vue reusable + audit de páginas que hoy paginan distinto.
  • #228 sin fecha (AM-119, M) Inventarios pertenezcan a sitio O usuarioinventarios.usuario_id nullable + check constraint OR (uno de los dos, no ambos null ni ambos non-null). Originalmente en Sprint 11 de Jira.
  • #231 sin fecha (AM-135, M) Viajar sin unidad (avión/camión) con detalles de vuelo/camión — tipo de transporte alternativo + campos.
  • #210 sin fecha (AM-53, S) Mensaje flash móvil tapado — z-index del toast en Layout.vue:14-21 lo deja atrás de elementos del topbar; subir el z-index.
  • #219 sin fecha (AM-93, M) Consumos por usuario/fecha/categoría sumarizados — reporte agregado con filtros.
  • #223 sin fecha (AM-72, S+) Push + email scheduled job a las 16:00 (Opción C aprobada 2026-05-20, NO SMS pagado) — scheduled job que dispara push a técnicos pidiendo captura de viáticos; fallback a email si no marcan leído en X horas. Reusa VAPID + Gmail Workspace. Costo recurrente $0.
  • #226 sin fecha (AM-137, M) Form de creación de viajes en móvil — mobile UX de FormaViaje.vue. Reusar patrones del rediseño móvil de /notificaciones (2026-05-20).
  • #229 sin fecha (AM-120, S) Verificar cobertura de cambio de estatus → inventario. InventarioService::aplicarEntrada ya cubre entregado. Al inicio del sprint verificar que también cubra rechazado y cancelado — si ya están cubiertos, cerrar sin trabajo.
  • #232 sin fecha (AM-145, M) Actualizar órdenes y notificar cambios — extender listener actual (dispara en created) a updated con diff. Reusar NotificarViajeCreadoService.
  • #211 sin fecha (AM-66, S) Nota por consumo para justificación de compras — campo nota text en consumos + form field + display en detalle.
  • #220 sin fecha (AM-131, M) Vista detalle de producto (Pages/Productos/Show.vue) con dos tablas: inventarios por sitio + historial de movimientos.
  • #227 sin fecha ⚠️ (AM-142, S-M) Mejorar estilo de info de materiales/productos ⚠️ aclarar al inicio del sprint qué pantalla específicamente; sin contexto no se puede tasar bien.
  • #230 sin fecha (AM-59, M) Fotos de estado de unidad en salida y llegada — tabla viaje_fotos + storage + UI camera. Originalmente en Sprint 11 de Jira.
  • #212 sin fecha (AM-89, S) Fecha manual en depósitos — campo fecha en form (hoy es auto al server time).
  • #221 sin fecha (AM-100, M) Múltiples fotos en consumos — storage multi-file + UI gallery.
  • #213 sin fecha (AM-94, S) Subtotal e IVA en consumos — agregar subtotal + iva calculados/capturados; mostrar desglose.
  • #214 sin fecha (AM-95, S) Entrada/salida siempre con servicio o lugar — validar al inicio que sitio_id requerido en MovimientoInventario (probablemente ya está, verificar).
  • #215 sin fecha (AM-130, S) Select buscable en filtro de productos — usar SearchableSelectInput.vue (ya existe) en la lista de movimientos de inventario.
  • #216 sin fecha (AM-133, S) Buscar movimientos por número de serie — filtro en MovimientosInventarioController::index usando numero_serie en inventarios (disponible desde 2025-11-19).
  • #217 sin fecha (AM-138, S) Cancelar órdenes sin viáticos ni depósitos — botón condicional en detalle de orden; endpoint POST /ordenes/{id}/cancelar con validación.

Actividad en bitácora 1 día

jun
jul
ago
sep
oct
nov
dic
ene
feb
mar
abr
may
L
X
V
Menos
Más

Amadeus — Sprints 15-21 + backlog diferido

Decisión 2026-05-25: los sprints viven aquí (en el hub) en lugar de Jira. Cada ticket carga su ID del hub (#NNN) para que Sergio pueda decir “haz el #214” sin importar el AM-XX original. El cross-reference AM-XX se preserva para trazabilidad con el backlog original (amadeus-backlog.md).

Cómo trabajar: Sergio decide cuándo arrancar un sprint. Al arrancar, los tickets del sprint pasan a la sección “Tareas pendientes” / “En progreso” de amadeus.md y siguen el flujo normal del hub. Al cerrar, marcar [x] aquí con fecha + commit/PR + nota corta.

Estimaciones (orden de magnitud, no horas): S = 1-3 h · M = 0.5-2 d · L = 2-5 d · XL = semana+.

Sprint 15 — Quick wins + bug fixes (~2 días, 9× S)

  • #209 📅 sin-fecha — (AM-52, S) Indicador “cargando” al subir consumo — loading state en Pages/Consumos/Create.vue durante el submit.
  • #210 📅 sin-fecha — (AM-53, S) Mensaje flash móvil tapado — z-index del toast en Layout.vue:14-21 lo deja atrás de elementos del topbar; subir el z-index.
  • #211 📅 sin-fecha — (AM-66, S) Nota por consumo para justificación de compras — campo nota text en consumos + form field + display en detalle.
  • #212 📅 sin-fecha — (AM-89, S) Fecha manual en depósitos — campo fecha en form (hoy es auto al server time).
  • #213 📅 sin-fecha — (AM-94, S) Subtotal e IVA en consumos — agregar subtotal + iva calculados/capturados; mostrar desglose.
  • #214 📅 sin-fecha — (AM-95, S) Entrada/salida siempre con servicio o lugar — validar al inicio que sitio_id requerido en MovimientoInventario (probablemente ya está, verificar).
  • #215 📅 sin-fecha — (AM-130, S) Select buscable en filtro de productos — usar SearchableSelectInput.vue (ya existe) en la lista de movimientos de inventario.
  • #216 📅 sin-fecha — (AM-133, S) Buscar movimientos por número de serie — filtro en MovimientosInventarioController::index usando numero_serie en inventarios (disponible desde 2025-11-19).
  • #217 📅 sin-fecha — (AM-138, S) Cancelar órdenes sin viáticos ni depósitos — botón condicional en detalle de orden; endpoint POST /ordenes/{id}/cancelar con validación.

Sprint 16 — Reportes y visualizaciones (~1 semana, 4× M)

  • #218 📅 sin-fecha — (AM-69, M) Correo diario de saldos con viáticos — job + Mailable + schedule en Kernel.php (SMTP ya configurado desde 2026-05-19).
  • #219 📅 sin-fecha — (AM-93, M) Consumos por usuario/fecha/categoría sumarizados — reporte agregado con filtros.
  • #220 📅 sin-fecha — (AM-131, M) Vista detalle de producto (Pages/Productos/Show.vue) con dos tablas: inventarios por sitio + historial de movimientos.
  • #221 📅 sin-fecha — (AM-100, M) Múltiples fotos en consumos — storage multi-file + UI gallery.

Nota operativa: #221 podría moverse al Sprint 21 si quieres mantener “todas las fotos” agrupadas con #230 (fotos de unidad).

Sprint 17 — Roles persistidos + notif scheduled (~1.5 semanas, L + S+)

  • #222 📅 sin-fecha — (AM-55, L) Layer de roles persistidos (Opción A aprobada 2026-05-20) — schema nuevo (roles, rol_permiso, FK opcional usuarios.rol_id), refactor de policies para resolver vía rol con override per-usuario, Nova UI para gestionar roles. Tests.
  • #223 📅 sin-fecha — (AM-72, S+) Push + email scheduled job a las 16:00 (Opción C aprobada 2026-05-20, NO SMS pagado) — scheduled job que dispara push a técnicos pidiendo captura de viáticos; fallback a email si no marcan leído en X horas. Reusa VAPID + Gmail Workspace. Costo recurrente $0.

Precondición: Sprint 17 debe ir antes que Sprint 18 (EPIC-NOTAS) para no migrar policies dos veces.

Sprint 18 — EPIC-NOTAS (~1-2 semanas, M-L)

  • #224 📅 sin-fecha — (consolida AM-65/AM-73/AM-90/AM-99/AM-136) Modelo Nota polimórfico + foto opcional + listener al crear viaje. 5 tickets del backlog colapsados a un solo epic.
    • Tabla notas (id, notable_type, notable_id, autor_id, contenido text, notificar_al_abrir bool, timestamps).
    • Tabla nota_fotos (id, nota_id, path, timestamps).
    • MorphMap: Viaje, Sitio, MovimientoInventario (¿Orden si es modelo separado? — confirmar).
    • Trait HasNotas en cada modelo notable.
    • Componente Vue <NotasInline notable-type=... notable-id=... :allow-create-photo=true> reusable.
    • Listener al crear Viaje: buscar notas en Sitio con notificar_al_abrir=true y disparar push+email al equipo asignado.
    • Nova resource Nota con polymorphic field.
    • Validación previa antes de codificar: confirmar uso real con técnicos (¿van a escribir notas en celular o llamar por radio?). Si la 2, la inversión no vale.

Sprint 19 — UX y mobile (~1 semana, 3× M)

  • #225 📅 sin-fecha — (AM-129, M) Paginación estandarizada — componente Paginador.vue reusable + audit de páginas que hoy paginan distinto.
  • #226 📅 sin-fecha — (AM-137, M) Form de creación de viajes en móvil — mobile UX de FormaViaje.vue. Reusar patrones del rediseño móvil de /notificaciones (2026-05-20).
  • #227 📅 sin-fecha — (AM-142, S-M) Mejorar estilo de info de materiales/productos ⚠️ aclarar al inicio del sprint qué pantalla específicamente; sin contexto no se puede tasar bien.

Sprint 20 — Datos del módulo de inventarios (~1 semana, 2× M + S)

  • #228 📅 sin-fecha — (AM-119, M) Inventarios pertenezcan a sitio O usuarioinventarios.usuario_id nullable + check constraint OR (uno de los dos, no ambos null ni ambos non-null). Originalmente en Sprint 11 de Jira.
  • #229 📅 sin-fecha — (AM-120, S) Verificar cobertura de cambio de estatus → inventario. InventarioService::aplicarEntrada ya cubre entregado. Al inicio del sprint verificar que también cubra rechazado y cancelado — si ya están cubiertos, cerrar sin trabajo.
  • #230 📅 sin-fecha — (AM-59, M) Fotos de estado de unidad en salida y llegada — tabla viaje_fotos + storage + UI camera. Originalmente en Sprint 11 de Jira.

Sprint 21 — Features de viaje (~1 semana, 2× M + slot libre)

  • #231 📅 sin-fecha — (AM-135, M) Viajar sin unidad (avión/camión) con detalles de vuelo/camión — tipo de transporte alternativo + campos.
  • #232 📅 sin-fecha — (AM-145, M) Actualizar órdenes y notificar cambios — extender listener actual (dispara en created) a updated con diff. Reusar NotificarViajeCreadoService.
  • Slot libre para overflow del Sprint 16 (típicamente #221 fotos consumos) o adelantar de backlog.

Backlog diferido (fuera de sprint, requiere precondición)

  • #233 📅 sin-fecha — (AM-49, L) Traducciones a español end-to-end. Sprint dedicado cuando Sergio decida alcance: end-to-end o página por página.
  • #234 📅 sin-fecha — (AM-57, L) BD de equipos en sitios con identificadores. Tabla inventarios ya tiene equipo_id+numero_serie+sitio_id; falta aclarar “hacia dónde están apuntados” (topología de red / enlace lógico entre equipos). Pide aclaración antes de tasar.
  • #235 📅 sin-fecha — (AM-139, L) Múltiples destinos + cuadrillas + vehículos por viaje (Fase 2 de N vehículos). Después de validar Fase 1 en prod (smoke #050).
  • #236 📅 sin-fecha — (AM-140) Editar productos de viaje recién creado. Editor en FormaViaje.vue:214-245 bajo viaje_link_enabled. Solo accionable al activar capa 2 (INVENTARIO_VIAJE_LINK=true en .env).
  • #237 📅 sin-fecha — (AM-144, M) Visualizar existencia de productos al hacer viaje/traslado. Display de stock en SelectorProductosMovimiento.vue. Caso del traslado puede hacerse antes; caso del viaje depende de capa 2.
  • #238 📅 sin-fecha — (AM-143, S-M) Checklist entrega: “presione OK” sin botón + mensaje falso. En pausa hasta que Sergio reproduzca el caso real con screenshot (botón SÍ existe en Checklist.vue:104-120; mensaje aparece cuando anyBad=true con default ok=false). Necesita screenshot para distinguir fix A/B/C.

Notas operativas

  • Capa 2 (INVENTARIO_VIAJE_LINK) queda intencionalmente fuera de toda asignación — su activación sigue siendo decisión independiente de Sergio editando .env. Cuando la actives, #236 y #237 (parcial) entran al próximo sprint disponible.
  • #229 puede cerrarse sin trabajo si ya cubre todos los estatus.
  • #221 podría moverse al Sprint 21 si conviene mantener “todas las fotos” agrupadas con #230.
  • Sprint 17 antes que Sprint 18 — para no migrar policies dos veces (EPIC-NOTAS necesitará autorización por rol/permiso).

Bitácora

2026-05-25 — sprints documentados en el hub

  • Migrado el plan de sprints desde la sección “Asignación a sprints” de amadeus-backlog.md a este archivo dedicado.
  • Cada ticket recibió ID estable del hub (#209-#238). Cross-reference AM-XX preservado por trazabilidad con el CSV original.
  • Razón del cambio (decisión Sergio): trabajar los sprints aquí en lugar de Jira para mantener un solo lugar de verdad de pendientes y respetar el flujo normal del hub.
  • Próximo paso natural: Sergio decide cuándo arrancar Sprint 15 (9× S, ~2 días, sin dependencias).