Files
context-manager/docs/LOG.md
2025-12-31 20:05:07 +00:00

1.9 KiB

Schema LOG

Log inmutable de mensajes del sistema TZZR.

Tabla: log.messages

Registra todos los mensajes entre usuarios y agentes IA.

Campo Tipo Descripción
id BIGSERIAL Índice incremental
hash CHAR(64) SHA256 único del mensaje
session_hash CHAR(64) SHA256 de la sesión
sender_type ENUM Tipo de emisor: user, agent, orchestrator, system, tool
sender_id CHAR(64) Hash del emisor (referencia a players)
receiver_type ENUM Tipo de receptor: user, agent, orchestrator, system, tool
receiver_id CHAR(64) Hash del receptor (referencia a players)
leader_id CHAR(64) Hash del coordinador en multiagente (nullable)
role TEXT Rol del emisor en el contexto
content TEXT Contenido del mensaje
attachments JSONB Adjuntos (archivos, datos)
prev_hash CHAR(64) Hash del mensaje anterior (cadena de integridad)
context_hashes CHAR(64)[] Hashes de mensajes incluidos como contexto
hashtags CHAR(64)[] Hashes de etiquetas asociadas
created_at TIMESTAMPTZ Timestamp de creación

Inmutabilidad

  • INSERT: Permitido
  • UPDATE: Bloqueado por trigger
  • DELETE: Bloqueado por trigger

Cadena de integridad

Cada mensaje referencia al anterior via prev_hash:

msg1.hash = SHA256(msg1)
msg2.prev_hash = msg1.hash
msg2.hash = SHA256(msg2)
msg3.prev_hash = msg2.hash
...

Primer mensaje de sesión: prev_hash = NULL

Índices

  • session_hash - Buscar mensajes de una sesión
  • sender_id - Mensajes enviados por un actor
  • receiver_id - Mensajes recibidos por un actor
  • prev_hash - Seguir cadena de integridad
  • created_at - Ordenar cronológicamente
  • hashtags (GIN) - Buscar por etiquetas

Relaciones externas

  • sender_id y receiver_id referencian hashes de core.players
  • hashtags referencian hashes de core.hashtags