{ "_comment": [ "The dataset registry: the one place every pipeline stage agrees on what", "exists. JSON because the Go stages and the Vite app both read it.", "", " id the identifier used end to end, from data// to /thptqg//", " expectedRows exact row count of the built database, not an estimate. The", " inputs are frozen exam results, so a deviation of even one row", " means something changed unintentionally and the assembler", " refuses to publish.", " dbSizeMb usual size of the published database. Required and non-zero:", " the assembler rejects a build that comes out far smaller. It", " is also the memory figure the download gate shows, since the", " browser holds the whole file while the tab is open.", "", "Presentation (titles, labels, SQL presets) lives in web/src/lib/datasets.js", "keyed by id; that file throws at load if the two lists disagree." ], "datasets": [ { "id": "2016", "expectedRows": 877460, "dbSizeMb": 142 }, { "id": "2017", "expectedRows": 861068, "dbSizeMb": 119 } ] }