tools/check_catalog_count.py compares the live catalog against a constant taken from the paper:
PAPER_DECLARED_COUNT = 83 # arXiv:2606.09686
n_ssot = 109 # live SSOT, today
Every run therefore prints:
WARN: SSOT (109) != paper count (83). An erratum to arXiv:2606.09686 is required
(see ERRATA_2026-06-14.md). Canonical live count is 109.
A warning that is always on is not a warning. The file's own comment records that the value was corrected once (84 -> 83, 2026-08-01) to stop it crying wolf; the structure still does, because the ladder grows and the paper does not.
What is not the cause. I checked whether the MIN_ROWS = 109 floor I added in #2443 introduced this. It did not: --strict-paper returns exit 3 both before and after that commit, and the WARN predates it. The floor changes the outcome only where n_ssot == 83 exactly, which would mean deliberately deleting 26 rows.
Options, none of which is mine to pick:
- Make the constant a range or a ratchet — the paper count is a floor the catalog may exceed, and only shrinking below it is a failure.
- Fire the WARN once, on the transition, rather than on every run — needs somewhere to record "already reported at 109".
- Issue the erratum, and move the constant to whatever the erratum says.
Option 1 is the smallest and matches the house ratchet pattern. Option 3 is the only one that makes the sentence true.
Refs #2465
Boundary
tools/check_catalog_count.py
tools/check_catalog_count.pycompares the live catalog against a constant taken from the paper:Every run therefore prints:
A warning that is always on is not a warning. The file's own comment records that the value was corrected once (84 -> 83, 2026-08-01) to stop it crying wolf; the structure still does, because the ladder grows and the paper does not.
What is not the cause. I checked whether the
MIN_ROWS = 109floor I added in #2443 introduced this. It did not:--strict-paperreturns exit 3 both before and after that commit, and the WARN predates it. The floor changes the outcome only wheren_ssot == 83exactly, which would mean deliberately deleting 26 rows.Options, none of which is mine to pick:
Option 1 is the smallest and matches the house ratchet pattern. Option 3 is the only one that makes the sentence true.
Refs #2465
Boundary
tools/check_catalog_count.py