{
  "generated_by": "node research/data-room/audit.mjs",
  "standard": "research/data-room/standard.mjs",
  "conditions": [
    "bytes",
    "shape",
    "count",
    "fixity",
    "provenance",
    "origin",
    "rebuild"
  ],
  "totals": {
    "audited": 6,
    "meeting_all_seven": 3,
    "in_room": 5,
    "withheld": 3,
    "rows": 1140583,
    "bytes": 259327406
  },
  "datasets": [
    {
      "slug": "canvas-proportions",
      "title": "The measured dimensions of catalogued paintings",
      "href": "/data/canvas-proportions/",
      "where": "room",
      "passed": 7,
      "total": 7,
      "published": true,
      "checks": [
        {
          "id": "bytes",
          "title": "BYTES — data is here, in an open format, and every file can actually be served",
          "pass": true,
          "detail": "6 data file(s), 28,610,032 bytes, largest 9.4 MiB"
        },
        {
          "id": "shape",
          "title": "SHAPE — a schema exists and every row satisfies it",
          "pass": true,
          "detail": "720,147 rows checked, 0 violation(s)"
        },
        {
          "id": "count",
          "title": "COUNT — the recorded row count equals the rows in the bytes",
          "pass": true,
          "detail": "720,147 rows across 6 file(s), all counts agree"
        },
        {
          "id": "fixity",
          "title": "FIXITY — every published file matches its recorded sha256 and length",
          "pass": true,
          "detail": "10 file(s) verified by sha256"
        },
        {
          "id": "provenance",
          "title": "PROVENANCE — every source names its publisher, URL, date and licence",
          "pass": true,
          "detail": "5 source(s), each with a licence from the table"
        },
        {
          "id": "origin",
          "title": "ORIGIN — every field says whether it is ours, and redistribution is licensed",
          "pass": true,
          "detail": "13 field(s): 3 built here, 10 redistributed under a licence that permits it"
        },
        {
          "id": "rebuild",
          "title": "REBUILD — a committed generator reproduces these exact bytes",
          "pass": true,
          "detail": "research/data-room/emit/canvas-proportions.mjs (byte-equality proved by: node research/data-room/publish.mjs --check)"
        }
      ],
      "rows": 720147,
      "bytes": 28610032,
      "files": [
        {
          "name": "README.md",
          "bytes": 3906,
          "rows": null
        },
        {
          "name": "paintings-aic.csv",
          "bytes": 256973,
          "rows": 3526
        },
        {
          "name": "paintings-met.csv",
          "bytes": 647726,
          "rows": 8324
        },
        {
          "name": "paintings-nga.csv",
          "bytes": 246425,
          "rows": 4178
        },
        {
          "name": "paintings-wd-1.csv",
          "bytes": 9835954,
          "rows": 240000
        },
        {
          "name": "paintings-wd-2.csv",
          "bytes": 9793468,
          "rows": 240000
        },
        {
          "name": "paintings-wd-3.csv",
          "bytes": 7829486,
          "rows": 224119
        },
        {
          "name": "schema.json",
          "bytes": 4543,
          "rows": null
        },
        {
          "name": "sources.json",
          "bytes": 4815,
          "rows": null
        },
        {
          "name": "validate.mjs",
          "bytes": 15198,
          "rows": null
        }
      ]
    },
    {
      "slug": "hansard-reactions",
      "title": "Hansard Reaction Notation Concordance",
      "href": "/data/hansard-reactions/",
      "where": "room",
      "passed": 4,
      "total": 7,
      "published": false,
      "checks": [
        {
          "id": "bytes",
          "title": "BYTES — data is here, in an open format, and every file can actually be served",
          "pass": true,
          "detail": "222 data file(s), 160,977,198 bytes, largest 2.8 MiB"
        },
        {
          "id": "shape",
          "title": "SHAPE — a schema exists and every row satisfies it",
          "pass": false,
          "detail": "224,023 rows checked, 14 violation(s)"
        },
        {
          "id": "count",
          "title": "COUNT — the recorded row count equals the rows in the bytes",
          "pass": true,
          "detail": "224,023 rows across 222 file(s), all counts agree"
        },
        {
          "id": "fixity",
          "title": "FIXITY — every published file matches its recorded sha256 and length",
          "pass": true,
          "detail": "226 file(s) verified by sha256"
        },
        {
          "id": "provenance",
          "title": "PROVENANCE — every source names its publisher, URL, date and licence",
          "pass": false,
          "detail": "parlparse-commons-debates-xml: no title; parlparse-commons-debates-xml: no publisher; parlparse-commons-debates-xml: no accessed; parlparse-commons-debates-xml: no licence_id; parlparse-commons-debates-xml: no licence_basis; uk-parliament-historic-hansard-html: no title; uk-parliament-historic-hansard-html: no publisher; uk-parliament-historic-hansard-html: no accessed; uk-parliament-historic-hansard-html: no licence_id; uk-parliament-historic-hansard-html: no licence_basis"
        },
        {
          "id": "origin",
          "title": "ORIGIN — every field says whether it is ours, and redistribution is licensed",
          "pass": false,
          "detail": "kind: x-origin is undefined, must be \"built\" or \"redistributed\"; date: x-origin is undefined, must be \"built\" or \"redistributed\"; house: x-origin is undefined, must be \"built\" or \"redistributed\"; url: x-origin is undefined, must be \"built\" or \"redistributed\"; section: x-origin is undefined, must be \"built\" or \"redistributed\"; file: x-origin is undefined, must be \"built\" or \"redistributed\"; sha256: x-origin is undefined, must be \"built\" or \"redistributed\"; speech_id: x-origin is undefined, must be \"built\" or \"redistributed\"; colnum: x-origin is undefined, must be \"built\" or \"redistributed\"; heading: x-origin is undefined, must be \"built\" or \"redistributed\"; cue_speaker: x-origin is undefined, must be \"built\" or \"redistributed\"; cue_text: x-origin is undefined, must be \"built\" or \"redistributed\"; preceding_speaker: x-origin is undefined, must be \"built\" or \"redistributed\"; preceding_text: x-origin is undefined, must be \"built\" or \"redistributed\"; preceding_id: x-origin is undefined, must be \"built\" or \"redistributed\""
        },
        {
          "id": "rebuild",
          "title": "REBUILD — a committed generator reproduces these exact bytes",
          "pass": true,
          "detail": "research/data-room/emit/hansard-reactions.mjs (byte-equality proved by: node research/data-room/publish.mjs --check)"
        }
      ],
      "rows": 224023,
      "bytes": 160977198,
      "files": [
        {
          "name": "README.md",
          "bytes": 10997,
          "rows": null
        },
        {
          "name": "cues-1803.jsonl",
          "bytes": 0,
          "rows": 0
        },
        {
          "name": "cues-1804.jsonl",
          "bytes": 4176,
          "rows": 6
        },
        {
          "name": "cues-1805.jsonl",
          "bytes": 0,
          "rows": 0
        },
        {
          "name": "cues-1806.jsonl",
          "bytes": 2895,
          "rows": 4
        },
        {
          "name": "cues-1807.jsonl",
          "bytes": 4095,
          "rows": 6
        },
        {
          "name": "cues-1808.jsonl",
          "bytes": 0,
          "rows": 0
        },
        {
          "name": "cues-1809.jsonl",
          "bytes": 7766,
          "rows": 11
        },
        {
          "name": "cues-1810.jsonl",
          "bytes": 2218,
          "rows": 3
        },
        {
          "name": "cues-1811.jsonl",
          "bytes": 1355,
          "rows": 2
        },
        {
          "name": "cues-1812.jsonl",
          "bytes": 4275,
          "rows": 6
        },
        {
          "name": "cues-1813.jsonl",
          "bytes": 693,
          "rows": 1
        },
        {
          "name": "cues-1814.jsonl",
          "bytes": 2697,
          "rows": 4
        },
        {
          "name": "cues-1815.jsonl",
          "bytes": 26163,
          "rows": 38
        },
        {
          "name": "cues-1817.jsonl",
          "bytes": 37530,
          "rows": 55
        },
        {
          "name": "cues-1818.jsonl",
          "bytes": 45461,
          "rows": 69
        },
        {
          "name": "cues-1819.jsonl",
          "bytes": 24761,
          "rows": 36
        },
        {
          "name": "cues-1820.jsonl",
          "bytes": 10009,
          "rows": 15
        },
        {
          "name": "cues-1821.jsonl",
          "bytes": 13521,
          "rows": 20
        },
        {
          "name": "cues-1822.jsonl",
          "bytes": 53107,
          "rows": 79
        },
        {
          "name": "cues-1823.jsonl",
          "bytes": 38910,
          "rows": 56
        },
        {
          "name": "cues-1824.jsonl",
          "bytes": 41819,
          "rows": 62
        },
        {
          "name": "cues-1825.jsonl",
          "bytes": 65600,
          "rows": 95
        },
        {
          "name": "cues-1826.jsonl",
          "bytes": 11883,
          "rows": 17
        },
        {
          "name": "cues-1827.jsonl",
          "bytes": 49107,
          "rows": 71
        },
        {
          "name": "cues-1828.jsonl",
          "bytes": 23333,
          "rows": 34
        },
        {
          "name": "cues-1830.jsonl",
          "bytes": 27068,
          "rows": 39
        },
        {
          "name": "cues-1831.jsonl",
          "bytes": 17926,
          "rows": 26
        },
        {
          "name": "cues-1832.jsonl",
          "bytes": 6291,
          "rows": 9
        },
        {
          "name": "cues-1833.jsonl",
          "bytes": 8442,
          "rows": 12
        },
        {
          "name": "cues-1834.jsonl",
          "bytes": 5056,
          "rows": 7
        },
        {
          "name": "cues-1835.jsonl",
          "bytes": 19746,
          "rows": 28
        },
        {
          "name": "cues-1836.jsonl",
          "bytes": 11072,
          "rows": 16
        },
        {
          "name": "cues-1837.jsonl",
          "bytes": 8982,
          "rows": 13
        },
        {
          "name": "cues-1838.jsonl",
          "bytes": 6146,
          "rows": 9
        },
        {
          "name": "cues-1839.jsonl",
          "bytes": 6090,
          "rows": 9
        },
        {
          "name": "cues-1840.jsonl",
          "bytes": 5512,
          "rows": 8
        },
        {
          "name": "cues-1841.jsonl",
          "bytes": 15362,
          "rows": 22
        },
        {
          "name": "cues-1842.jsonl",
          "bytes": 16340,
          "rows": 24
        },
        {
          "name": "cues-1843.jsonl",
          "bytes": 11503,
          "rows": 17
        },
        {
          "name": "cues-1844.jsonl",
          "bytes": 14710,
          "rows": 21
        },
        {
          "name": "cues-1845.jsonl",
          "bytes": 20015,
          "rows": 28
        },
        {
          "name": "cues-1846.jsonl",
          "bytes": 14044,
          "rows": 20
        },
        {
          "name": "cues-1847.jsonl",
          "bytes": 16707,
          "rows": 24
        },
        {
          "name": "cues-1848.jsonl",
          "bytes": 16842,
          "rows": 24
        },
        {
          "name": "cues-1849.jsonl",
          "bytes": 28822,
          "rows": 41
        },
        {
          "name": "cues-1850.jsonl",
          "bytes": 22451,
          "rows": 32
        },
        {
          "name": "cues-1851.jsonl",
          "bytes": 42758,
          "rows": 60
        },
        {
          "name": "cues-1852.jsonl",
          "bytes": 40104,
          "rows": 58
        },
        {
          "name": "cues-1853.jsonl",
          "bytes": 23933,
          "rows": 34
        },
        {
          "name": "cues-1854.jsonl",
          "bytes": 14562,
          "rows": 21
        },
        {
          "name": "cues-1855.jsonl",
          "bytes": 15453,
          "rows": 22
        },
        {
          "name": "cues-1856.jsonl",
          "bytes": 21064,
          "rows": 30
        },
        {
          "name": "cues-1857.jsonl",
          "bytes": 10082,
          "rows": 15
        },
        {
          "name": "cues-1858.jsonl",
          "bytes": 21591,
          "rows": 32
        },
        {
          "name": "cues-1859.jsonl",
          "bytes": 19445,
          "rows": 29
        },
        {
          "name": "cues-1860.jsonl",
          "bytes": 25757,
          "rows": 38
        },
        {
          "name": "cues-1861.jsonl",
          "bytes": 19827,
          "rows": 29
        },
        {
          "name": "cues-1862.jsonl",
          "bytes": 27131,
          "rows": 40
        },
        {
          "name": "cues-1863.jsonl",
          "bytes": 19657,
          "rows": 29
        },
        {
          "name": "cues-1864.jsonl",
          "bytes": 23133,
          "rows": 34
        },
        {
          "name": "cues-1865.jsonl",
          "bytes": 11617,
          "rows": 17
        },
        {
          "name": "cues-1866.jsonl",
          "bytes": 14374,
          "rows": 21
        },
        {
          "name": "cues-1867.jsonl",
          "bytes": 20761,
          "rows": 31
        },
        {
          "name": "cues-1868.jsonl",
          "bytes": 30295,
          "rows": 46
        },
        {
          "name": "cues-1869.jsonl",
          "bytes": 17754,
          "rows": 26
        },
        {
          "name": "cues-1870.jsonl",
          "bytes": 20877,
          "rows": 31
        },
        {
          "name": "cues-1871.jsonl",
          "bytes": 37496,
          "rows": 55
        },
        {
          "name": "cues-1872.jsonl",
          "bytes": 16324,
          "rows": 24
        },
        {
          "name": "cues-1873.jsonl",
          "bytes": 26735,
          "rows": 39
        },
        {
          "name": "cues-1874.jsonl",
          "bytes": 21181,
          "rows": 31
        },
        {
          "name": "cues-1875.jsonl",
          "bytes": 20388,
          "rows": 30
        },
        {
          "name": "cues-1876.jsonl",
          "bytes": 23479,
          "rows": 34
        },
        {
          "name": "cues-1877.jsonl",
          "bytes": 33294,
          "rows": 49
        },
        {
          "name": "cues-1878.jsonl",
          "bytes": 15873,
          "rows": 23
        },
        {
          "name": "cues-1879.jsonl",
          "bytes": 45173,
          "rows": 67
        },
        {
          "name": "cues-1880.jsonl",
          "bytes": 42718,
          "rows": 63
        },
        {
          "name": "cues-1881.jsonl",
          "bytes": 55961,
          "rows": 82
        },
        {
          "name": "cues-1882.jsonl",
          "bytes": 79176,
          "rows": 114
        },
        {
          "name": "cues-1883.jsonl",
          "bytes": 60783,
          "rows": 88
        },
        {
          "name": "cues-1884.jsonl",
          "bytes": 100615,
          "rows": 145
        },
        {
          "name": "cues-1885.jsonl",
          "bytes": 54864,
          "rows": 82
        },
        {
          "name": "cues-1886.jsonl",
          "bytes": 99923,
          "rows": 145
        },
        {
          "name": "cues-1887.jsonl",
          "bytes": 127803,
          "rows": 185
        },
        {
          "name": "cues-1888.jsonl",
          "bytes": 67663,
          "rows": 99
        },
        {
          "name": "cues-1889.jsonl",
          "bytes": 51002,
          "rows": 74
        },
        {
          "name": "cues-1890.jsonl",
          "bytes": 46656,
          "rows": 69
        },
        {
          "name": "cues-1891.jsonl",
          "bytes": 46096,
          "rows": 69
        },
        {
          "name": "cues-1892.jsonl",
          "bytes": 1320,
          "rows": 2
        },
        {
          "name": "cues-1893.jsonl",
          "bytes": 105420,
          "rows": 152
        },
        {
          "name": "cues-1894.jsonl",
          "bytes": 37406,
          "rows": 55
        },
        {
          "name": "cues-1895.jsonl",
          "bytes": 223334,
          "rows": 340
        },
        {
          "name": "cues-1896.jsonl",
          "bytes": 700166,
          "rows": 1028
        },
        {
          "name": "cues-1897.jsonl",
          "bytes": 959943,
          "rows": 1418
        },
        {
          "name": "cues-1898.jsonl",
          "bytes": 16596,
          "rows": 24
        },
        {
          "name": "cues-1899.jsonl",
          "bytes": 3450,
          "rows": 5
        },
        {
          "name": "cues-1900.jsonl",
          "bytes": 42604,
          "rows": 61
        },
        {
          "name": "cues-1901.jsonl",
          "bytes": 70790,
          "rows": 104
        },
        {
          "name": "cues-1902.jsonl",
          "bytes": 72074,
          "rows": 103
        },
        {
          "name": "cues-1903.jsonl",
          "bytes": 41280,
          "rows": 62
        },
        {
          "name": "cues-1904.jsonl",
          "bytes": 95040,
          "rows": 137
        },
        {
          "name": "cues-1905.jsonl",
          "bytes": 64291,
          "rows": 93
        },
        {
          "name": "cues-1906.jsonl",
          "bytes": 56454,
          "rows": 82
        },
        {
          "name": "cues-1907.jsonl",
          "bytes": 71894,
          "rows": 104
        },
        {
          "name": "cues-1908.jsonl",
          "bytes": 62012,
          "rows": 89
        },
        {
          "name": "cues-1909.jsonl",
          "bytes": 58221,
          "rows": 84
        },
        {
          "name": "cues-1910.jsonl",
          "bytes": 49099,
          "rows": 70
        },
        {
          "name": "cues-1911.jsonl",
          "bytes": 111170,
          "rows": 161
        },
        {
          "name": "cues-1912.jsonl",
          "bytes": 122788,
          "rows": 175
        },
        {
          "name": "cues-1913.jsonl",
          "bytes": 118768,
          "rows": 170
        },
        {
          "name": "cues-1914.jsonl",
          "bytes": 165690,
          "rows": 237
        },
        {
          "name": "cues-1915.jsonl",
          "bytes": 53366,
          "rows": 77
        },
        {
          "name": "cues-1916.jsonl",
          "bytes": 93117,
          "rows": 134
        },
        {
          "name": "cues-1917.jsonl",
          "bytes": 59360,
          "rows": 85
        },
        {
          "name": "cues-1918.jsonl",
          "bytes": 64401,
          "rows": 92
        },
        {
          "name": "cues-1919.jsonl",
          "bytes": 1280722,
          "rows": 1652
        },
        {
          "name": "cues-1920.jsonl",
          "bytes": 999555,
          "rows": 1310
        },
        {
          "name": "cues-1921.jsonl",
          "bytes": 497297,
          "rows": 653
        },
        {
          "name": "cues-1922.jsonl",
          "bytes": 1310435,
          "rows": 1687
        },
        {
          "name": "cues-1923.jsonl",
          "bytes": 908652,
          "rows": 1163
        },
        {
          "name": "cues-1924.jsonl",
          "bytes": 1684793,
          "rows": 2172
        },
        {
          "name": "cues-1925.jsonl",
          "bytes": 1428165,
          "rows": 1839
        },
        {
          "name": "cues-1926.jsonl",
          "bytes": 1688983,
          "rows": 2190
        },
        {
          "name": "cues-1927.jsonl",
          "bytes": 1814292,
          "rows": 2343
        },
        {
          "name": "cues-1928.jsonl",
          "bytes": 1295274,
          "rows": 1664
        },
        {
          "name": "cues-1929.jsonl",
          "bytes": 1039331,
          "rows": 1361
        },
        {
          "name": "cues-1930.jsonl",
          "bytes": 2534345,
          "rows": 3321
        },
        {
          "name": "cues-1931.jsonl",
          "bytes": 2888272,
          "rows": 3721
        },
        {
          "name": "cues-1932.jsonl",
          "bytes": 1480382,
          "rows": 1879
        },
        {
          "name": "cues-1933.jsonl",
          "bytes": 786805,
          "rows": 999
        },
        {
          "name": "cues-1934.jsonl",
          "bytes": 700317,
          "rows": 913
        },
        {
          "name": "cues-1935.jsonl",
          "bytes": 531031,
          "rows": 683
        },
        {
          "name": "cues-1936.jsonl",
          "bytes": 1011153,
          "rows": 1311
        },
        {
          "name": "cues-1937.jsonl",
          "bytes": 1064524,
          "rows": 1367
        },
        {
          "name": "cues-1938.jsonl",
          "bytes": 969638,
          "rows": 1247
        },
        {
          "name": "cues-1939.jsonl",
          "bytes": 841532,
          "rows": 1100
        },
        {
          "name": "cues-1940.jsonl",
          "bytes": 516391,
          "rows": 682
        },
        {
          "name": "cues-1941.jsonl",
          "bytes": 344597,
          "rows": 450
        },
        {
          "name": "cues-1942.jsonl",
          "bytes": 527432,
          "rows": 690
        },
        {
          "name": "cues-1943.jsonl",
          "bytes": 823226,
          "rows": 1082
        },
        {
          "name": "cues-1944.jsonl",
          "bytes": 1049687,
          "rows": 1372
        },
        {
          "name": "cues-1945.jsonl",
          "bytes": 993163,
          "rows": 1311
        },
        {
          "name": "cues-1946.jsonl",
          "bytes": 1181691,
          "rows": 1541
        },
        {
          "name": "cues-1947.jsonl",
          "bytes": 2154178,
          "rows": 2913
        },
        {
          "name": "cues-1948.jsonl",
          "bytes": 1278027,
          "rows": 1704
        },
        {
          "name": "cues-1949.jsonl",
          "bytes": 1504254,
          "rows": 1995
        },
        {
          "name": "cues-1950.jsonl",
          "bytes": 1694827,
          "rows": 2262
        },
        {
          "name": "cues-1951.jsonl",
          "bytes": 2137862,
          "rows": 2867
        },
        {
          "name": "cues-1952.jsonl",
          "bytes": 2328535,
          "rows": 3151
        },
        {
          "name": "cues-1953.jsonl",
          "bytes": 1461241,
          "rows": 1960
        },
        {
          "name": "cues-1954.jsonl",
          "bytes": 1161029,
          "rows": 1559
        },
        {
          "name": "cues-1955.jsonl",
          "bytes": 1071741,
          "rows": 1440
        },
        {
          "name": "cues-1956.jsonl",
          "bytes": 1794381,
          "rows": 2442
        },
        {
          "name": "cues-1957.jsonl",
          "bytes": 1187565,
          "rows": 1625
        },
        {
          "name": "cues-1958.jsonl",
          "bytes": 1206473,
          "rows": 1609
        },
        {
          "name": "cues-1959.jsonl",
          "bytes": 1093670,
          "rows": 1466
        },
        {
          "name": "cues-1960.jsonl",
          "bytes": 1101081,
          "rows": 1492
        },
        {
          "name": "cues-1961.jsonl",
          "bytes": 1741776,
          "rows": 2372
        },
        {
          "name": "cues-1962.jsonl",
          "bytes": 1047662,
          "rows": 1420
        },
        {
          "name": "cues-1963.jsonl",
          "bytes": 1056889,
          "rows": 1463
        },
        {
          "name": "cues-1964.jsonl",
          "bytes": 1672695,
          "rows": 2377
        },
        {
          "name": "cues-1965.jsonl",
          "bytes": 2500637,
          "rows": 3536
        },
        {
          "name": "cues-1966.jsonl",
          "bytes": 1945364,
          "rows": 2716
        },
        {
          "name": "cues-1967.jsonl",
          "bytes": 2070429,
          "rows": 2996
        },
        {
          "name": "cues-1968.jsonl",
          "bytes": 1886812,
          "rows": 2673
        },
        {
          "name": "cues-1969.jsonl",
          "bytes": 1976254,
          "rows": 2854
        },
        {
          "name": "cues-1970.jsonl",
          "bytes": 1649946,
          "rows": 2359
        },
        {
          "name": "cues-1971.jsonl",
          "bytes": 2239835,
          "rows": 3128
        },
        {
          "name": "cues-1972.jsonl",
          "bytes": 2018733,
          "rows": 2857
        },
        {
          "name": "cues-1973.jsonl",
          "bytes": 1123624,
          "rows": 1599
        },
        {
          "name": "cues-1974.jsonl",
          "bytes": 1018069,
          "rows": 1390
        },
        {
          "name": "cues-1975.jsonl",
          "bytes": 1354271,
          "rows": 1873
        },
        {
          "name": "cues-1976.jsonl",
          "bytes": 1566070,
          "rows": 2221
        },
        {
          "name": "cues-1977.jsonl",
          "bytes": 1218569,
          "rows": 1720
        },
        {
          "name": "cues-1978.jsonl",
          "bytes": 918816,
          "rows": 1327
        },
        {
          "name": "cues-1979.jsonl",
          "bytes": 797292,
          "rows": 1147
        },
        {
          "name": "cues-1980.jsonl",
          "bytes": 1188357,
          "rows": 1698
        },
        {
          "name": "cues-1981.jsonl",
          "bytes": 890760,
          "rows": 1228
        },
        {
          "name": "cues-1982.jsonl",
          "bytes": 1047638,
          "rows": 1488
        },
        {
          "name": "cues-1983.jsonl",
          "bytes": 1177692,
          "rows": 1661
        },
        {
          "name": "cues-1984.jsonl",
          "bytes": 1625662,
          "rows": 2306
        },
        {
          "name": "cues-1985.jsonl",
          "bytes": 1616810,
          "rows": 2287
        },
        {
          "name": "cues-1986.jsonl",
          "bytes": 1516980,
          "rows": 2154
        },
        {
          "name": "cues-1987.jsonl",
          "bytes": 1633460,
          "rows": 2297
        },
        {
          "name": "cues-1988.jsonl",
          "bytes": 2174825,
          "rows": 3090
        },
        {
          "name": "cues-1989.jsonl",
          "bytes": 2258850,
          "rows": 3270
        },
        {
          "name": "cues-1990.jsonl",
          "bytes": 1861870,
          "rows": 2743
        },
        {
          "name": "cues-1991.jsonl",
          "bytes": 1702243,
          "rows": 2463
        },
        {
          "name": "cues-1992.jsonl",
          "bytes": 1424492,
          "rows": 2049
        },
        {
          "name": "cues-1993.jsonl",
          "bytes": 1907600,
          "rows": 2743
        },
        {
          "name": "cues-1994.jsonl",
          "bytes": 1611810,
          "rows": 2300
        },
        {
          "name": "cues-1995.jsonl",
          "bytes": 1398823,
          "rows": 2012
        },
        {
          "name": "cues-1996.jsonl",
          "bytes": 1360872,
          "rows": 1921
        },
        {
          "name": "cues-1997.jsonl",
          "bytes": 1164338,
          "rows": 1645
        },
        {
          "name": "cues-1998.jsonl",
          "bytes": 1635906,
          "rows": 2310
        },
        {
          "name": "cues-1999.jsonl",
          "bytes": 1602881,
          "rows": 2283
        },
        {
          "name": "cues-2000.jsonl",
          "bytes": 1879357,
          "rows": 2620
        },
        {
          "name": "cues-2001.jsonl",
          "bytes": 1603315,
          "rows": 2228
        },
        {
          "name": "cues-2002.jsonl",
          "bytes": 1472922,
          "rows": 2102
        },
        {
          "name": "cues-2003.jsonl",
          "bytes": 1579290,
          "rows": 2275
        },
        {
          "name": "cues-2004.jsonl",
          "bytes": 1588361,
          "rows": 2253
        },
        {
          "name": "cues-2005.jsonl",
          "bytes": 1610356,
          "rows": 2284
        },
        {
          "name": "cues-2006.jsonl",
          "bytes": 1873385,
          "rows": 2702
        },
        {
          "name": "cues-2007.jsonl",
          "bytes": 2208332,
          "rows": 3160
        },
        {
          "name": "cues-2008.jsonl",
          "bytes": 2051075,
          "rows": 2964
        },
        {
          "name": "cues-2009.jsonl",
          "bytes": 2266463,
          "rows": 3220
        },
        {
          "name": "cues-2010.jsonl",
          "bytes": 1795307,
          "rows": 2642
        },
        {
          "name": "cues-2011.jsonl",
          "bytes": 1917631,
          "rows": 2798
        },
        {
          "name": "cues-2012.jsonl",
          "bytes": 1565687,
          "rows": 2295
        },
        {
          "name": "cues-2013.jsonl",
          "bytes": 1555893,
          "rows": 2258
        },
        {
          "name": "cues-2014.jsonl",
          "bytes": 1325194,
          "rows": 1927
        },
        {
          "name": "cues-2015.jsonl",
          "bytes": 1390699,
          "rows": 2032
        },
        {
          "name": "cues-2016.jsonl",
          "bytes": 1310853,
          "rows": 1889
        },
        {
          "name": "cues-2017.jsonl",
          "bytes": 1323265,
          "rows": 1911
        },
        {
          "name": "cues-2018.jsonl",
          "bytes": 1588611,
          "rows": 2324
        },
        {
          "name": "cues-2019.jsonl",
          "bytes": 1700671,
          "rows": 2449
        },
        {
          "name": "cues-2020.jsonl",
          "bytes": 929659,
          "rows": 1301
        },
        {
          "name": "cues-2021.jsonl",
          "bytes": 796257,
          "rows": 1159
        },
        {
          "name": "cues-2022.jsonl",
          "bytes": 1399283,
          "rows": 2056
        },
        {
          "name": "cues-2023.jsonl",
          "bytes": 1008293,
          "rows": 1462
        },
        {
          "name": "cues-2024.jsonl",
          "bytes": 1186464,
          "rows": 1720
        },
        {
          "name": "cues-2025.jsonl",
          "bytes": 1434197,
          "rows": 2140
        },
        {
          "name": "cues-2026.jsonl",
          "bytes": 840284,
          "rows": 1215
        },
        {
          "name": "schema.json",
          "bytes": 7100,
          "rows": null
        },
        {
          "name": "sources.json",
          "bytes": 2219,
          "rows": null
        },
        {
          "name": "validate.mjs",
          "bytes": 7382,
          "rows": null
        }
      ]
    },
    {
      "slug": "navigation-lights",
      "title": "Navigation lights, with their characteristics parsed",
      "href": "/data/navigation-lights/",
      "where": "room",
      "passed": 7,
      "total": 7,
      "published": true,
      "checks": [
        {
          "id": "bytes",
          "title": "BYTES — data is here, in an open format, and every file can actually be served",
          "pass": true,
          "detail": "1 data file(s), 13,737,161 bytes, largest 13.1 MiB"
        },
        {
          "id": "shape",
          "title": "SHAPE — a schema exists and every row satisfies it",
          "pass": true,
          "detail": "40,559 rows checked, 0 violation(s)"
        },
        {
          "id": "count",
          "title": "COUNT — the recorded row count equals the rows in the bytes",
          "pass": true,
          "detail": "40,559 rows across 1 file(s), all counts agree"
        },
        {
          "id": "fixity",
          "title": "FIXITY — every published file matches its recorded sha256 and length",
          "pass": true,
          "detail": "5 file(s) verified by sha256"
        },
        {
          "id": "provenance",
          "title": "PROVENANCE — every source names its publisher, URL, date and licence",
          "pass": true,
          "detail": "2 source(s), each with a licence from the table"
        },
        {
          "id": "origin",
          "title": "ORIGIN — every field says whether it is ours, and redistribution is licensed",
          "pass": true,
          "detail": "16 field(s): 12 built here, 4 redistributed under a licence that permits it"
        },
        {
          "id": "rebuild",
          "title": "REBUILD — a committed generator reproduces these exact bytes",
          "pass": true,
          "detail": "research/data-room/emit/navigation-lights.mjs (byte-equality proved by: node research/data-room/publish.mjs --check)"
        }
      ],
      "rows": 40559,
      "bytes": 13737161,
      "files": [
        {
          "name": "README.md",
          "bytes": 3132,
          "rows": null
        },
        {
          "name": "lights.jsonl",
          "bytes": 13737161,
          "rows": 40559
        },
        {
          "name": "schema.json",
          "bytes": 6116,
          "rows": null
        },
        {
          "name": "sources.json",
          "bytes": 2473,
          "rows": null
        },
        {
          "name": "validate.mjs",
          "bytes": 15198,
          "rows": null
        }
      ]
    },
    {
      "slug": "rhyme-anchors",
      "title": "Rime bands of English, under a stated anchor rule",
      "href": "/data/rhyme-anchors/",
      "where": "room",
      "passed": 7,
      "total": 7,
      "published": true,
      "checks": [
        {
          "id": "bytes",
          "title": "BYTES — data is here, in an open format, and every file can actually be served",
          "pass": true,
          "detail": "27 data file(s), 56,003,015 bytes, largest 5.5 MiB"
        },
        {
          "id": "shape",
          "title": "SHAPE — a schema exists and every row satisfies it",
          "pass": true,
          "detail": "155,854 rows checked, 0 violation(s)"
        },
        {
          "id": "count",
          "title": "COUNT — the recorded row count equals the rows in the bytes",
          "pass": true,
          "detail": "155,854 rows across 27 file(s), all counts agree"
        },
        {
          "id": "fixity",
          "title": "FIXITY — every published file matches its recorded sha256 and length",
          "pass": true,
          "detail": "33 file(s) verified by sha256"
        },
        {
          "id": "provenance",
          "title": "PROVENANCE — every source names its publisher, URL, date and licence",
          "pass": true,
          "detail": "3 source(s), each with a licence from the table"
        },
        {
          "id": "origin",
          "title": "ORIGIN — every field says whether it is ours, and redistribution is licensed",
          "pass": true,
          "detail": "18 field(s): 15 built here, 3 redistributed under a licence that permits it"
        },
        {
          "id": "rebuild",
          "title": "REBUILD — a committed generator reproduces these exact bytes",
          "pass": true,
          "detail": "research/data-room/emit/rhyme-anchors.mjs (byte-equality proved by: node research/data-room/publish.mjs --check)"
        }
      ],
      "rows": 155854,
      "bytes": 56003015,
      "files": [
        {
          "name": "CMUDICT-LICENSE.txt",
          "bytes": 1754,
          "rows": null
        },
        {
          "name": "README.md",
          "bytes": 3225,
          "rows": null
        },
        {
          "name": "SCOWL-COPYRIGHT.txt",
          "bytes": 11135,
          "rows": null
        },
        {
          "name": "rhymes-0.jsonl",
          "bytes": 4609,
          "rows": 15
        },
        {
          "name": "rhymes-a.jsonl",
          "bytes": 3221256,
          "rows": 8873
        },
        {
          "name": "rhymes-b.jsonl",
          "bytes": 3976947,
          "rows": 11201
        },
        {
          "name": "rhymes-c.jsonl",
          "bytes": 4564239,
          "rows": 12565
        },
        {
          "name": "rhymes-d.jsonl",
          "bytes": 3178260,
          "rows": 8850
        },
        {
          "name": "rhymes-e.jsonl",
          "bytes": 2084350,
          "rows": 5659
        },
        {
          "name": "rhymes-f.jsonl",
          "bytes": 2187056,
          "rows": 6104
        },
        {
          "name": "rhymes-g.jsonl",
          "bytes": 2346190,
          "rows": 6602
        },
        {
          "name": "rhymes-h.jsonl",
          "bytes": 2728517,
          "rows": 7547
        },
        {
          "name": "rhymes-i.jsonl",
          "bytes": 1577901,
          "rows": 4187
        },
        {
          "name": "rhymes-j.jsonl",
          "bytes": 647724,
          "rows": 1841
        },
        {
          "name": "rhymes-k.jsonl",
          "bytes": 1573170,
          "rows": 4501
        },
        {
          "name": "rhymes-l.jsonl",
          "bytes": 2222600,
          "rows": 6292
        },
        {
          "name": "rhymes-m.jsonl",
          "bytes": 3958399,
          "rows": 11015
        },
        {
          "name": "rhymes-n.jsonl",
          "bytes": 1356736,
          "rows": 3771
        },
        {
          "name": "rhymes-o.jsonl",
          "bytes": 1319251,
          "rows": 3660
        },
        {
          "name": "rhymes-p.jsonl",
          "bytes": 3466756,
          "rows": 9586
        },
        {
          "name": "rhymes-q.jsonl",
          "bytes": 188098,
          "rows": 526
        },
        {
          "name": "rhymes-r.jsonl",
          "bytes": 2980688,
          "rows": 8324
        },
        {
          "name": "rhymes-s.jsonl",
          "bytes": 5812251,
          "rows": 16214
        },
        {
          "name": "rhymes-t.jsonl",
          "bytes": 2322286,
          "rows": 6537
        },
        {
          "name": "rhymes-u.jsonl",
          "bytes": 812643,
          "rows": 2188
        },
        {
          "name": "rhymes-v.jsonl",
          "bytes": 942964,
          "rows": 2627
        },
        {
          "name": "rhymes-w.jsonl",
          "bytes": 1886228,
          "rows": 5289
        },
        {
          "name": "rhymes-x.jsonl",
          "bytes": 30765,
          "rows": 90
        },
        {
          "name": "rhymes-y.jsonl",
          "bytes": 271489,
          "rows": 797
        },
        {
          "name": "rhymes-z.jsonl",
          "bytes": 341642,
          "rows": 993
        },
        {
          "name": "schema.json",
          "bytes": 5694,
          "rows": null
        },
        {
          "name": "sources.json",
          "bytes": 3177,
          "rows": null
        },
        {
          "name": "validate.mjs",
          "bytes": 15198,
          "rows": null
        }
      ]
    },
    {
      "slug": "the-error-they-share",
      "title": "the-error-they-share",
      "href": "/data/the-error-they-share/",
      "where": "room",
      "passed": 1,
      "total": 7,
      "published": false,
      "checks": [
        {
          "id": "bytes",
          "title": "BYTES — data is here, in an open format, and every file can actually be served",
          "pass": true,
          "detail": "1 data file(s), 389,235 bytes, largest 0.4 MiB"
        },
        {
          "id": "shape",
          "title": "SHAPE — a schema exists and every row satisfies it",
          "pass": false,
          "detail": "schema.json is absent"
        },
        {
          "id": "count",
          "title": "COUNT — the recorded row count equals the rows in the bytes",
          "pass": false,
          "detail": "manifest.json is absent"
        },
        {
          "id": "fixity",
          "title": "FIXITY — every published file matches its recorded sha256 and length",
          "pass": false,
          "detail": "manifest.json is absent"
        },
        {
          "id": "provenance",
          "title": "PROVENANCE — every source names its publisher, URL, date and licence",
          "pass": false,
          "detail": "sources.json is absent"
        },
        {
          "id": "origin",
          "title": "ORIGIN — every field says whether it is ours, and redistribution is licensed",
          "pass": false,
          "detail": "no schema to read field origins from"
        },
        {
          "id": "rebuild",
          "title": "REBUILD — a committed generator reproduces these exact bytes",
          "pass": false,
          "detail": "manifest names no generator"
        }
      ],
      "rows": 0,
      "bytes": 0,
      "files": []
    },
    {
      "slug": "australian-coins",
      "dir": "public/tools/australian-coins/api",
      "title": "Australian coin catalogue API",
      "href": "/tools/australian-coins/",
      "note": "The dataset src/data/tools.mjs names as the one this project already publishes. It is measured here by the same seven conditions as everything else.",
      "where": "elsewhere",
      "passed": 1,
      "total": 7,
      "published": false,
      "checks": [
        {
          "id": "bytes",
          "title": "BYTES — data is here, in an open format, and every file can actually be served",
          "pass": true,
          "detail": "3 data file(s), 1,806,670 bytes, largest 4.1 MiB"
        },
        {
          "id": "shape",
          "title": "SHAPE — a schema exists and every row satisfies it",
          "pass": false,
          "detail": "2,688 rows checked, 2688 violation(s)"
        },
        {
          "id": "count",
          "title": "COUNT — the recorded row count equals the rows in the bytes",
          "pass": false,
          "detail": "manifest.json is absent"
        },
        {
          "id": "fixity",
          "title": "FIXITY — every published file matches its recorded sha256 and length",
          "pass": false,
          "detail": "manifest.json is absent"
        },
        {
          "id": "provenance",
          "title": "PROVENANCE — every source names its publisher, URL, date and licence",
          "pass": false,
          "detail": "src:ram-mintage-one-cent: no licence_id; src:ram-mintage-one-cent: no licence_basis; src:ram-mintage-two-cents: no licence_id; src:ram-mintage-two-cents: no licence_basis; src:ram-mintage-five-cents: no licence_id; src:ram-mintage-five-cents: no licence_basis; src:ram-mintage-ten-cents: no licence_id; src:ram-mintage-ten-cents: no licence_basis; src:ram-mintage-twenty-cents: no licence_id; src:ram-mintage-twenty-cents: no licence_basis; src:ram-mintage-fifty-cents: no licence_id; src:ram-mintage-fifty-cents: no licence_basis; src:ram-mintage-one-dollar: no licence_id; src:ram-mintage-one-dollar: no licence_basis; src:ram-mintage-two-dollars: no licence_id; src:ram-mintage-two-dollars: no licence_basis; src:rmm-annual-reports: no licence_id; src:rmm-annual-reports: no licence_basis; src:ram-annual-reports: no licence_id; src:ram-annual-reports: no licence_basis; src:statutes: no licence_id; src:statutes: no licence_basis; src:rmm-gold: no licence_id; src:rmm-gold: no licence_basis; src:rmm-die-life: no licence_id; src:rmm-die-life: no licence_basis; src:varieties: no licence_id; src:varieties: no licence_basis; src:public-catalogues: no licence_id; src:public-catalogues: no licence; src:public-catalogues: no licence_basis; src:rmm-coin-dated: no licence_id; src:rmm-coin-dated: no licence_basis; src:museums-victoria: no licence_id; src:museums-victoria: no licence_basis; src:rmm-seams: no licence_id; src:rmm-seams: no licence_basis; src:rmm-imperial-colonial: no licence_id; src:rmm-imperial-colonial: no licence_basis; src:rmm-early-gold: no licence_id; src:rmm-early-gold: no licence_basis; src:rmm-branch-silver: no licence_id; src:rmm-branch-silver: no licence_basis"
        },
        {
          "id": "origin",
          "title": "ORIGIN — every field says whether it is ours, and redistribution is licensed",
          "pass": false,
          "detail": "version: x-origin is undefined, must be \"built\" or \"redistributed\"; generated: x-origin is undefined, must be \"built\" or \"redistributed\"; licence: x-origin is undefined, must be \"built\" or \"redistributed\"; sources: x-origin is undefined, must be \"built\" or \"redistributed\"; types: x-origin is undefined, must be \"built\" or \"redistributed\"; issues: x-origin is undefined, must be \"built\" or \"redistributed\"; varieties: x-origin is undefined, must be \"built\" or \"redistributed\"; facts: x-origin is undefined, must be \"built\" or \"redistributed\"; production: x-origin is undefined, must be \"built\" or \"redistributed\""
        },
        {
          "id": "rebuild",
          "title": "REBUILD — a committed generator reproduces these exact bytes",
          "pass": false,
          "detail": "manifest names no generator"
        }
      ]
    }
  ],
  "withheld": [
    {
      "slug": "sky-now-bright-stars",
      "title": "60 bright stars, cut and merged from a standard catalogue",
      "instrument": {
        "href": "/tools/sky-now/",
        "label": "Sky Now"
      },
      "size": "5,815 bytes, 60 rows",
      "reason": "refused-by-the-source",
      "headline": "The catalogue we would have to cite forbids this project from reading its own terms.",
      "detail": "The 60 stars come from SIMBAD, operated by the Centre de Données astronomiques de Strasbourg. Their coordinates, magnitudes and designations are SIMBAD's values, so publishing them is redistribution and needs a licence. No licence is recorded anywhere in this repository: the shipped CATALOGUE_PROVENANCE constant names the source, the magnitude cut, the three non-stars dropped and the seven components merged, and says nothing about terms. So we went to read them, and could not. https://cds.unistra.fr/robots.txt carries a group of AI user-agents whose rule is \"Disallow: /\", and anthropic-ai is named in it (checked 2026-09-04). This project's standing ruling on exactly this situation, oversight/source-ruling.md, 2026-08-15, is that we respect the Disallow and do not argue our way past it. So the licence stays unestablished, and unestablished means the redistributed fields do not ship.",
      "what_would_unblock": "A licence statement obtained by a route that does not require crawling a host that refuses us: CDS publishes terms in its printed documentation and answers email. One reply settles it. Alternatively, rebuild the cut from a catalogue whose terms are already established, since the underlying astrometry exists in several.",
      "checked": "2026-09-04"
    },
    {
      "slug": "reverberation-survey",
      "title": "270 real measured spaces, with the 83 the estimator refuses",
      "instrument": {
        "href": "/tools/your-room/",
        "label": "Measure Your Room"
      },
      "size": "2.4 MB, 270 rows, 8 octave bands each",
      "reason": "licence-claimed-but-not-stated",
      "headline": "We have been printing a licence for four weeks that its source does not state anywhere.",
      "detail": "The instrument places a reader's room against 187 measured spaces, computed by our estimator from impulse responses released by the Laboratory for Computational Audition at MIT. Three places in this repository call that release CC BY 4.0. We fetched the release page, https://mcdermottlab.mit.edu/Reverb/IR_Survey.html, on 2026-09-04: it carries no licence, no terms of use and no copyright statement of any kind. There is also a slide worth naming, because it is how a claim like this survives: src/data/tools.mjs attaches \"CC BY 4.0\" to the PNAS PAPER (Traer & McDermott 2016), while the stratum attaches it to the AUDIO RELEASE hosted separately by the lab. Those are two different objects and a paper's licence does not govern a dataset. Note what is NOT wrong here: the numbers are ours, computed by our estimator from their audio, and the survey's own published values sit unused in the research file. So the measurements are ours to give. It is the metadata, the space names and the survey's own detail notes, which are the only way a row can be joined back to the recording it describes, that we cannot license, and a release with no join key repeats a defect this room already documents elsewhere.",
      "what_would_unblock": "One email to the lab asking under what terms the IR survey is released. If the answer is a licence, this ships whole, and the 83 spaces the estimator refuses (43 with neither band measurable, 19 missing 500 Hz, 21 missing 1 kHz) with their stated reasons are the part of it nobody else publishes. Filed as an oversight request.",
      "checked": "2026-09-04"
    },
    {
      "slug": "tight-connection-flights",
      "title": "Two US DOT on-time records joined flight to flight on the date",
      "instrument": {
        "href": "/tools/tight-connection/",
        "label": "Tight Connection"
      },
      "size": "50,084 legs over 5,552,163 flight-days",
      "reason": "not-attempted-tonight",
      "headline": "Publishable, and not published: this one ran out of night, not out of permission.",
      "detail": "The underlying records are US Department of Transportation on-time performance data, a work of the United States Government, and the join, the shard format and the method-error measurement are ours. Nothing here blocks a release. It is listed because the honest count of what this room holds is four of seven, not four of the four that were easy, and because the survey that preceded tonight turned up three things in this tool that a publication would have to resolve first: its own test suite fails 152 of 153 on a link check that its JSON-LD block trips; the page prints a flight total one greater than its own day records account for; and one airport in its index has no name record, so a connection through it renders a blank rather than a refusal. Those are notes for its author, filed on the board, not blockers a publisher may skip past.",
      "what_would_unblock": "A session. The leg table is 50,084 rows and the flight-day table is 5.5 million; both are within reach of this room's standard, and the leg-level form is smaller than the sharded payload already committed.",
      "checked": "2026-09-04"
    }
  ]
}
