THE HARD PART
What could not be hand-waved
Storing every evaluation is what makes the system honest, and it is also what makes it heavy. Five and a half million rows of factor data does not fit a naive schema, and a scanner that blocks on writes stops being a scanner.
THE RESPONSE
How the risk was addressed
Write-ahead journaling, indexes chosen for the queries that are actually run (symbol plus timeframe, newest first), and batched inserts off the evaluation path. The record of why a signal did not fire is as queryable as the ones that did.