Hub

hub-web-viewer

Calendario

121 pendientes con fecha · derivado de los projects/*.md (no de la sección manual).

mayo 2026

LMMJVSD 123456789101112131415161718192021222324252627282930 31

Hoy (1)

  • 2026-05-31 domingo hoy #206 aprende-ingles

    Integración aprende-ingles ↔ tareas-hijo — marcar lección diaria automáticamente. Cuando el hijo complete una LessonCompletion en aprende-ingles (Postgres en val-soft), una tarea correspondiente en tareas-hijo (Postgres en Fly.io) debería marcarse hecha automáticamente. Mecanismo posible: webhook desde aprende-ingles → endpoint Phoenix en tareas-hijo. Requiere: (a) tareas-hijo tener un endpoint público autenticado para "marcar tarea hecha por slug" (NO existe hoy — Fase 1 #184 está en bloque 1/4); (b) aprende-ingles tener un job/queue que dispatch al completar lección; (c) modelo de mapeo: en tareas-hijo, una tareas_definicion con slug='leccion-ingles-diaria' se vincula. Bloqueado por #184 Fase 1 completa de tareas-hijo (que tenga su esquema LiveView + auth). Cuando se desbloquee, decidir si la integración es push (webhook) o pull (cron en tareas-hijo consulta aprende-ingles). Estimación: chica una vez desbloqueado (1 endpoint + 1 job).

Esta semana (47)

  • 2026-06-01 lunes mañana 🔥 #249 amadeus

    Prender ANALISIS_HOOK_CONSUMOS_ENABLED=true (validación automática al subir). Desbloqueado — workers ya listos (#371 cerrado). (Bloque 0)

  • 2026-06-01 lunes mañana #047 amadeus

    #047 Smoke piloto Selene — flujo manual end-to-end de inventarios desde /movimientos-inventario (preparar → entregar → revisar). Probar también MisEntregas y ViajeCompras. Crear OT, asociar inventario, verificar descuento.

  • 2026-06-01 lunes mañana ⚠️ ⏱ 3-4h #383 holbox

    💰 FACTURABLE — Reducir fallos de WhatsApp (33% actual) con fix de calidad de dato en 2 capas: (1) upstream validar teléfono al capturar en POS/alta de cliente (10 dígitos + LADA mexicana válida, se apoya en PhoneNumber/libphonenumber del #197/#368) para atrapar typos antes de gastar envíos; (2) downstream en el webhook marcar números que rebotan con 131026 (flag suave whatsapp_no_disponible, NO opt-out duro porque 131026 a veces es transitorio) + aviso en banda del POS "este número no recibe WhatsApp, verifícalo". Diagnóstico completo en bitácora 2026-05-28. Esperando que Aarón apruebe (Sergio le mostrará el reporte con la columna de causa de falla primero).

  • 2026-06-02 martes en 2 días #048 amadeus

    #048 Asignar permisos inventarios_preparar/_entregar/_revisar al resto (18 usuarios en 0) cuando Selene valide el piloto. Capa 1 ON parcial para Selene Ortega (user_id=14, los 3 permisos en 1). Capa 2 (INVENTARIO_VIAJE_LINK) sigue OFF — solo Sergio la activa editando .env.

  • 2026-06-02 martes en 2 días ⏱ 4-6h #405 aprende-ingles

    Fase 3 del AUDIT (#205): streak con holgura + dashboard /progreso del papá. Streak freeze (1-2 congeladores/semana) + celebración fuerte de los primeros 7 días + récord personal (NO liga/leaderboard). Pantalla /progreso: palabras dominadas vs en repaso, racha, minutos esta semana vs meta, nivel CEFR estimado (Pre-A1/A1, usando datasets CEFR/NGSL locales). Los datos ya están en BD; falta la pantalla que los agregue. Resuelve eje f (métricas). Detalle en AUDIT.md §8.

  • 2026-06-02 martes en 2 días #262 es-antenas-new

    (sigue 2026-05-11) Confirmar con Sergio el resultado de su validación manual de correos. Sergio revisa el comportamiento en su Gmail durante el fin de semana 2026-05-09/10 y comparte si requiere ajuste.

  • 2026-06-02 martes en 2 días #196 es-antenas-new

    Tepehuanes collector remoto caído. sitios.fecha_ultima_conexion para Tepehuanes a las 13:00 estaba a 487 minutos (~8 horas sin reportarse). Sigue caído. Es problema del HOST físico en sitio (collector Go corriendo en un equipo en Tepehuanes) — no del server. Pendiente operacional: investigar conectividad/equipo en Tepehuanes. Capturar en electrosystems-network-map cuando esté listo.

  • 2026-06-02 martes en 2 días #113 infra-updates

    Para equipos Ubiquiti blackBox (mayoría de los 354 en 10.11.30-37): qué tipo de equipo, qué firmware corre. Probable que esto requiera coordinarse con backup-system (oxidized ya tiene info de modelo en algunos).

  • 2026-06-02 martes en 2 días #178 joyeriameza

    Redactar y enviar correo 1 al cliente (tarifa nueva + disponibilidad para trabajo grande + handoff profesional como opción abierta). Tarifa propuesta: $300 MXN/h desarrollo + $3,500 MXN/mes soporte, aplicación 1 de agosto de 2026. Draft listo en bitácora 2026-05-22; ajustar [Nombre] del contacto antes de enviar. Acción al confirmar recibo del cliente: actualizar clients/joyerias-meza.md con la nueva tarifa vigente y marcar rate_locked_since: 2026-08.

  • 2026-06-02 martes en 2 días ⏱ 30m #408 machine-parity

    Configurar WireGuard en el celular de Sergio con las mismas redes que el PC personal. App WireGuard (Android/iOS) → "Add tunnel" genera par de llaves → agregar peer 10.255.255.15 en la VM wireguard (wg set + append a wg0.conf, nunca wg-quick save) → config cliente split-tunnel reusando el mismo bloque AllowedIPs del túnel es-wg (sitios + 10.11.0.0/16 + 172.16.0.0/16 + 192.168.20/3.0/24 + 10.255.255.0/24) + Endpoint 201.174.219.154:51820. Peer name #celular-sergio. Runbook en electrosystems/servers/wireguard/README.md.

  • 2026-06-02 martes en 2 días #073 vpn-clientes

    🤖 alto — Fase 0 — diseño + scaffolding del concentrador WG nuevo. No toca producción. ✅ Diseño APROBADO 2026-05-29 (las 5 decisiones cerradas) → vpn-clientes/PLAN.md. Instancia wg-cli separada en la VM wireguard; solo /32 de cada servidor, NO se rutean LANs (LAN de cliente = SSH tunnel, por LANs solapadas); subredes por función + bloque ADFSA /22; source of truth en la VM; segmentación rol-based. Todas las decisiones cerradas. Siguiente: materializar scaffolding (/etc/wireguard/wg-cli/ + 4 scripts) y lab en poseidon.

  • 2026-06-03 miércoles en 3 días #050 amadeus

    #050 Smoke N vehículos fase 1 — crear viaje con 2+ vehículos, verificar guardado, edit (vuelve a marcar los 2), listado pluralizado, reporte.

  • 2026-06-03 miércoles en 3 días ⏱ 3-4h #406 aprende-ingles

    Fase 4 del AUDIT (#205): repaso priorizado por error real + anclaje de vocabulario. Pasar al LessonPlannerService "qué domina / qué falló" estructurado y repasar prerrequisitos antes de subir dificultad (mastery learning estilo Khan: +2.7% corrección del siguiente ítem). Anclar el vocab nuevo a NGSL/NDL + filtro CEFR A1/A2 (datasets locales). Mejora el motor IA existente sin rehacerlo. Detalle en AUDIT.md §8.

  • 2026-06-03 miércoles en 3 días #314 backup-system

    Planet — vendor faltante. Pendiente: identificar cuántos devices Planet hay en la red (probablemente switches L2/L3 de la línea Planet). Existe ya un alias planet-parral en ~/.ssh/config (192.168.44.2, user admin). Investigar firmware/CLI y elegir/escribir modelo Oxidized.

  • 2026-06-03 miércoles en 3 días #337 electro-ia

    Validación E2E vía Telegram — Sergio puede preguntarle al bot "cuántas llamadas hubo hoy en oasa-plutarco", "última llamada", "top extensiones por duración", etc.

  • 2026-06-03 miércoles en 3 días #339 electro-ia

    Validación E2E vía Telegram — Sergio puede preguntarle al bot "qué hosts corren CentOS 6 EOL", "cuáles tienen llave rotada", "qué hay en 192.168.20.x", "dame detalle de oasa-plutarco". Pendiente cuando Sergio quiera probarlo.

  • 2026-06-03 miércoles en 3 días #010 es-antenas-new

    Packet loss al AP Rumurachi-Urique (192.168.37.61). Ping desde monitoreo mostró 50% pérdida intermitente durante el diagnóstico. Probable causa de que el monitoreo 166 (ifSpeed.1 LAN1) caiga en falla esporádicamente y se persista como 0. Investigar enlace/RF a Rumurachi (no es es-antenas-new — es operación de red, capturar también en projects/electrosystems-network.md si aplica).

  • 2026-06-03 miércoles en 3 días #034 gi-siptrunks-replacement

    Recopilar datos del VM nuevo: hostname, IP/LAN, distro + versión, FreePBX/Asterisk version, vCPU/RAM/disco, ruta de acceso SSH (¿mismo alias gi-siptrunks?, ¿mismo bastion gi-corp?).

  • 2026-06-03 miércoles en 3 días #155 machine-parity

    Triage de repos atrasados / con changes locales: deportescampeon (5 changes, 1.5y), joyeriameza (1 change, 2y), greco-cell (limpio pero 1.2y), sis_platform (3y — confirmar si vivo). Decidir cada uno: pull, descartar changes, commitear, o archivar.

  • 2026-06-03 miércoles en 3 días ⏱ 1h #409 machine-parity

    Definir el proceso repetible para agregar más clientes WG road-warrior con acceso a las mismas redes. Base ya escrita (runbook en electrosystems/servers/wireguard/README.md + memoria reference_es_wireguard_roadwarrior). Pendiente: decidir si conviene un script/plantilla (genera llaves + arma el .conf cliente con el AllowedIPs canónico + comando server listo), convención de IPs .16+, y dejar el bloque AllowedIPs canónico en un solo lugar reutilizable. Toca infra ES (VM wireguard).

  • 2026-06-04 jueves en 4 días 🔥 ⏱ 1d #369 amadeus

    PR 1-4 de políticas/lineamientos editables (amadeus-politicas-viaticos.md). D1-D5 cerradas. ✅ PR 1, PR 2, PR 3 y PR 4 COMPLETADOS (commits 7e53af6/449a2cb/2506bb2/c60fc91 + PR 4 listo en local). Pendiente: (1) validación en staging/prod (correr analisis:auditar-viaje <viaje-cerrado> y comparar violaciones_politica vs juicio humano), (2) deploy de PR 4 a producción. (Bloque 0b)

  • 2026-06-04 jueves en 4 días #211 amadeus

    #211a Smoke notificaciones in-app — crear notif en Nova con permisos_requeridos={"inventarios":true} y validar filtrado por superadmin + usuario con permiso + usuario sin permiso. Badge y campana móvil deben encenderse.

  • 2026-06-04 jueves en 4 días ⏱ 1-2d #407 aprende-ingles

    Fase 5 del AUDIT (#205, stretch): producción/conversación libre. Micro-historias i+1 (la IA genera párrafos de 3-5 frases, 95-98% vocab conocido + 1-2 nuevas, con imagen) → comprensión lectora real. Mini-roleplay con IA sobre lo recién estudiado (empezar por texto, luego voz con la eval de pronunciación ya existente) + tutor socrático en errores (pista que lleva a la respuesta, no la da). El gap diferenciador que casi ninguna app casera tiene; ya hay ladrillos (IA + voz). Detalle en AUDIT.md §8.

  • 2026-06-04 jueves en 4 días #092 cpe-benito-juarez

    Limitar el servicio a 200 Mbps cuando se haga la entrega formal del cliente.

  • 2026-06-04 jueves en 4 días #097 greco-cell

    Recopilar / revisar la lista de requerimientos pendientes del cliente.

  • 2026-06-04 jueves en 4 días #148 holbox

    #148 (NUEVO 2026-05-21, bloqueado por Aarón) Registrar Holbox Óptica en Google Business Profile. Sin el local registrado en Google Maps, cuando el cliente da clic en el pin del template WhatsApp (optica_ubicacion_v1), Maps no encuentra "Holbox Óptica" y resuelve a otro lugar. Mitigación corta aplicada 2026-05-21: address en .env extendido a "Avenida de la Raza 7030, 32500 Cd. Juárez, Chih." para que Maps geocodifique la calle correcta. Solución de fondo: Aarón crea el perfil del local en Google Business Profile (gratis); cuando Google lo apruebe, el pin abrirá la ficha real del local.

  • 2026-06-04 jueves en 4 días #179 joyeriameza

    Construir inventario actual de PCs + cuentas Office del cliente. Tabla en este mismo archivo o en joyeriameza/inventario-pcs.md. Columnas: sucursal · etiqueta/nombre de la PC · usuario humano que la opera · cuenta Office instalada (una de las 3 familiares) · fecha de setup · estado (activa / fuera de uso / desconocida). Fuente principal: portal de admin de cada cuenta Office para ver dispositivos asociados. Pre-requisito del #181.

  • 2026-06-04 jueves en 4 días ⚠️ ⏱ 2h #410 machine-parity

    Control de acceso más fino: que el router de oficina (y otros equipos) permitan solo clientes WG elegidos, no a todos los que salen NAT'eados como .20.5. Enfoque: que la VM wireguard NO enmascare el tráfico al destino sensible (regla iptables -t nat -I POSTROUTING -d <dst> -j ACCEPT antes del MASQUERADE general, o SNAT selectivo) para que el equipo vea el 10.255.255.x real del peer → ruta de regreso a 10.255.255.0/24 en el MikroTik vía gw → ACL del router que permita solo las IPs WG elegidas (ej. .14 PC, .15 celular). Implica tocar la VM wireguard (prod) + el router. Hoy (2026-05-29) se hizo el fix simple: .20.5 en el allow del MikroTik (da acceso a todos los clientes WG).

  • 2026-06-05 viernes en 5 días #360 adfsa-migration

    Migrar la tarjeta E1 (TE210P dual-span) a Nortel del servidor viejo al nuevo. Implica:

  • 2026-06-05 viernes en 5 días #175 amadeus

    #175 Smoke E2E bot electro-ia ↔ amadeus — desde Telegram (documentado en electro-ia con plan completo).

  • 2026-06-05 viernes en 5 días #315 backup-system

    Siklu — vendor faltante. Sergio nota: "no está documentado por nombre, es parte de los dispositivos faltantes". Probable: equipos mmWave/E-band que están entre los blackBox UNKNOWN de UISP. Identificar por OUI (Siklu OUI: 00-22-91) y agregar a BLACKBOX_OUI_MAP similar al patrón Mimosa. Verificar si tienen SSH y cómo se exporta su config.

  • 2026-06-05 viernes en 5 días #018 electro-ia

    Smoke test extendido 1 semana con Sergio en uso real (en curso).

  • 2026-06-05 viernes en 5 días #019 electro-ia

    Documentar costos reales vs estimación (cuando se use el API).

  • 2026-06-05 viernes en 5 días #007 es-antenas-new

    (Fase 3a) Scaffold de tests para monitoreo-collector. El repo Go NO tiene tests hoy — antes de meter el resolver, montar harness: testify + mock de gosnmp (sea gosnmp/gosnmp.MockSNMP o servidor SNMP en docker para integración) + 4-5 tests del resolver de {IF} (cache hit/miss, fallback ifDescr→ifName, interfaz no encontrada, invalidación on noSuchInstance). ~1-2 hrs sesión propia. Sin tocar lógica de producción todavía. Salida: harness pasando + tests muriendo de manera predecible que validen futuras decisiones del resolver.

  • 2026-06-05 viernes en 5 días #035 gi-siptrunks-replacement

    Validar registración de trunks SIPSTATION (trunk1.freepbx.com, trunk2.freepbx.com, user d4ca438c) — asterisk -rx 'pjsip show registrations' o equivalente.

  • 2026-06-05 viernes en 5 días #036 gi-siptrunks-replacement

    Validar admin UI carga con TLS moderno (el bloqueador del 2026-04-29 debería estar resuelto al subir OpenSSL).

  • 2026-06-05 viernes en 5 días #160 holbox

    #160 (NUEVO 2026-05-22, PAUSADO 2026-05-24) Revisar habilitar recepción de llamadas al número de WhatsApp Business. Análisis cerrado: la solución técnica ideal es WhatsApp Business Coexistence (Meta mayo 2025) — mismo número en app móvil + Cloud API simultáneo vía Messaging Echoes, llamadas en celular, sin costo extra, sin tocar nuestro código. Pausado porque (a) Sergio no ve la opción "Coexistence" en Meta Business Manager del WABA de Holbox (rollout regional incompleto a 2026-05) y (b) Aarón prefiere no hacer setup elaborado. Despausa condicional a decisión sobre #165 (cotización CRM) — si va por CRM SaaS, el CRM probablemente cubre llamadas y #160 queda N/A. Detalle completo bitácora 2026-05-24 (noche).

  • 2026-06-05 viernes en 5 días ⏱ 1-2h #302 hub-web-viewer

    RSS / Atom feed de log diario (solo Sergio).

  • 2026-06-05 viernes en 5 días #115 infra-updates

    CentOS 6 EOL → migración: orion (192.168.20.2), otrs (192.168.20.21), clientes (192.168.20.60). El "update" aquí es decom + migración a OS soportado. Coordinar con orion-decommission (que ya está activo para orion). Crear plan equivalente para otrs y clientes.

  • 2026-06-05 viernes en 5 días #139 orion-decommission

    Decidir destino de dokuwiki — coordinar con docs-platform. Opción A: migrar VM tal cual a poseidon. Opción B (ya pre-elegida en docs-platform): importar contenido a Wiki.js y decommissionar el VM sin migrar. RSS real 704 MB / qcow2 20 GB. Decidir antes de iniciar migración.

  • 2026-06-05 viernes en 5 días ⏱ 0.5d #414 vpn-clientes

    Fase 0b — lab de validación en poseidon. VM(s)/netns: 1 hub + servidores + 2 operadores; correr los tests de segmentación rol-based (operador→pool PASA, no-permitido DROP, servidor↔servidor DROP, revoke en vivo). Verde = se desbloquea #077.

  • 2026-06-05 viernes en 5 días #078 wireguard-jrz-elp

    Documentar el estado actual del enlace Juárez ↔ El Paso. ¿Qué tecnología usa hoy? ¿Cuál es el endpoint en cada lado? ¿Qué subnets enruta?

  • 2026-06-06 sábado en 6 días ⚠️ ⏱ 1d #380 amadeus

    Pantalla mapa Leaflet+OSM de consumos con popup/hover de detalle. (Bloque C — victoria visual)

  • 2026-06-06 sábado en 6 días #088 cpe-benito-juarez

    Subir llave SSH al Netonix sw-villa-ahumada (mismo flujo que el MK; aún sin key auth).

  • 2026-06-06 sábado en 6 días #098 greco-cell

    Reanudar trabajo activo.

  • 2026-06-06 sábado en 6 días #180 joyeriameza

    Documentar manual de setup de PC nueva (Office, bookmarks, startup apps, etc.) en formato paso a paso con screenshots, pensado para que cualquier persona de Joyerías Meza pueda seguirlo sin background técnico. Guardar en joyeriameza/setup-pc-nueva.md o equivalente. Pre-requisito del #181.

  • 2026-06-07 domingo en 7 días 🔥 ⏱ 28h (cotizado) #256 holbox

    💰 FACTURABLE (DESBLOQUEADO 2026-05-28 — Aarón aprobó) — Fase 1: Bandeja básica + atención manual. Webhook inbound extendiendo el del #149 para procesar messages, tablas conversaciones + mensajes_wa + identificación cliente/prospecto, UI /admin/conversaciones con bandeja + chat view + asignación humana + estado activa/archivada + pipeline de prospectos. Entregable independiente y útil aunque no se haga Fase 2 — el equipo puede ver y contestar todos los mensajes en un solo lugar. 28h × $350 = $9,800 MXN cotizado a Aarón (facturación = horas reales × tarifa con flujo asistido, ver regla del hub). EN PROGRESO — plan técnico cerrado en plan-crm-fase1.md (preguntas P1/P2/P3/P5 resueltas por Sergio, ver bitácora). 3 entregas deployables: ✅ E1 captura inbound ~11h DEPLOYADA A PROD (commit a8ad89e, GHA 26605651268 verde — migraciones + backfill telefono_e164 corridos en prod); ✅ E2 bandeja read-only ~10h DEPLOYADA A PROD OCULTA (commits 30632da + bdcf05e, GHA 26659946880 verde; sin link en menú a propósito para testing previo a entrega — acceso solo por URL /admin/conversaciones, role:admin; revertir bdcf05e al entregar); ✅ E3 atención+envío+conversión ~9h DEPLOYADA A PROD (commit 9769533, push 2026-05-29 16:18 local; menú sigue oculto — revertir bdcf05e al entregar). tenant_id nullable desde día 1 (decisión #258). Prospecto = tabla nueva (no flag en clientes). Decisiones: telefono_e164 materializado (P1), solo admin atiende (P2), hilo global (P3), imágenes desde día 1 (P5).

Este mes (71)

  • 2026-06-08 lunes en 8 días #089 cpe-benito-juarez

    Confirmar con el cliente la metodología del speedtest del 2026-05-08 (dispositivo, cableado, WiFi, server).

  • 2026-06-08 lunes en 8 días #093 deportescampeon

    Recopilar / revisar la lista de requerimientos pendientes del cliente (no documentados aquí todavía — Sergio los irá dictando o pegará referencias).

  • 2026-06-08 lunes en 8 días #017 electro-ia

    Agregar 2-3 usuarios más: Gustavo Chavira (gustavo_chavira_mx, admin) ya vinculado 2026-05-15 tarde. Faltan ingenieros (sin nombres decididos).

  • 2026-06-08 lunes en 8 días #037 gi-siptrunks-replacement

    Confirmar dialplan + extensiones migrados; comparar contra el viejo si hay backup.

  • 2026-06-08 lunes en 8 días #257 holbox

    #257 💰 FACTURABLE (condicional a #256 entregada) — Fase 2: Asistente automático + integración holbox.store + escalado. Servicio IAResponder con Antigravity Haiku 4.5 (interno, no se menciona al cliente) + guion configurable desde /admin/asistente (textarea editable, versionado, variables {nombre_negocio}/{catalogo}/{promociones}), conexión con catálogo de holbox.store (sync periódico configurable, productos/precios/stock/links directos), lógica de escalado (intent "humano" / queja / fuera de guion / N mensajes sin resolver), notificaciones push+email al equipo, modo sombra inicial (asistente propone, humano aprueba y envía) configurable. 26h × $350 = $9,100 MXN, 1.5 semanas calendario (con leve traslape sobre el final de Fase 1). Costo recurrente Anthropic estimado $3-15 USD/mes para Holbox (a cargo del cliente, no del desarrollo). Los datos para reportería quedan registrados desde día 1 — pantallas en #260.

  • 2026-06-08 lunes en 8 días #181 joyeriameza

    (bloqueado por #178 + #179 + #180) Redactar y enviar correo 2 al cliente: aclarar scope del soporte mensual (cubre software/fallas/ajustes; NO cubre hardware, configuración de PCs nuevas ni soporte de Office) + propuesta de handoff del proceso de setup de PCs y administración de las cuentas Office. Adjuntar inventario (#179) + link al manual (#180). Mandar 4-6 semanas después del correo 1, una vez digerida la tarifa. Draft listo en bitácora 2026-05-22.

  • 2026-06-08 lunes en 8 días #141 orion-decommission

    Migrar BORRAR traccar2025. ✅ Resuelto el "a dónde": #396 confirmó que el Traccar real vive en el host ares (192.168.3.2, vivo con ~20.5M check-ins). El traccar2025 de orion es un leftover de migración muerto (-incoming, NIC nunca cableado) — no hay servicio que preservar ni migrar. Acción: borrar la VM de orion (confirmar con Sergio antes del virsh undefine/borrado del qcow2). No bloqueante para el decommission.

  • 2026-06-08 lunes en 8 días #032 telcel-jacala

    Pendiente investigar (no toqué): identificar MAC origen del broadcast con tcpdump -i switch0 -nne 'ether broadcast and src host 206.135.14.86' (NO ejecutado — solo investigación read-only en esta sesión).

  • 2026-06-08 lunes en 8 días #033 telcel-jacala

    erx-jacala NO está en /var/lib/oxidized/router.db — si queremos backups automáticos de config, hay que darlo de alta.

  • 2026-06-08 lunes en 8 días #079 wireguard-jrz-elp

    Identificar si hay perfiles de host en ~/agy/electrosystems/servers/ para los dos endpoints del túnel actual; si no, crearlos.

  • 2026-06-09 martes en 9 días ⚠️ ⏱ 0.5d #378 amadeus

    Coords oficina/matriz (config) + medir cobertura GPS de sitios. (Hospedaje omitido.) (Bloque B)

  • 2026-06-09 martes en 9 días #103 ia-evaluacion

    Probar gemma4:26b en tareas multimodales (mandarle una imagen — foto de un equipo de red, screenshot, diagrama — y medir calidad).

  • 2026-06-10 miércoles en 10 días #361 adfsa-migration

    Desmantelar el servidor viejo (asterisk-adfsa-old). Pre-condición: migración de tarjeta E1 completa y validada + ruta IAX2 retirada del NEW. Pasos:

  • 2026-06-10 miércoles en 10 días ⚠️ ⏱ 1d #379 amadeus

    Validación de ubicación por corredor (sitio/oficina/segmento), solo bandera; pasar anclas a la IA. (Bloque B)

  • 2026-06-10 miércoles en 10 días #090 cpe-benito-juarez

    Probar speedtest desde detrás del MK directamente (ether3/7/8 libres, cable, target conocido — Cloudflare/speedtest.net/etc.).

  • 2026-06-10 miércoles en 10 días #106 docs-platform

    Mitigar leak de procesos git zombies en Wiki.js v2. Confirmado: el módulo de git-storage acumula procesos zombie en periodos largos. Fix manual aplicado 2026-05-04 (restart). Recurre en escala de varias semanas. Opciones de mitigación:

  • 2026-06-10 miércoles en 10 días #335 electro-ia

    (en pausa — Fase 2.10) Bug de resolución anafórica ("este archivo" → file_id más reciente) + tool send_email. Archivos deployados en disco; pendiente restart + credenciales SMTP + smoke + commit. Detalle en sección 🔄 RETOMAR arriba y bitácora 2026-05-19 (noche — Fase 2.10).

  • 2026-06-10 miércoles en 10 días #012 es-antenas-new

    Observar próximos eventos de flapping + recordatorios en vivo para confirmar consolidación en ambos caminos tras debounce + arrastre por sitio.

  • 2026-06-10 miércoles en 10 días #038 gi-siptrunks-replacement

    Status del VM viejo (172.16.1.34): ¿apagado?, ¿decommission completo?, ¿queda como backup encendido por N días?

  • 2026-06-10 miércoles en 10 días #095 greco-cell

    Diagnosticar la razón por la que a veces hay que reiniciar mysql y/o php-fpm.

  • 2026-06-10 miércoles en 10 días #258 holbox

    #258 — Fase 3 multi-tenant opcional (interno, NO en propuesta cliente-facing). Abstracciones tenant_id en conversaciones/mensajes_wa/asistente_config, panel super-admin, docs de adopción para portar a Joyerías Meza / Greco Cell / Deportes Campeón. ~30-40h × $350 = $10,500-14,000 MXN, cobrable a cada cliente que adopte después. Decisión técnica: dejar tenant_id como columna nullable desde Fase 1 para no migrar después si Sergio decide adoptar el módulo en otro cliente sin tocar a Holbox. No mencionar a Aarón salvo que pregunte.

  • 2026-06-10 miércoles en 10 días #373 joyeriameza

    #373 (NUEVO 2026-05-27) Follow-up del bug compuesto: cuando se cancela una transacción que afectó al limite_credito, el sistema no lo restaura (el método de cancelación no re-procesa el cálculo del límite). En el caso de Veneza, la transacción #1935290 fue cancelada 4 minutos después pero el límite ya estaba en 0 y se quedó así. Investigar el método de cancelación y agregar restauración del límite cuando se cancele una transacción de consignación que dejó saldo=0. Sin urgencia — el fix del #189 evita que el bug se repita; este follow-up es robustez adicional.

  • 2026-06-10 miércoles en 10 días #140 orion-decommission

    Migrar otrs a poseidon (primero del lote, la más liviana confirmada en uso). RSS real 1.7 GB / allocated 2 GB / qcow2 20 GB. Observar swap/load 24-48 h antes de pasar a la siguiente. Bloqueado por: triage de / en poseidon (poseidon-root-triage).

  • 2026-06-10 miércoles en 10 días #122 poseidon-storage

    Auditar qcow2 en pool default y decidir cuáles mover a home para liberar espacio. Criterio: VMs activas que pueden moverse en una ventana corta de mantenimiento. Para cada candidato:

  • 2026-06-11 jueves en 11 días #260 holbox

    #260 💰 FACTURABLE (extensión opcional posterior a #257) — Reportería del módulo Conversaciones. Pantallas: conversaciones por día/semana/mes, % resueltas por asistente vs humano, tiempo de respuesta promedio, preguntas más frecuentes (útil para mejorar el guion), prospectos → clientes con tasa de conversión. Los datos ya están registrados desde el día 1 (Fase 1+2 los persisten), solo se construyen las vistas. ~5-8h × $350 = $1,750-2,800 MXN. Cotizar y arrancar cuando Aarón la pida (típicamente mes 2-3 tras arranque del módulo).

  • 2026-06-11 jueves en 11 días #102 ia-evaluacion

    Comparativa de latencia y calidad: qwen2.5:14b-instruct vs gemma4:26b con el mismo prompt en español, con num_ctx=8192 en ambos.

  • 2026-06-12 viernes en 12 días #043 adfsa-migration

    Verificar soporte MFC-R2 (openr2) en el chan_dahdi de FreePBX 17 / Debian 13 antes de insertar la tarjeta E1. Comando útil cuando DAHDI esté cargado: asterisk -rx "dahdi show mfcr2 variants" y revisar si la librería libopenr2 está en el sistema. Sin esto, la migración del E1 falla en signalling MX.

  • 2026-06-12 viernes en 12 días #094 deportescampeon

    Reanudar trabajo activo en el proyecto.

  • 2026-06-12 viernes en 12 días #338 electro-ia

    (opcional, no urgente) Replicar el patrón a los 5 Sangoma 7 restantes en lote: minadolores2, miscelec-chih/queretaro/leon/jrz, novamex-jrz. ~5 min por host con el flujo ya probado (ssh validation → alias → extract creds → yaml block → restart).

  • 2026-06-12 viernes en 12 días #008 es-antenas-new

    (Fase 3b) Implementación SNMP placeholder end-to-end. Sub-tareas:

  • 2026-06-12 viernes en 12 días #039 gi-siptrunks-replacement

    Actualizar docs internas de electrosystems con nuevo stack.

  • 2026-06-13 sábado en 13 días #105 ia-evaluacion

    Decidir si vale la pena instalar también gemma4:31b dense para tener referencia de techo de calidad (a costa de latencia muy alta).

  • 2026-06-15 lunes en 2 sem #041 adfsa-migration

    Agregar IP pública en el NEW para troncal SIP de Transtelco (líneas americanas). ADFSA va a tener un segundo trunk SIP con Transtelco para sus DIDs US (en paralelo al de Telmex que ya está en cutover). Requiere:

  • 2026-06-15 lunes en 2 sem #042 adfsa-migration

    Validar estatus end-to-end de la migración SIP Telmex — confirmar que llamadas in/out funcionan después del swap, que los teléfonos están registrando contra el nuevo server, y que el trunk Telmex sigue activo.

  • 2026-06-15 lunes en 2 sem #316 backup-system

    Aclarar caso de uso real con Sergio: si la pendiente "ver manera de descargar" sigue viva, ¿qué le falta a la UI actual? Casos posibles:

  • 2026-06-15 lunes en 2 sem #107 docs-platform

    Migrar contenido activo de DokuWiki (en orion) a Wiki.js. Diferido el 2026-04-25. Importarlo como folder en Wiki.js. Bloqueador parcial: orion corre CentOS 6 EOL con root partition al 100% — coordinar con orion-decommission.

  • 2026-06-15 lunes en 2 sem #336 electro-ia

    Streaming en WhatsApp (chunking).

  • 2026-06-15 lunes en 2 sem #101 ia-evaluacion

    Aplicar Tier 3 en Ollama (OLLAMA_FLASH_ATTENTION=1 + OLLAMA_KV_CACHE_TYPE=q8_0) — necesita sudo, no aplicado. Esperar ventana con Sergio en sesión local.

  • 2026-06-15 lunes en 2 sem #021 orion-decommission

    Decommissionar FreePBX/Asterisk local de orion. Descubierto el 2026-05-11. Sergio confirmó (2026-05-11): no está en uso actualmente, se usaba hace mucho tiempo. Se puede prescindir sin problema → simplificar el end-game: solo apagar el servicio + limpiar configuración antes de apagar el host, sin migración a otro PBX.

  • 2026-06-15 lunes en 2 sem #144 poseidon-root-triage

    Limpieza low-risk (opcional, baja ganancia). El diagnóstico de #143 mostró que /var/log (1.2G) + /var/tmp (1.2G) + /root (53M) es el único terreno disponible para limpieza in-place — máximo ~2 GB recuperables, insuficiente para sacar / del rango crítico. Saltar este paso y ejecutar #145 directo. Mantener este pendiente como segunda barrida de mantenimiento DESPUÉS de #145.

  • 2026-06-15 lunes en 2 sem #123 poseidon-storage

    Confirmar que el pool default queda con margen razonable (≥ 30% libre) tras la limpieza.

  • 2026-06-16 martes en 2 sem ⚠️ ⏱ 2d #382 amadeus

    Subida offline = borrador local (IndexedDB + sync al reabrir con señal, preservar ubicación, notificar si queda observado). (Bloque D — el más caro)

  • 2026-06-17 miércoles en 2 sem #044 adfsa-migration

    Limpiar inconsistencia de apt sources en Debian 12/13. El host tiene mezcla: líneas bookworm + una línea stable (resuelve a trixie) + repo Sangoma bookworm. Runtime es trixie pero Sangoma no soporta oficialmente trixie. Decidir: bajar a bookworm (alineado con Sangoma) o quedarse en trixie (no soportado, riesgo de roto en el siguiente major upgrade de FreePBX). Revisar packages held antes de tocar nada.

  • 2026-06-17 miércoles en 2 sem #061 backup-system

    #061a A — IP en el header del archivo de config. Auto-inyectada por Oxidized vía model hook. Primera línea del archivo como comentario con la IP del device en el momento del backup. git grep <ip> instantáneo.

  • 2026-06-18 jueves en 3 sem #172 es-antenas-new

    (Fase 6 del flujo "Agregar candidato UISP") Wizard 1-page de Agregar. Unificar todo el flujo en UNA sola vista en lugar del redirect actual Agregar → /dispositivos/{id}/edit. Pantalla nueva (ruta dedicada /uisp-candidatos/{id}/wizard o modal grande en /uisp-candidatos) con: bloque plantilla (con preview de monitoreos que se van a prepoblar), bloque SNMP (community, versión), bloque variables de monitoreo (con botón "Copiar del contraparte" ya implementado en Fase 3), bloque enlace (Fase 5 reutilizable). Submit único: crea dispositivo + prepuebla monitoreos + sobreescribe los límites editados + asigna al enlace, todo en una transacción. Reemplaza el combo "click Agregar → redirect a edit → llenar SNMP → guardar → editar más → enlaces". Depende de Fase 5 ya implementada para el bloque de enlaces. Trade-off: vista más densa, pero el operador no pierde estado entre saltos y todo el contexto del candidato UISP (IP, nombre, plantilla sugerida) queda visible mientras llena.

  • 2026-06-18 jueves en 3 sem #104 ia-evaluacion

    Caracterizar gemma4:latest (4B edge) como fallback rápido para chat conversacional cuando no se necesite razonamiento multimodal.

  • 2026-06-20 sábado en 3 sem #366 adfsa-migration

    Inbound desde Telmex. Outbound validado en producción 2026-05-07; inbound deferido al provider. Confirmar con Telmex cuando restauren el servicio. Probable: parte del rollout de PSTN-E1 → SIP-trunk de los próximos días.

  • 2026-06-20 sábado en 3 sem #091 cpe-benito-juarez

    Re-checar SFP rx-power en 2-4 semanas (hoy −26.38 dBm, dentro de spec pero en zona baja).

  • 2026-06-20 sábado en 3 sem #108 docs-platform

    Decidir destino del VM bookstack (paused, en orion). Contenido mínimo, set aside por reportes de lentitud. Confirmar salvageabilidad y borrar si no aporta. Parte del esfuerzo de orion-decommission.

  • 2026-06-20 sábado en 3 sem #190 es-antenas-new

    Retomar /metrics para Prometheus. Hoy quedó desactivado (commit 2efa022) porque el endpoint disparaba una query agregada sobre lecturas_historicas_detalles (49.6M filas) y colgaba PHP-FPM cuando un scraper lo pegaba. Cuando se vuelva a necesitar: (a) reescribir MetricsController::index evitando el eager-load with('ultima_lectura_historica.detalles'); opciones probadas en diagnóstico: loop con DB::table('lecturas_historicas')->where('dispositivo_id', $id)->orderByDesc('fecha')->first() (N=317 queries triviales con lecturas_historicas_dispositivo_id_fecha_index, backward scan, lee 1 fila por query) + 1 query bulk whereIn('lectura_historica_id', $ids) para los detalles, o LATERAL JOIN equivalente en SQL crudo. (b) Restaurar la ruta Route::get('/metrics', [MetricsController::class, 'index']) y el use App\Http\Controllers\MetricsController; en routes/web.php. (c) Considerar autenticarla (hoy era pública). El archivo MetricsController.php quedó intacto en el repo como referencia.

  • 2026-06-20 sábado en 3 sem #142 orion-decommission

    Considerar +RAM en poseidon como upgrade preventivo (oversubscribed con swap 100%). No bloquea la migración — los 2.5 GB RSS reales de las 3 VMs caben en los 9.6 GB available de poseidon — pero quita el miedo de raíz y compra runway para el refresh del hypervisor (poseidon también es CentOS 7 EOL).

  • 2026-06-22 lunes en 3 sem #319 backup-system

    155 devices recién agregados de regiones nuevas (Chihuahua, Parral, Caborca, Namiquipa, Nogales, Villa Ahumada, Colonia del Valle): pendientes de correr fleet_provision_airos.sh / fleet_provision_edgeos.sh antes de que los backups con key-auth funcionen. Lista de runs candidata en el README de electrosystems/backup-system/ § "Onboarding the new regions".

  • 2026-06-22 lunes en 3 sem #013 electro-ia

    (causa secundaria del incidente jefe, no urgente con Antigravity API ya online) Empujar al modelo local a usar APIs JSON para datos estructurados (clima, finance). Antigravity lo hace bien solo. Para el local: (a) tool dedicada web_search(query) con Brave Search API (2k búsquedas/mes gratis, key registrable en brave.com/search/api/), (b) hint en system prompt, (c) dejar al modelo iterar (ya tiene la regla nueva).

  • 2026-06-22 lunes en 3 sem #009 es-antenas-new

    (Fase 4) Migración de datos por lotes. Crear monitoreos nuevos genéricos (ifInOctets {IF}, ifOutOctets {IF}, ifHCInOctets {IF}, ifHCOutOctets {IF}, ifHighSpeed {IF}, ifSpeed {IF}). Empezar piloto con MikroTik (mayor fragilidad — VLANs idx 2001/2005 cambian al menor reboot/restore). Por dispositivo: setear interfaz en cada asignación nueva, validar lecturas correctas durante 1-2 ciclos, soft-deletear las asignaciones viejas hardcodeadas. Auditoría completa: 15 monitoreos ifTable + 62 ifXTable.

  • 2026-06-22 lunes en 3 sem #HIJ-003 tareas-hijo

    🤖 alto — (Fase 4, economía de puntos + premios) Schemas puntos_transacciones/premios/canjes, balance de puntos prominente en home hijo, catálogo + canjear, CRUD de premios en admin, cola de aprobación de canjes, ajuste manual de puntos. Deliverable: hijo acumula, canjea "30 min Switch", Sergio aprueba/marca cumplido. Estimación 1 sem. (antes #187) Gancho ya puesto: Tareas.aprobar/1 es el punto donde crear la transacción de puntos al aprobar.

  • 2026-06-24 miércoles en 3 sem #320 backup-system

    45 Netonix WS-x: correr fleet_provision_netonix.sh con la firmware-split logic. Old firmware (kernel 2.6.x) acepta keys, new firmware (kernel 5.x) requiere password en sops creds.

  • 2026-06-25 jueves en 4 sem #321 backup-system

    6 devices airFiber AF60-LR tienen prompt diferente al airfiber.rb stock (AP/ST-Castillo-Market, AP/ST-El-Paso-Matriz, AP/ST-Matriz-Gus). Workaround actual: device_overrides.yaml los fuerza a model airos. Mejora futura: tunear el modelo airFiber upstream o escribir uno custom AF60-LR.

  • 2026-06-25 jueves en 4 sem #109 docs-platform

    ACL groups + restricciones por folder en Wiki.js. Diferido el 2026-04-25 — actualmente todos los del Workspace ven y editan todo. Revisitar si surge necesidad real (ej. notas con info sensible que no deba ver todo el equipo).

  • 2026-06-25 jueves en 4 sem #135 electro-ia

    Sumar más DBs al allowlist. Cerrado parcialmente 2026-05-22 (Fases 2.14 + 2.15): cluster FreePBX Sangoma 7 completo (7 PBXs / 15 DB endpoints). Scope aclarado por Sergio: solo infra Electrosystems — clientes freelance (holbox/deportescampeon/grecocell/jmeza) y proyectos personales NO entran al bot. Quedan en scope ES: (a) Postgres lado ES (electroia local + netbox + uisp en datacenter, requiere portar db_runner a Postgres ~1-2 h), (b) 18 PBX no-Sangoma en sitios cliente ES (extraer creds en backups-infra primero), (c) otrs y clientes.electrosystemsnet.com (ambos CentOS 6 EOL con MySQL).

  • 2026-06-25 jueves en 4 sem #011 es-antenas-new

    (opcional, follow-up) Considerar el mismo filtro "excluir notificados muy recientemente" en procesarFlapping's expansión de RECORDATORIOS: hoy la query solo filtra whereNotNull('flapping_notificado_at'), así que en un tick donde simultáneamente cae un nuevo flapping (block "detectado") y otro vencía su recordatorio en el mismo sitio, podría salirse el correo "detectado" + "recordatorio" mencionando al recién detectado. Riesgo bajo (requiere 24h-vencido + nuevo en mismo tick). NOTA: con el debounce de detectados (commit 017e1b9) la probabilidad bajó aún más porque el detectado ahora se retrasa 5 min.

  • 2026-06-26 viernes en 4 sem #322 backup-system

    AP-MEDICOS2, SECTORIALELPASO (airOS) y ST-Castillo-Jichasa (airFiber) — rechazan los 5 candidate passwords. Probable creds device-specific. Discovery manual o reset físico.

  • 2026-06-27 sábado en 4 sem #323 backup-system

    Cambium ePMP requiere KEX curve25519 — gem Ruby x25519 instalado en VM oxidized 2026-05-05 (fixed). Pendiente: agregarlo al provisioning-baseline doc (parte del README) para que cualquier reprovisión futura del VM lo incluya por default.

  • 2026-06-28 domingo en 4 sem #324 backup-system

    Subir RAM de netbox VM a ≥ 4 GiB (actualmente ~414 MiB swap en uso). Próxima ventana de mantenimiento.

  • 2026-06-28 domingo en 4 sem #020 electro-ia

    Resto del equipo (15 usuarios).

  • 2026-06-29 lunes en 4 sem #325 backup-system

    Identificar hipervisor de netbox — SMBIOS solo reporta "Red Hat / KVM" genérico. Necesario para provisionar un VM hermano del oxidized si se quiere distribuir carga.

  • 2026-06-30 martes en 4 sem #326 backup-system

    Configurar Snapshot Replication policy sobre el share NetworkBackups en es-nas. Recomendación del README: hourly×24h, daily×30d, weekly forever.

  • 2026-06-30 martes en 4 sem #244 backup-system

    Endurecer shell del user oxidized en es-nas de /bin/sh a /usr/bin/git-shell una vez que el pipeline esté estable. Constrain a operaciones git solamente.

  • 2026-06-30 martes en 4 sem #328 backup-system

    Agregar QEMU guest-agent channel al VM oxidized (no se hizo en el virt-install). Cosmético; arreglable editando domain XML y agregando <channel type='unix'>...</channel>.

  • 2026-06-30 martes en 4 sem #329 backup-system

    Verificar salud del cron cgit-mirror en reverse-proxy (sync hourly de nas:configs.git a /var/lib/cgit/configs.git). No hay alarma; verificar pasivamente en el siguiente touch del host.

  • 2026-06-30 martes en 4 sem #110 docs-platform

    Migrar el remote git de Wiki.js de GitHub a Gitea/Forgejo self-hosted. Goal: docs/code en red interna con backups internos. Sin fecha. Tarea grande — requiere standup de un Gitea/Forgejo, migración de repos, ajuste de Wiki.js storage config y de los workflows de los developers.

  • 2026-06-30 martes en 4 sem 🔥 #HIJ-004 tareas-hijo

    🤖 medio — (Fase 5, streaks + push) Query de streaks + badge en home hijo, VAPID + service worker, push diario al hijo si quedan pendientes (Oban cron), push a papá en eventos clave, settings de notifs en admin. Deliverable: hijo ve "🔥 7 días seguidos", recibe recordatorio si olvida tarea. Estimación 0.5 sem. (antes #188)

Más adelante (2)

  • 2026-08-14 viernes en 3 meses #111 jm-checador

    (cierre condicional) Sacar los campos descanso, dia_extra, tipo_extra (y opcionalmente los horarios semanales) del bloque if($usuario->admin) en src/Template/Element/forma_empleados.ctp:15 para que admins de sucursal también puedan editarlos. Alternativa: agregarlo al form de jm-contabilidad (empleados/forma.blade.php), que hoy no lo expone.

  • 2027-03-01 lunes en 9 meses #177 cobros-recurrentes

    (recordatorio) Cobrar a Aarón la anualidad de hosting holbox.val-soft.com para el ciclo mayo 2027 → abril 2028 ($3,600 MXN). Antes de cobrar: validar que el costo en DigitalOcean siga en $14 USD/mes y que el TC USD/MXN no haya erosionado el margen; ajustar tarifa con aviso previo a Aarón si hace falta.