2026-05-27
Sesión multi-frente en paralelo: holbox (3 pendientes cerrados, 1 grande en 2 entregas), aprende-ingles, joyeriameza (bug crítico de cliente), tareas-hijo (cambio de modo).
Cierres en prod
- holbox #197 — soporte WhatsApp internacional con
libphonenumber-for-php. Commit35ac39fya estaba mergeado de sesión previa; cerrado administrativamente y restada bandera viva para LADA 915 (capturada como #368). - holbox #161 Entrega 1 — Reporte Coach por Empleada (10 KPIs por asociada esta semana vs semana pasada). Commit
1350caa+ follow-up8f68a0c(link al menú que el agent olvidó), GHA verdes. Suite 345/28 (+23 verdes vs baseline 322/38). Sergio validó URL directa + menú. - holbox #161 Entrega 2 — Metas editables próxima semana + sugerencias automáticas + chips meta-vs-logrado + frase fija cierre. Commit
ed531a9, GHA26548394697verde. Suite 357/28 (+12 tests). Sergio validó. Entrega 3 (comentario coach + PDF) pendiente. - holbox #161 Entrega 3 + #162 — Comentario coach por empleada (textarea + histórico colapsable) + impresión PDF A4 via
@media printbrowser nativo (sin librería PDF). Tablacomentarios_semanal_empleada+ endpointguardarComentario(body vacío → DELETE) + vista standaloneImprimirReporteEmpleada.vuecon los 4 bloques. Commit259697a, GHA26553517448. Suite 371/28 (+14 vs baseline 357, 0 regresión). 9 tests Pest nuevos. #161+#162 deployados completos en una sola sesión — adelantado vs ventana 2026-06-01→07 del sprint. 3 decisiones de diseño confirmadas con Sergio antes de codear (formato A4 vs ticket 80mm vs DomPDF, permisos admin+gerente, auth completa per-Entrega). Horas reales sesión ~1.5h; total #161 ~3-4h vs cotizado 26-37h. - aprende-ingles #204 — Spaced repetition Leitner simple. Tabla
word_mastery+ service con boxes 0/1/2/4/8/16 días + hook silencioso ensubmitExercise+ endpoint/student/reviewcon flashcards EN→ES + card enStudent/Dashboard. Solo palabras sueltas en v1. Commit9ad49c1, push a main, GHA deploy auto val-soft. Suite 114/114. - joyeriameza #372 — Bug
limite_credito=0en cuentas de consignación tras devolución pura. Reportado por Viridiana con cliente Veneza Ivon Rascon Fuentes (id 7959): saldo $600 pero límite $0 imposibilitaba seguir cargándole mercancía. Causa raíz enCuentasJoyeriaController.php:395-428: cuando devolución dejaba saldo en exactamente 0 sin pago, código pisaba límite a 0 incondicionalmente. Fix quirúrgico: agregar$total_pago > 0al if exterior. Commite1d1abepusheado + deployado por Sergio + UPDATE manual a Veneza (limite_credito = 4250, calculado como pagoMayor $2125 × multiplo 2). Auditoría de otros clientes NO ejecutada (Sergio decidió no abrirla — Viridiana avisa si aparece otra).
Cambios de proceso
tareas-hijo— modo coach deshabilitado. Sergio pidió quitar el coaching ligero. A partir de ahoratareas-hijose trata como cualquier otro proyecto suyo (yo edito, yo corro comandos, commit/push siguen auth per-sesión). Memoria[[tareas-hijo-learning-mode]]reescrita;MEMORY.mdactualizado.- Tareas-hijo bloque 4.4 fix — entregado como snippet de coaching (quitar
import Phoenix.LiveView+ prefijo completoPhoenix.LiveView.redirect/2en los 3on_mounthooks). Sergio lo aplica desde la máquina donde tiene clonado el repo (no esta WSL).
Pack de PDFs cliente-facing para Aarón (cierre de madrugada 2026-05-28)
Sergio pidió 5 PDFs entregables para mandar a Aarón:
- Manual de uso #161/#162 (reporte semanal por empleada).
- Manual de uso #367 (precios sale condicionales + override).
- Cotización breve del #161/#162.
- Cotización breve del #367.
- PDF de la propuesta del módulo Conversaciones (re-render de
propuesta-crm-aaron-2026-05.md).
Pipeline elegido: pandoc 2.9 + wkhtmltopdf 0.12 (instalados a sistema por Sergio). Sin librerías Python/Node (no había pip ni npm). CSS chico custom para look unificado.
Decisiones de Sergio sobre las cotizaciones:
- Cobrar por horas reales con flujo asistido, no por el rango cotizado original.
- #161/#162 → 4h × $350 = $1,400 MXN (vs cotizado $9,100-$12,950).
- #367 → 2h × $350 = $700 MXN.
- Sin desglose interno por entrega ni nota de IA disclosed — formato minimalista (título + 1 párrafo + lista breve + tabla horas/tarifa/total + "Ya está en producción"). 1 hoja, legible al screenshot para WhatsApp.
Output: projects/holbox/pdfs/ — 5 PDFs (22-63 KB c/u) + 4 .md source + 2 stylesheets CSS. Commit hub d869783.
Gotcha capturado: wkhtmltopdf bloquea acceso a archivos locales (CSS) por seguridad — requiere --pdf-engine-opt=--enable-local-file-access. Memoria nueva en [[reference_pdf_pipeline]].
Follow-ups abiertos
- #373 joyeriameza — bug compuesto: cancelación de transacción que afectó al
limite_creditono lo restaura. Sin urgencia (el fix del #372 evita que se repita). - holbox #161+#162 + #367 facturación — Sergio manda los 4 PDFs a Aarón (2 manuales + 2 cotizaciones por $1,400 + $700 = $2,100 MXN total). Cobro al recibir.
Patrones reforzados
- Workflow paralelo con 3 laravel-fixer agents (uno por proyecto) liberó bandwidth para que yo me concentrara en jmeza (urgencia operativa). Los 3 entregaron exitosamente sin colisiones.
- Cotización antes de tocar código (
feedback_propose_quote_before_billable_work) aplicada limpia: el #161 facturable arrancó solo con OK explícito de Sergio confirmando que Aarón aprobó las 3 entregas. - Documentar para mandarle a Viridiana — escribir mensaje WhatsApp corto en español llano explicando qué pasó + qué se arregló + qué falta de su lado, sin jerga técnica. Confirmado patrón útil para reportes a usuarios no técnicos del cliente.
- Cotización por horas reales asistidas (nuevo) — Sergio prefiere cobrar al cliente por horas reales × $350/h cuando el flujo asistido las baja mucho del rango cotizado original. Manera ética de pasar el ahorro al cliente; mantiene la relación a largo plazo. Aplica a futuro: ofrecer rango al cotizar (para no comprometerse a más rápido de lo posible), facturar al rango bajo o a horas reales si quedan por debajo. No mostrar splits internos ni mencionar IA en el doc cliente-facing salvo que ya esté disclosed con tono natural.