Medido, no prometido.
Las cifras que publica Klorn, de dónde sale cada una y lo que cada una no puede decirte. Todos los conjuntos y scripts que se mencionan aquí están en el repositorio público.
Tres cifras y sus fuentes
- ≥90%Recall de urgentes, mínimo de CI
Un cambio en el clasificador que baje el recall de urgentes por debajo del 90% en el conjunto sintético de control hace fallar la compilación.
Fuente: eval-floors.ts - 95.5%Precisión de Silent
Medida en el conjunto de correo real etiquetado a mano: de 22 mensajes que Klorn archivó como Silent, 21 estaban etiquetados como silent. Tres ejecuciones el 2026-08-26, idénticas las tres.
Fuente: eval/README.md - 0Acciones sin aprobar
Envíos, borrados definitivos y reenvíos a direcciones externas esperan tu aprobación y dejan un registro vinculado a un hash de lo que salió. Una regla de respuesta automática que configures tú cuenta como esa aprobación.
Aplicado en el código: attention-floor.ts
Sin cifra global de precisión. El conjunto de correo real es anterior a los carriles Meeting e Info: sus etiquetas usan tres carriles, así que no puede puntuar los otros dos, y hay que volver a etiquetarlo con los cinco. Hasta que se vuelva a etiquetar, no citamos a partir de él ninguna cifra global de precisión. La cifra de precisión de Silent de arriba sale del mismo conjunto y tiene los mismos límites.
Cómo se ejecuta la evaluación
Los conjuntos del repositorio
En packages/api/eval/ hay dos conjuntos. El conjunto de correo real (real-eval-set.json) contiene
53 correos reales, etiquetados a mano y limpios de datos personales. El conjunto sintético de control
(judge-eval-set.json) contiene 56 correos inventados sin datos personales.
El ejecutor
Desde packages/api, pnpm eval:real puntúa el clasificador con el conjunto de correo real;
pnpm eval:judge hace lo mismo con el conjunto sintético.
El control en la CI
Cada pull request que cambia el clasificador pasa el conjunto sintético de control por el modelo, con tres mínimos obligatorios: 80% en total, 90% de recall de urgentes y 90% de precisión de Silent. Una ejecución por debajo de cualquier mínimo falla. Si el job no tiene clave de modelo, como en una pull request desde un fork, se omite con un aviso en lugar de darse por superado.
Una segunda comprobación no necesita modelo y se ejecuta en cada ejecución de tests de la CI: la vía rápida basada en reglas y el respaldo por palabras clave deben llegar al 70% en el mismo conjunto, un mensaje urgente no detectado debe caer en Queue y no en Silent, y un mensaje de marketing nunca debe marcarse como urgente.
El conjunto de correo real se puntúa en las mismas pull requests solo como informe. Su carril urgente tiene 4 mensajes etiquetados, demasiado pocos para que un mínimo del 90% signifique algo.
Consulta los conjuntos, el ejecutor y el historial de mediciones en GitHub
Comprobado el 2026-10-14 contra el repositorio. ¿Hay algo mal? Avísanos.