Skip to content

Checks

What each build check tests. A page lists the checks that guard its column; whether a given build passed them is recorded in that build's manifest.json["checks"], not here.

Kind of check What it tests Cited checks
^source\.hash\. the pinned file's SHA256 equals the registry's: the bytes are exactly the ones reviewed 15
^spd\.(small_user|large_user)\.schema$ the SPD file's header is exactly the reviewed header, in order 2
^spd\.columns$ the two SPD files together carry the expected columns 1
^spd\.primary_key_(unique|nonnull)$ the key (pc_norm, introduced_on) is unique and never null 2
^sspl\.schema$ the SSPL file's header is exactly the reviewed header, in order 1
^sspl\.primary_key_unique$ pc_norm is unique in the SSPL 1
^sspl\.postcode_type$ PostcodeType takes only the values S and L 1
^phs\.[^.]+\.source\.schema$ the PHS file's header is the declared one 6
^phs\.[^.]+\.source\.key_unique$ each data zone appears once in the PHS file 6
^phs\.[^.]+\.source\.rank_dense$ the PHS ranks run 1 to the number of zones with no gap 6
^phs\.[^.]+\.source\.\w+\.range$ every published band is within its range 48
^phs\.[^.]+\.source\.\w+\.binary$ every published flag is 0 or 1 12
^phs\.[^.]+\.\w+\.monotone$ after any inversion, the band never falls as the rank rises, within its geography 48
^phs\.[^.]+\.rank1_in_band1$ the most deprived zone is in band 1 of every band: the direction is right 6
^phs\.[^.]+\.flag_anchors$ the most deprived zone is flagged most deprived, the least deprived least 6
^phs\.[^.]+\.shared_geography$ this edition's PHS geography codes equal those of the first edition of its vintage 4
^cross\.[^.]+\.same_zones$ PHS and the Government publish the same data zones for the edition 6
^cross\.[^.]+\.rank_identical$ PHS and the Government publish the same rank for every zone 6
^govscot\.[^.]+\.columns_present$ every declared shapefile column is in the file 6
^govscot\.[^.]+\.key_unique$ each data zone appears once in the shapefile table 6
^govscot\.[^.]+\.uw_scotland_\w+\.range$ every unweighted band is within its range 18
^govscot\.[^.]+\.uw_scotland_\w+\.monotone$ the unweighted band never falls as the rank rises 18
^govscot\.[^.]+\.\w+_domain\.present$ the declared domain rank column is in the file 41
^govscot\.[^.]+\.\w+_domain\.complete$ every zone has a domain rank 41
^govscot\.[^.]+\.\w+_domain\.half_units$ every domain rank is a whole multiple of 0.5 41
^govscot\.[^.]+\.\w+_domain\.range$ every domain rank is between 1 and the number of zones 41
^govscot\.[^.]+\.population\.integral$ every population is a whole number 6
^govscot\.[^.]+\.population_nonnegative$ no population is negative 6
^govscot\.[^.]+\.bands\.years$ the band file holds exactly the years the registry declares for it 6
^govscot\.[^.]+\.bands\.\w+\.zones$ every zone of the edition is published once for the domain 41
^govscot\.[^.]+\.bands\.\w+\.ranks_agree$ every published rank equals the shapefile rank, or differs only in a declared way 41
^govscot\.[^.]+\.bands\.\w+\.rank_disagreements_as_pinned$ the zones whose ranks differ are exactly the committed list, with exactly its ranks 1
^govscot\.[^.]+\.bands\.\w+\.\w+\.whole$ every published band is a whole number 123
^govscot\.[^.]+\.bands\.\w+\.\w+\.range$ every published band is within its range 123
^govscot\.[^.]+\.bands\.\w+\.\w+\.monotone$ the published band never falls as the published rank rises (a split tie is allowed) 123
^weighted\.[^.]+\.zones$ the population is joined to every PHS zone of the edition 6
^weighted\.[^.]+\.reproduces_phs_scotland_\w+$ the population midpoint rule reproduces PHS's published overall Scotland band on every zone 12
^rurality\.[^.]+\.columns_present$ the shapefile carries the declared 6-fold and 8-fold columns 9
^rurality\.[^.]+\.polygons$ the shapefile has the declared number of polygons 9
^rurality\.[^.]+\.reference_system$ the shapefile is in British National Grid 9
^rurality\.[^.]+\.folds_nest$ the 6-fold is exactly the official collapse of the 8-fold 9
^rurality\.points_present$ the records to place carry grid references 1
^rurality\.agreement\.\w+$ the placed 2022 codes agree with the codes NRS publishes, cohort by cohort 2
^join\.[^.]+\.(phs|gov)\.[^.]+\.every_record_matched$ every record found its data zone in the edition: no empty cell 24
^join\.[^.]+\.geography_nonnull$ every PHS geography code is filled 2
^join\.[^.]+\.domain_ranks_half_units$ every joined domain rank is a whole multiple of 0.5 2
^join\.[^.]+\.\w+\.range$ every joined band is within its range 542
^join\.[^.]+\.\w+\.binary$ every joined flag is 0 or 1 24
^join\.[^.]+\.\w+\.values$ the status holds only null or rank_sources_disagree 2
^readback\.[^.]+\.index_columns$ the saved file's NRS columns equal the source, re-read 2
^readback\.[^.]+\.attached_values$ every attached value in the saved file is looked up again from the sources and equal 2
^readback\.[^.]+\.rurality_values$ every point is placed again from the saved file's grid references and equal 1