admin.sozu.com · App Clientes SOZU · Landings de proyecto
Esta semana · 22 al 29 de julio Julio completo · 1 al 29 de julio
Contexto · acumulado del mes
Cinco frentes concentraron los 220 commits de estos siete días.
El frente más grande de la semana: se revocó el acceso anon a 79 funciones SECURITY DEFINER, se eliminó el USING(true) de 101 políticas RLS y se cerró la escritura anónima en 7 catálogos. Once migraciones dedicadas solo a esto.
Workflow único de publicación a App Store y Play Store, ícono SOZU en launcher y notificaciones, version gate con aviso y actualización forzada, y firma de release con keystore cifrado en Codemagic.
La edge function lead-formulario-web conecta los formularios de las landings con Contactos del CRM, guardando el dominio real de origen. Se suma el módulo de Meta Ads con señal MQL server-side y atribución en crm_leads_atribucion.
Pago de apartado por SPEI con gate por whitelist, token de reservación como credencial de los links públicos, CSF antes del pago con salto para clientes existentes, y compartir la oferta desde pipeline y prospectos.
Se dieron de baja 46 tablas, 11 funciones y 1 vista marcadas como borrar_*, además de un DROP dinámico que barre los remanentes de dev. Deuda técnica que llevaba meses acumulándose.
Seis frentes concentraron los 694 commits de julio.
48 entregas en admin y 17 migraciones: contactos, negocios con pipelines configurables, tablero Kanban, tareas y citas, carga masiva desde Excel, pool de contactos con permisos por dueño e integración con Meta Ads.
El repositorio sozu-cliente-app arrancó el 7 de julio. En 21 días se construyó la app en Flutter para web, Android e iOS, con paridad funcional con el portal. Ya está enviada a Google Play y en revisión.
34 entregas en admin y 28 migraciones: detalle de cuenta con universo completo de deuda, validación de pagos con 6 estados, borrado lógico con motivo, blindaje de pagos STP y paginación server-side.
Socio Bancario (ventas, inventario, expedientes), Notaría (expediente de desarrollo, descargas, relación de pagos) y Jurídico Fase 2 con bitácora inmutable de actuaciones y bloqueo de cobranza.
32 entregas: rediseño completo, desglose de bodega incluida, esquemas escalonados dinámicos, compartir por link con token de reservación y flujo de pago de apartado por SPEI.
En la última semana: 101 políticas RLS corregidas, 79 funciones SECURITY DEFINER cerradas a anon, y baja de 46 tablas, 11 funciones y 1 vista legacy.
Commits por día en los cuatro repositorios principales durante la semana. Commits por día en los cuatro repositorios principales durante julio. Pasa el cursor sobre cada barra para ver el detalle.
Relación funcionalidad/corrección de 1.3 : 1 esta semana, contra 1.6 : 1 en el mes. El peso de las correcciones subió por el trabajo de seguridad en la base de datos, que se registra como fix aunque sea trabajo estructural planeado.
Relación funcionalidad/corrección de 1.6 : 1 — el equipo trabajó mayoritariamente en construcción, no en apagar incendios.
| Repositorio | Qué contiene | Semana | Mes |
|---|---|---|---|
| sozu-admin | Plataforma administrativa y portales | 122 | 377 |
| sozu-supabase-migrations | Base de datos, RLS y funciones | 51 | 164 |
| landings (7 repos activos) | Sitios públicos de proyecto | 43 | 126 |
| sozu-edge-functions | Backend y API de la app | 26 | 80 |
| sozu-cliente-app | App Clientes en Flutter | 21 | 73 |
122 commits y 109 PRs esta semana. Módulos con mayor actividad: 377 commits y 312 PRs en julio. Módulos con mayor actividad:
origen, mostrando el dominio real de la landing en vez de sozu.com fijo.@vladmandic/human y expediente unificado.crear_expediente_y_bloquear_cobranza.
21 commits en sozu-cliente-app y 26 en sozu-edge-functions. La semana se fue en dejarla lista para publicar.
73 commits en sozu-cliente-app (41 PRs) y 80 en sozu-edge-functions. El repositorio nació el 7 de julio: todo lo que sigue se construyó en 21 días.
cliente-app-version.applicationId configurable desde el dashboard, keystore cifrado en Codemagic, firma de release corregida y reemplazo de file_picker por file_selector, que tenía roto el build.La gestión de ambas cuentas ya está iniciada. Este es el estado al corte:
Cuenta de desarrollador completa y con toda la documentación entregada. La aplicación ya fue enviada para publicación y se encuentra en proceso de revisión por parte de Google.
Tiempo estimado de resolución: aproximadamente 7 días.La cuenta sigue en revisión: existía una cuenta previa de SOZU, por lo que en lugar de crear una nueva se va a retomar la existente actualizando los datos de la organización.
Sin fecha comprometida hasta que Apple valide la información actualizada.cliente-expediente extrae automáticamente los datos de CURP y Acta de Nacimiento al subirlos; la CSF alimenta datos fiscales y cuentas bancarias.cliente-menu arma el menú del portal desde la base de datos, según permisos del rol.cliente-propiedad-detalle calcula el avance de obra por fechas con la misma lógica del portal web.cliente-push-token y notificaciones-push sobre FCM v1, con sonido y vibración en Android y preferencia on/off por cliente.admin-avisos-app envía avisos a clientes por push, email o WhatsApp, calendarizables y con filtros en cascada.
43 commits esta semana sobre 7 repositorios activos, de 30 revisados en landings-sozu y sozu-com.
126 commits en julio sobre 7 repositorios activos, de 30 revisados en landings-sozu y sozu-com.
| Landing | Organización | Último push | Semana | Mes |
|---|---|---|---|---|
| margot-web | landings-sozu | 24 jul | 40 | 57 |
| bottura-web | landings-sozu | 9 jul | 0 | 27 |
| tallwood-web | landings-sozu | 20 jul | 0 | 18 |
| investimento-web | landings-sozu | 22 jul | 2 | 13 |
| daiku | landings-sozu | 9 jul | 0 | 7 |
| server-stp | sozu-com | 17 jul | 0 | 3 |
| sozu-web | landings-sozu | 28 jul | 1 | 1 |
Las landings consumen RPCs públicas de Supabase (landing_margot_rpc, landing_daiku_rpc, landing_bottura_rpc) y sus formularios entran al CRM a través de lead-formulario-web, que desde esta semana registra el dominio real de origen. Los otros 23 repositorios revisados están archivados, sin actividad desde 2022–2023.
51 migraciones esta semana, la mayoría concentradas en seguridad y limpieza. 164 migraciones en julio. Principales bloques:
USING(true) o WITH CHECK(true), es decir, no filtraban nada. Se corrigieron todas.SECURITY DEFINER quedaron sin permiso de ejecución para anon y PUBLIC.EXECUTE a los helpers de autorización con una whitelist explícita.user_has_permission dejó de exigir la tabla legacy menus_roles.personas y cuentas_bancarias; rol de solo lectura georgia_readonly para el agente GeorgIA.borrar_*, más un drop dinámico que barre los remanentes de dev.fecha_actualizacion en las tablas del CRM.SECURITY DEFINER en get_offers_with_agent para evitar statement timeout (57014) y conteo estimado en listados grandes.crear_expediente_demanda y bitácora inmutable de actuaciones.landing_margot_rpc, landing_daiku_rpc y landing_bottura_rpc.Commits productivos por persona esta semana. Haz clic en los encabezados para reordenar. Commits productivos por persona en julio. Haz clic en los encabezados para reordenar.
| Persona | Foco de la semana | Admin | Apps | Edge | BD | Total |
|---|---|---|---|---|---|---|
| Jorge Mendoza | Seguridad de BD, App Clientes y publicación a tiendas. Además: infraestructura, DevOps, DNS, servidores y VPN, configuración de los agentes en Platica, y administración de las herramientas de desarrollo | 22 | 21 | 17 | 32 | 92 |
| Eduardo Araujo | Portal Agente, Portal Embajador y oferta digital | 55 | 0 | 3 | 13 | 71 |
| Sergio García | CRM, carga masiva de contactos e integración Meta Ads | 26 | 0 | 6 | 6 | 38 |
| José Ramón Escobar | Bandejas de ejecución y comisiones externas | 10 | 0 | 0 | 0 | 10 |
| Tomás Peterson | Portal Jurídico Fase 2 y Portal Notaría | 7 | 0 | 0 | 0 | 7 |
| Abel Salazar | Reglas de comisiones | 2 | 0 | 0 | 0 | 2 |
| Persona | Foco principal | Admin | Apps | Edge | BD | Total |
|---|---|---|---|---|---|---|
| Jorge Mendoza | App Clientes, edge functions, seguridad y permisos. Además: infraestructura, DevOps, DNS, servidores y VPN, configuración de los agentes en Platica, y administración de las herramientas de desarrollo | 78 | 73 | 65 | 86 | 302 |
| Eduardo Araujo | Portal Agente, Portal Embajador, oferta digital, UI | 160 | 0 | 5 | 60 | 225 |
| Sergio García | CRM completo e integración Meta Ads | 51 | 0 | 10 | 18 | 79 |
| Tomás Peterson | Portal Jurídico y Portal Notaría | 29 | 0 | 0 | 0 | 29 |
| José Ramón Escobar | Bandejas de ejecución, comisiones, socios bancarios | 24 | 0 | 0 | 0 | 24 |
| gpt-engineer-app | Generación asistida de UI | 24 | 0 | 0 | 0 | 24 |
| Abel Salazar | Embajadores y reglas de comisiones | 11 | 0 | 0 | 0 | 11 |
Trabajo que no se refleja en el conteo de commits, pero que sostiene la operación de todo el equipo.
sozu-admin y las edge functions, Codemagic para la app móvil y Firebase Hosting para el portal del cliente; gestión de secretos, keystores y certificados de firma.sozu-mcp), que expone las herramientas a Platica bajo un token propio y el rol de solo lectura georgia_readonly. El agente nunca escribe en la base de datos.Lo que queda abierto al corte y lo que conviene vigilar.
El revoke masivo de anon tumbó el Portal de Agentes, el Admin y el sitio público el mismo día, y hubo que re-otorgar permisos en caliente con una whitelist. Se resolvió, pero revela que no hay forma de saber qué depende de cada función antes de tocarla. Con 79 funciones y 101 políticas modificadas, pueden quedar rutas rotas que aún nadie ha ejercido.
Los 73 commits del mes en sozu-cliente-app son de un único autor. Toda la app —Flutter, pipeline de Codemagic, firma de release, publicación a tiendas y configuración de Firebase— depende de una sola persona; no hay redundancia de conocimiento sobre el proceso de release.
Google Play tiene la app en revisión con un plazo estimado de 7 días, pero la cuenta de Apple Developer sigue en gestión: se retomará la cuenta preexistente de SOZU con datos actualizados, y ese trámite no tiene fecha comprometida. El lanzamiento en iOS depende de que Apple valide esa información, no del desarrollo.
Volvió a pasar esta semana entre las ramas de seguridad y limpieza, y ya van varias veces en el mes. Con cuatro frentes trabajando sobre el mismo esquema se va a repetir. Un chequeo automático de unicidad en CI antes del merge lo resolvería de raíz.
Aparecieron statement timeouts (57014) en el listado de propiedades y en get_offers_with_agent. Se resolvieron con conteo estimado y SECURITY DEFINER, pero son parches puntuales: no hay una revisión sistemática de planes de ejecución sobre las vistas de mayor volumen.
El flujo de pago dentro de la oferta digital está activo solo para cuentas en whitelist. Falta definir criterios y calendario de apertura general.
El reporte cubre 7 landings activas, pero el acceso a landings-sozu se resolvió apenas esta semana. Conviene confirmar que no queden repositorios fuera del inventario, y que las cuentas de desarrollo tengan membresía formal en la organización en vez de acceso por repositorio suelto.
La validación de identidad usa @vladmandic/human ejecutándose localmente en el navegador. Es buena para experiencia de usuario, pero al correr del lado del cliente no constituye por sí sola una prueba de identidad auditable; conviene definir si se requiere respaldo server-side.