Un turno, un trabajador
El síntoma
Gabriel pide una cosa —«mandale el correo a Sofi y a Gama»— y el asistente **escribe dos correos
y contesta dos veces la misma pregunta**. Venía pasando desde antes y volvió a pasar el 22-sep-2026.
La causa, que no era el modelo
El puente hacía esto: al llegar un pedido, le preguntaba a un modelo rápido cuántos temas distintos
había adentro, abría una tarea por tema, y largaba un trabajador por tarea, todos a la vez. Cada
trabajador recibía el texto completo del pedido, con la aclaración «ocupate sólo de la tuya».
El separador partía «mandale el correo a Sofi y a Gama» en dos temas. Salían dos trabajadores. Los
dos leían el pedido entero. Los dos escribían el correo. Los dos lo mandaban.
No era falta de inteligencia: **dos agentes con permiso de mandar cosas afuera, mirando el mismo
pedido al mismo tiempo, hacen lo mismo dos veces.** Dos personas leyendo el mismo mail y
contestándolo cada una por su lado terminan igual. La idea era ir más rápido; el costo era mandar
dos veces, que en un correo no se deshace.
Lo que se hizo (22-sep-2026)
- Un trabajador por turno. Las tareas se siguen abriendo todas —el tablero es lo que hace que
nada se pierda— pero las resuelve un solo agente, con una respuesta por tarea. Si algo de verdad
tiene que correr aparte, para eso está plant-sesion: una delegación explícita, no un
desdoblamiento automático que nadie pidió.
- Candado de correo repetido, en
mail_enviar.py, pegado a la llamada real de envío: el mismo
cuerpo al mismo destinatario no sale dos veces en doce horas. Se puede forzar con
PLANT_MAIL_IGUAL=1 para un recordatorio a propósito. Existe porque un correo no se borra: si el
cerebro vuelve a equivocarse, el freno tiene que estar donde no dependa de que un modelo razone
bien.
- El candado va después de la tarjeta 👍, no antes. La confirmación termina el proceso y el
envío real es una corrida nueva del mismo comando: chequeando antes, esa segunda corrida chocaba
con la huella de la primera y el correo aprobado no salía nunca.
El circuito de un correo, hoy
- El asistente arma el correo.
- Te lo manda a vos primero, real, con
[REVISAR]en el asunto. Lo abrís en Gmail y ves el
formato exacto, los links y los botones, como le va a llegar al otro. En el cuerpo dice a quién
iría.
- Llega la tarjeta 👍 por WhatsApp con el resumen. Si decís que sí, sale. Si pedís cambios, se
rehace y te llega una previa nueva.
- Recién ahí sale a destino, y el candado de repetido comprueba que ese mismo correo no haya salido
ya.
Pendiente: las previas llegan sin leer. Marcarlas leídas y ponerlas bajo una etiqueta necesita
un permiso de Google que hoy no está dado (gmail.modify); se pide una sola vez con
./scripts/autorizar-google.py. El código ya lo hace en cuanto el permiso exista, y mientras tanto
no falla.
🔗 Conexiones Neuronales
Decisiones/un-turno-un-trabajador