Economic data is revised, so a backtest that reads today's series is reading the future
Macroeconomic series are restated for months after first release. Reading the current series when reconstructing a past decision silently imports knowledge that did not exist, and the resulting backtest is measuring hindsight.
Ask a macro series what GDP growth was in a given quarter and you get today’s answer, not the one available at the time. The revision between them is often large enough to flip the sign of the signal a strategy was keying on.
Alelyon treats the vintage as part of the query rather than an archival detail. Historical reads resolve against the data as published on the date in question, using the archival vintages rather than the current series. Revisions are kept beside the original rather than overwriting it, so the store can answer both “what is true now” and “what was believed then” without ambiguity about which one was asked.
The rule this enforces: never backfill future knowledge into a historical decision path. It sounds obvious written down and is very easy to violate, because the convenient API — fetch the series, index by date — gives the wrong answer by default and gives it silently.
The related failure
Data quality has to be an explicit decision rather than an inference from shape. A non-empty frame is not evidence of a good read. Stale, partial, single-source, delayed, and uncertified states are named individually, because a blank slot beside a filled one reads as “checked, fine” when it usually means “never asked”. An absent measurement is reported as unmeasured, in those words.