GOA-004 — Protocolo de eventos de GOA
Objetivo
Definir cómo se comunican los órganos de GOA sin acoplarse directamente entre sí.
Principio central
Los órganos no deben llamarse arbitrariamente entre ellos; deben intercambiar eventos estructurados.
Esto permite:
- sustituir componentes;
- registrar trazabilidad;
- reproducir incidentes;
- simular órganos;
- probar diferentes modelos;
- aislar fallos.
Estructura mínima de un evento
{
"event_id": "evt_...",
"event_type": "observation.created",
"timestamp": "2026-08-01T23:00:00-05:00",
"source": "observer",
"target": ["world_model", "memory"],
"priority": 50,
"confidence": 0.86,
"correlation_id": "corr_...",
"privacy_level": "household",
"payload": {}
}
Campos obligatorios
event_idevent_typetimestampsourceprioritypayload
Campos recomendados
targetconfidencecorrelation_idcausation_idprivacy_levelexpires_atschema_version
Familias de eventos
Percepción
perception.receivedperception.failedsensor.status_changed
Observación
observation.createdobservation.updatedobservation.invalidated
Inferencia
inference.proposedinference.strengthenedinference.refuted
Estado interno
internal_state.updatedneed.threshold_reachedrest.requested
Motivación
goal.proposedgoal.updatedgoal.expired
Planificación
action.proposedaction.selectedaction.deferredaction.rejected
Seguridad
safety.approvedsafety.limitedsafety.rejectedsafety.emergency_stop
Acción
action.startedaction.completedaction.failed
Memoria
episode.createdmemory.consolidatedmemory.archivedmemory.corrected
Narrativa
narrative.fragment_creatednarrative.fragment_revisedidentity.change_proposed
Sociedad
relationship.updatedpermission.requestedpermission.grantedpermission.denied
Prioridad
Escala inicial de 0 a 100.
- 90–100: emergencia y seguridad;
- 70–89: integridad física y errores críticos;
- 50–69: interacción activa;
- 30–49: aprendizaje y memoria;
- 10–29: reflexión y mantenimiento;
- 0–9: tareas diferibles.
Reglas
- 1. Seguridad puede interrumpir cualquier flujo.
- 2. Todo evento debe ser idempotente o detectable como duplicado.
- 3. Los eventos sensibles deben indicar privacidad.
- 4. Las inferencias deben incluir confianza.
- 5. Las acciones deben enlazar con su decisión y resultado.
- 6. Los órganos no deben modificar silenciosamente datos ajenos.
- 7. Todo cambio de identidad requiere trazabilidad.
- 8. Los eventos pueden expirar si pierden relevancia.
Flujo principal
- 1. Percepción emite
perception.received. - 2. Observador emite
observation.created. - 3. Modelos actualizan contexto.
- 4. Estado interno emite
internal_state.updated. - 5. Motivaciones emiten
goal.proposed. - 6. Planificador emite
action.selected. - 7. Supervisor emite
safety.approvedosafety.rejected. - 8. Controladores emiten eventos de acción.
- 9. Memoria crea episodio.
- 10. Narrador crea o revisa un fragmento autobiográfico.
Transporte inicial
Para el simulador se recomienda un bus de eventos en memoria.
Después puede evolucionar a:
- colas persistentes;
- procesos separados;
- comunicación local entre Raspberry Pi y ESP32;
- registro auditable.
Preguntas abiertas
- ¿Qué eventos deben persistirse?
- ¿Cómo se evita una tormenta de eventos?
- ¿Cuándo usar comandos y cuándo eventos?
- ¿Cómo se sincronizan dos organismos?
- ¿Qué eventos pueden viajar fuera de la red local?