RESEARCH · 2026-08-04INVESTIGACIÓN · 2026-08-04
AI News Analytics Engine, Measuring a Fix Before Trusting It Motor de AI News Analytics, Medir una Corrección Antes de Confiar en Ella
The learning loop built two days ago ran on a real session today, and what it surfaced, and how carefully each fix was checked before it shipped, is today’s update.
Vocabulary, closed from real cases. Two recognition gaps were closed, neither guessed at, both found from cases the engine actually missed. One was telegraphic phrasing the feed uses that the system simply didn’t recognise; the other was a whole category of market event invisible because the wording used in practice differed from the wording the system expected. Every fix ships with the failing case as a test, plus cases the pattern must not catch, because a pattern that’s too loose does more damage than one that’s too narrow, and nobody sees a false match fail on its own.
A structural bias, found and corrected. The relevance model still discriminated by direction, a piece of an earlier design that contradicted the model’s own principle: relevance says whether a theme moves a stock, not which way, direction belongs to the sentiment model, not this one. It was rebuilt so both directions of the same theme are treated as one, with every derived entry marked as derived and traceable back to what justified it. The change was measured before it was applied: structurally it touches two thirds of the universe, but on real historical decisions it changes almost none of them. Both numbers matter, the first alone would have badly overstated what actually happened.
An override that settles by data, not argument. A mechanism now exists for the cases where the operator’s judgment runs ahead of what the history has had time to show. Overrides live in their own file, separate from anything measured, each carrying a date, a reason, and the measurement result recorded alongside it, even when the measurement disagrees. They survive rebuilds and can be scored independently later, so in a few months the record settles the question with data instead of whoever argues longer.
A channel for what the system never saw. The operator can now flag a case three ways: something already in the log, a headline the system never saw, or simply this moved and we missed it, with no headline to point at. Every route resolves against what the engine actually recorded rather than anyone’s memory of it, and the third route reports what the system did see, including when the answer is nothing, which is a different problem entirely from getting it wrong. Every flag raised is now counted, alongside how many the measurement later backed and how long that took, a number with no other source.
Diagnostics, corrected twice. The diagnostic itself needed two passes, the second because the first one over-corrected. It now answers two separate questions instead of blurring them together: whether the profile covers that class of news at all, and what it actually offered in this specific case. A separate bug was found where the loop was reading a different profile than the one the engine actually decides on, diagnosing against something that was never in use.
Discipline unchanged: nothing in this loop changes what the engine trades on its own, and seven test suites ran green before any of it shipped.
El circuito de aprendizaje construido hace dos días corrió sobre una sesión real hoy, y lo que reveló, y con cuánto cuidado se verificó cada corrección antes de publicarse, es la actualización de hoy.
Vocabulario, cerrado desde casos reales. Se cerraron dos huecos de reconocimiento, ninguno adivinado, ambos encontrados a partir de casos que el motor realmente dejó pasar. Uno era una redacción telegráfica que usa el feed y que el sistema simplemente no reconocía; el otro era una categoría entera de evento de mercado invisible porque la redacción usada en la práctica difería de la que el sistema esperaba. Cada corrección se entrega con el caso que falló como prueba, más casos que el patrón NO debe capturar, porque un patrón demasiado laxo hace más daño que uno demasiado estrecho, y nadie ve fallar por sí sola una coincidencia falsa.
Un sesgo estructural, encontrado y corregido. El modelo de relevancia todavía discriminaba por dirección, un resto de un diseño anterior que contradecía el propio principio del modelo: relevancia dice si un tema mueve una acción, no en qué dirección, la dirección le pertenece al modelo de sentimiento, no a este. Se reconstruyó para que ambas direcciones del mismo tema se traten como una sola, con cada entrada derivada marcada como derivada y rastreable hasta lo que la justificó. El cambio se midió antes de aplicarse: estructuralmente toca dos tercios del universo, pero sobre decisiones históricas reales cambia casi ninguna. Ambos números importan, el primero solo habría exagerado seriamente lo que realmente ocurrió.
Una anulación que se resuelve con datos, no con argumentos. Ahora existe un mecanismo para los casos donde el juicio del operador va por delante de lo que el historial ha tenido tiempo de mostrar. Las anulaciones viven en su propio archivo, separado de todo lo medido, cada una con una fecha, una razón, y el resultado de la medición registrado junto a ella, incluso cuando la medición no está de acuerdo. Sobreviven a las reconstrucciones y pueden puntuarse por separado más adelante, así que en unos meses el registro resuelve la pregunta con datos en vez de con quien argumente más tiempo.
Un canal para lo que el sistema nunca vio. El operador ahora puede marcar un caso de tres formas: algo que ya está en el registro, un titular que el sistema nunca vio, o simplemente esto se movió y no lo captamos, sin ningún titular al cual apuntar. Cada ruta se resuelve contra lo que el motor realmente registró en vez de contra el recuerdo de nadie, y la tercera ruta reporta lo que el sistema sí vio, incluyendo cuando la respuesta es nada, que es un problema distinto por completo a haberlo captado mal. Cada marca levantada ahora se cuenta, junto con cuántas respaldó después la medición y cuánto tiempo tomó eso, un número que no tiene ninguna otra fuente.
Diagnósticos, corregidos dos veces. El propio diagnóstico necesitó dos pasadas, la segunda porque la primera corrección se pasó de largo. Ahora responde dos preguntas distintas en vez de mezclarlas: si el perfil cubre esa clase de noticia en absoluto, y qué ofreció realmente en este caso específico. Se encontró un error separado donde el circuito estaba leyendo un perfil distinto al que realmente usa el motor para decidir, diagnosticando contra algo que nunca estuvo en uso.
Disciplina sin cambios: nada en este circuito cambia por sí solo lo que el motor opera, y siete suites de prueba corrieron en verde antes de que se publicara cualquiera de estos cambios.