Files
context-manager/docs/LOG.md

2.5 KiB

Schema LOG

Log inmutable de mensajes del sistema TZZR.

Tabla 1: 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
thread_hash CHAR(64) SHA256 del hilo (nullable)
sender_id CHAR(64) Hash del emisor (ref players)
receiver_id CHAR(64) Hash del receptor (ref players)
leader_id CHAR(64) Coordinador multiagente (nullable)
role TEXT Rol del emisor
content TEXT Contenido del mensaje
attachments JSONB Adjuntos
prev_hash CHAR(64) Hash mensaje anterior (cadena integridad)
hashtags CHAR(64)[] Etiquetas asociadas
ambient JSONB Contexto ambiental (nullable)
created_at TIMESTAMPTZ Timestamp

Tabla 2: log.message_refs

Relaciona cada mensaje con su contexto y conocimiento.

Campo Tipo Descripción
id BIGSERIAL Índice incremental
message_hash CHAR(64) Mensaje que se envía
ref_hash CHAR(64) Referencia (mensaje, registro contable, secretaría)
ref_type ENUM context, accountant, secretary
position INT Orden de la referencia
thread_hash CHAR(64) Hilo (nullable)

Tipos de referencia

  • context: Mensajes anteriores incluidos como contexto
  • accountant: Registros de libros contables (conocimiento)
  • secretary: Registros de secretaría (conocimiento)

Inmutabilidad

Ambas tablas:

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

Cadena de integridad

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

Primer mensaje de sesión: prev_hash = NULL

Índices

log.messages

  • session_hash - Mensajes de una sesión
  • thread_hash - Mensajes de un hilo
  • sender_id - Mensajes enviados
  • receiver_id - Mensajes recibidos
  • prev_hash - Cadena de integridad
  • created_at - Orden cronológico
  • hashtags (GIN) - Búsqueda por etiquetas

log.message_refs

  • message_hash - Referencias de un mensaje
  • ref_hash - Uso de una referencia
  • ref_type - Filtrar por tipo
  • thread_hash - Referencias de un hilo

Relaciones externas

  • sender_id, receiver_id, leader_idcore.players
  • hashtagscore.hashtags
  • ref_hash (context) → log.messages
  • ref_hash (accountant) → libros contables
  • ref_hash (secretary) → registros secretaría