Lo que cambia por grupo vive en un solo archivo, y se audita solo
Qué pasó
En la migración de OpenClaw a baileys (septiembre 2026) cada grupo perdió, **sin que ningún error lo
dijera**, dos cosas que sí estaban configuradas:
- Su manual. Vicenzo dejó de ser la Dra. Nieves. El archivo
plant-vicenzo/AGENTS.mdseguía ahí,
entero, pero nadie lo leía: OpenClaw le daba a cada agente su propio workspace y Antigravity usa uno
solo. El asistente contestaba igual, con la personalidad general, y eso no se nota mirando el chat.
- Su voz. OpenClaw tenía una voz por agente (Vicenzo hablaba con voz de médica madura). baileys
quedó con una sola voz para todos los chats.
Gabriel se dio cuenta por dos cosas raras: una respuesta de Vicenzo que sonaba a sistema de tareas, y
un dato de sueño equivocado a la madrugada. Ninguna alarma saltó, porque nada estaba fallando: lo
que estaba pasando es que una configuración había dejado de leerse.
Lo que se decidió
- Una sola fuente de verdad:
plant-interno/config/grupos.json. Ahí está, por grupo: qué hace,
quiénes están, cómo habla, con qué manual, con qué voz, si dibuja tarjetas, si recibe avisos del
tablero. baileys lo lee en caliente desde src/config/grupos.ts; se edita el JSON y cambia al
toque, sin reiniciar ni compilar nada. Antes esto estaba en tres mapas distintos adentro del
código y en un archivo de OpenClaw que ya no se usa.
- Una auditoría diaria:
plant-grupos auditar, a las 9:10 (launchdai.plant.grupos). Sólo
habla si algo se rompió. Verifica, contra la realidad y no contra lo que dice el papel:
- que cada grupo declarado siga enlazado y activo en baileys;
- que el manual exista, no esté vacío y no pase de 12.000 caracteres (arriba de eso se corta al
inyectarlo y se pierde la última parte sin avisar);
- que cada comando que el manual nombra esté instalado (si el manual promete
plant-estudios
y no está, el asistente inventa o falla);
- que la voz tenga forma de voz válida y que el motor exista;
- que las tarjetas declaradas coincidan con lo que baileys tiene guardado;
- que el código siga llamando al archivo: busca
manualDe(,grupoDe(,tieneTarjetas(y
vozParaChat( en los cuatro archivos de baileys que los usan. Si un refactor futuro borra la
llamada, grupos.json queda declarando cosas que ya nadie lee, que es exactamente el error de
- Eso ahora salta al día siguiente.
- Las notas de
Grupos/del cerebro las generaplant-grupos cerebrodesde ese mismo archivo.
No se editan a mano: si la nota y la realidad se separan, gana el archivo que el asistente lee.
Para la próxima sesión que toque esto
- No agregues un grupo escribiéndolo en el código. Se agrega en
config/grupos.jsony se corre
plant-grupos cerebro.
- **Cuando migres algo, la pregunta no es «¿anda?» sino «¿qué había configurado que el sistema nuevo
todavía no lee?»**. Andar, andaba. Lo que se pierde en una migración es lo que estaba bien y
callado: manuales, voces, permisos, rutinas, alias. Listalo antes de migrar y verificalo después.
- Antes de dar por terminado un cambio en los grupos, corré
plant-grupos auditar. Sale 1 si
algo se rompió.
Lo que sigue sin resolverse
- Las voces de ElevenLabs de Finanzas, Personal y Potenciar (
JXKQ929SO0LLl7spbEAI,
QK4xDwo9ESPHA4JNUpX3, gBTPbHzRd0ZmV75Z5Zk4) no se pueden restaurar: la clave de ElevenLabs
no está en esta máquina. Esos tres grupos hablan con la voz general. Quedan anotadas en el archivo
para el día que aparezca la clave.
- La misma idea falta para las rutinas y los comandos: hoy no hay nada que verifique que una
rutina programada sigue corriendo ni que un comando del manual general sigue existiendo.
🔗 Conexiones Neuronales
Decisiones/una-sola-fuente-por-grupo