Update log.messages: owner_id, players_id, master_player, flag_id, items, loc_id

This commit is contained in:
ARCHITECT
2026-01-01 12:16:39 +00:00
parent f52fd1fefc
commit ea5ab804c8
2 changed files with 33 additions and 14 deletions

View File

@@ -12,14 +12,18 @@ Registra todos los mensajes entre usuarios y agentes IA.
| 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) |
| owner_id | CHAR(64) | Emisor del mensaje (→ ply) |
| players_id | CHAR(64)[] | Receptores (→ ply) |
| master_player | CHAR(64) | Líder/coordinador (→ ply, 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 |
| hashtags | CHAR(64)[] | Etiquetas (→ hst) |
| flag_id | CHAR(64) | Jurisdicción (→ flg, nullable) |
| master_item_id | CHAR(64) | Item principal (→ itm, nullable) |
| item_id | CHAR(64)[] | Items relacionados (→ itm) |
| loc_id | CHAR(64) | Ubicación (→ loc, nullable) |
| ambient | JSONB | Contexto ambiental (nullable) |
| created_at | TIMESTAMPTZ | Timestamp |
@@ -65,11 +69,15 @@ Primer mensaje de sesión: `prev_hash = NULL`
### log.messages
- `session_hash` - Mensajes de una sesión
- `thread_hash` - Mensajes de un hilo
- `sender_id` - Mensajes enviados
- `receiver_id` - Mensajes recibidos
- `owner_id` - Mensajes enviados por
- `master_player` - Mensajes con líder
- `prev_hash` - Cadena de integridad
- `created_at` - Orden cronológico
- `hashtags` (GIN) - Búsqueda por etiquetas
- `players_id` (GIN) - Búsqueda por receptores
- `item_id` (GIN) - Búsqueda por items
- `flag_id` - Filtrar por jurisdicción
- `loc_id` - Filtrar por ubicación
### log.message_refs
- `message_hash` - Referencias de un mensaje
@@ -77,10 +85,13 @@ Primer mensaje de sesión: `prev_hash = NULL`
- `ref_type` - Filtrar por tipo
- `thread_hash` - Referencias de un hilo
## Relaciones externas
## Relaciones externas (Sistema de Componentes TZZR)
- `sender_id`, `receiver_id`, `leader_id``core.players`
- `hashtags``core.hashtags`
- `owner_id`, `players_id`, `master_player``ply` (Players)
- `hashtags``hst` (Hash Semantic Tagging)
- `flag_id``flg` (Flags/Jurisdicciones)
- `master_item_id`, `item_id``itm` (Items)
- `loc_id``loc` (Locations)
- `ref_hash` (context) → `log.messages`
- `ref_hash` (accountant) → libros contables
- `ref_hash` (secretary) → registros secretaría

View File

@@ -20,25 +20,33 @@ CREATE TABLE log.messages (
hash CHAR(64) UNIQUE NOT NULL,
session_hash CHAR(64) NOT NULL,
thread_hash CHAR(64),
sender_id CHAR(64) NOT NULL,
receiver_id CHAR(64) NOT NULL,
leader_id CHAR(64),
owner_id CHAR(64) NOT NULL,
players_id CHAR(64)[] DEFAULT '{}',
master_player CHAR(64),
role TEXT,
content TEXT NOT NULL,
attachments JSONB DEFAULT '{}',
prev_hash CHAR(64),
hashtags CHAR(64)[] DEFAULT '{}',
flag_id CHAR(64),
master_item_id CHAR(64),
item_id CHAR(64)[] DEFAULT '{}',
loc_id CHAR(64),
ambient JSONB,
created_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE INDEX idx_messages_session ON log.messages(session_hash);
CREATE INDEX idx_messages_thread ON log.messages(thread_hash);
CREATE INDEX idx_messages_sender ON log.messages(sender_id);
CREATE INDEX idx_messages_receiver ON log.messages(receiver_id);
CREATE INDEX idx_messages_owner ON log.messages(owner_id);
CREATE INDEX idx_messages_master_player ON log.messages(master_player);
CREATE INDEX idx_messages_prev ON log.messages(prev_hash);
CREATE INDEX idx_messages_created ON log.messages(created_at);
CREATE INDEX idx_messages_hashtags ON log.messages USING gin(hashtags);
CREATE INDEX idx_messages_players ON log.messages USING gin(players_id);
CREATE INDEX idx_messages_items ON log.messages USING gin(item_id);
CREATE INDEX idx_messages_flag ON log.messages(flag_id);
CREATE INDEX idx_messages_loc ON log.messages(loc_id);
-- ============================================
-- Tabla 2: message_refs