Skip to main content
Forma B — append-only, particionada mensual. Nada se escribe acá de forma síncrona: el endpoint autentica, valida, encola y devuelve 202 en menos de 100 ms (ADR-013). Esta tabla la escribe el procesador, detrás de la cola. Dos columnas de tiempo, y la distinción importa: occurred_at la declara el llamador y puede venir atrasada o desordenada; received_at la ponemos nosotros y es la única que no se puede falsear.

Clave primaria

Atributos específicos

Claves foráneas

Atributos base

Restricciones e índices

RLS y particionamiento

RLS activa por tenant_id. Particionada RANGE mensual sobre occurred_at y designada como tal en standards/data.md §4. Un cron pre-crea N+2 meses; la partición DEFAULT alerta ante cualquier fila. Retención por plan: 13 meses starter, 25 pro, 37+ enterprise. Antes de soltar una partición se exporta a Storage como NDJSON comprimido; los agregados se conservan para siempre. Anti-ejemplo: SELECT * FROM core.tracked_event WHERE contact_id = $1 — INCORRECTO. Agregar AND occurred_at >= ….

Registro de cambios