The register
Every estimate this project has ever committed, with the answer that arrived later, and the distance between them.
Each estimate was written to an append-only table before it was compared against anything, with a digest of the estimator source and of its exact inputs. The role that writes them holds INSERT and nothing else, so the ones that turned out badly cannot be withdrawn. A register holding only the estimates that worked would answer a different question than the one asked.
These estimates are not published as findings. The primary outcome is withheld because estimator_recovers failing. PREREGISTRATION.md requires all three gates to pass before any queue estimate is published.
| Freeze date | Q̂ estimated | Q* realised | Error | Mature |
|---|---|---|---|---|
| 2016-06-30 | 1,932 | ≥ 2,564 | -24.7% | yes |
| 2017-06-30 | 2,685 | ≥ 3,350 | -19.9% | yes |
| 2018-06-30 | 2,107 | ≥ 4,156 | -49.3% | no |
| 2019-06-30 | 2,926 | ≥ 3,345 | -12.5% | no |
| 2020-06-30 | 4,165 | ≥ 2,194 | +89.8% | no |
| 2021-06-30 | 3,978 | ≥ 2,170 | +83.3% | no |
| 2022-06-30 | 2,906 | ≥ 2,554 | +13.8% | no |
| 2023-06-30 | 2,803 | ≥ 3,789 | -26.0% | no |
| 2024-06-30 | 2,814 | ≥ 3,974 | -29.2% | no |
Why Q* is written with a ≥
Q* is the realised queue, counted from today's record, in which every trial that has since posted has disclosed both of its dates. It is a lower bound and never the truth: a trial submitted before the freeze date that has still not posted is invisible today exactly as it was invisible then. The bound tightens as postings arrive.
An estimate falling below Q* has contradicted something already on the table, and counts as a failure at any date, mature or not.
The tolerance fixed in advance was 10%. The errors here reach 90%, in both directions, which is why the queue figure is withheld. The cause is the estimator's load-bearing assumption — that the wait distribution does not depend on when a trial was submitted — and the data says it does.