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 portenant_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 >= ….