+++ /dev/null
-{"headline":{"WARN":48448,"FAIL":29188},"allRuns":[1743561761000],"fails_by_run":[{"run":1743561761000,"status":"WARN","count":48448},{"run":1743561761000,"status":"FAIL","count":29188}],"most_failing_checks":{"1743561761000":[{"check_id":"googlefonts/meta/script_lang_tags","status":"WARN","count":3320},{"check_id":"unreachable_glyphs","status":"WARN","count":2664},{"check_id":"contour_count","status":"WARN","count":2589},{"check_id":"math_signs_width","status":"WARN","count":2574},{"check_id":"soft_hyphen","status":"WARN","count":2492},{"check_id":"soft_dotted","status":"WARN","count":2200},{"check_id":"no_mac_entries","status":"FAIL","count":2199},{"check_id":"unwanted_tables","status":"FAIL","count":1970},{"check_id":"googlefonts/description/has_article","status":"FAIL","count":1878},{"check_id":"googlefonts/family/has_license","status":"FAIL","count":1878}]},"most_failing_families":{"1743561761000":[{"family":"barlow","status":"FAIL","count":140},{"family":"barlow","status":"WARN","count":249},{"family":"barlowsemicondensed","status":"FAIL","count":141},{"family":"barlowsemicondensed","status":"WARN","count":254},{"family":"firasans","status":"FAIL","count":147},{"family":"firasans","status":"WARN","count":266},{"family":"ibmplexsanscondensed","status":"FAIL","count":112},{"family":"ibmplexsanscondensed","status":"WARN","count":196},{"family":"lisubosa","status":"FAIL","count":90},{"family":"lisubosa","status":"WARN","count":258},{"family":"prompt","status":"FAIL","count":177},{"family":"prompt","status":"WARN","count":285},{"family":"alegreyasanssc","status":"FAIL","count":131},{"family":"alegreyasanssc","status":"WARN","count":173},{"family":"bevietnampro","status":"FAIL","count":58},{"family":"bevietnampro","status":"WARN","count":253},{"family":"firasanscondensed","status":"FAIL","count":149},{"family":"firasanscondensed","status":"WARN","count":266},{"family":"grenze","status":"ERROR","count":20},{"family":"lato","status":"FAIL","count":141},{"family":"lato","status":"WARN","count":292},{"family":"montserratalternates","status":"FAIL","count":122},{"family":"montserratalternates","status":"WARN","count":237},{"family":"poppins","status":"FAIL","count":167},{"family":"poppins","status":"WARN","count":204},{"family":"alegreyasans","status":"FAIL","count":130},{"family":"alegreyasans","status":"WARN","count":197},{"family":"barlowcondensed","status":"FAIL","count":140},{"family":"barlowcondensed","status":"WARN","count":253},{"family":"bevietnampro","status":"ERROR","count":20},{"family":"firasansextracondensed","status":"FAIL","count":156},{"family":"firasansextracondensed","status":"WARN","count":268},{"family":"grenze","status":"FAIL","count":103},{"family":"grenze","status":"WARN","count":236},{"family":"livvic","status":"FAIL","count":69},{"family":"livvic","status":"WARN","count":238},{"family":"montserratalternates","status":"ERROR","count":20},{"family":"sarabun","status":"FAIL","count":92},{"family":"sarabun","status":"WARN","count":257},{"family":"taviraj","status":"FAIL","count":176},{"family":"taviraj","status":"WARN","count":296},{"family":"trirong","status":"FAIL","count":177},{"family":"trirong","status":"WARN","count":289}]}}
\ No newline at end of file
--- /dev/null
+{"headline":{"WARN":48448,"FAIL":29188},"allRuns":[1743571246000],"fails_by_run":[{"run":1743571246000,"status":"WARN","count":48448},{"run":1743571246000,"status":"FAIL","count":29188}],"most_failing_checks":{"1743571246000":[{"check_id":"googlefonts/meta/script_lang_tags","status":"WARN","count":3320},{"check_id":"unreachable_glyphs","status":"WARN","count":2664},{"check_id":"contour_count","status":"WARN","count":2589},{"check_id":"math_signs_width","status":"WARN","count":2574},{"check_id":"soft_hyphen","status":"WARN","count":2492},{"check_id":"soft_dotted","status":"WARN","count":2200},{"check_id":"no_mac_entries","status":"FAIL","count":2199},{"check_id":"unwanted_tables","status":"FAIL","count":1970},{"check_id":"googlefonts/family/has_license","status":"FAIL","count":1878},{"check_id":"googlefonts/description/has_article","status":"FAIL","count":1878}]},"most_failing_families":{"1743571246000":[{"family":"firasanscondensed","status":"FAIL","count":149},{"family":"firasanscondensed","status":"WARN","count":266},{"family":"grenze","status":"ERROR","count":20},{"family":"lato","status":"FAIL","count":141},{"family":"lato","status":"WARN","count":292},{"family":"montserratalternates","status":"FAIL","count":122},{"family":"montserratalternates","status":"WARN","count":237},{"family":"prompt","status":"FAIL","count":177},{"family":"prompt","status":"WARN","count":285},{"family":"alegreyasanssc","status":"FAIL","count":131},{"family":"alegreyasanssc","status":"WARN","count":173},{"family":"bevietnampro","status":"FAIL","count":58},{"family":"bevietnampro","status":"WARN","count":253},{"family":"ibmplexsanscondensed","status":"FAIL","count":112},{"family":"ibmplexsanscondensed","status":"WARN","count":196},{"family":"lisubosa","status":"FAIL","count":90},{"family":"lisubosa","status":"WARN","count":258},{"family":"firasansextracondensed","status":"FAIL","count":156},{"family":"firasansextracondensed","status":"WARN","count":268},{"family":"grenze","status":"FAIL","count":103},{"family":"grenze","status":"WARN","count":236},{"family":"livvic","status":"FAIL","count":69},{"family":"livvic","status":"WARN","count":238},{"family":"montserratalternates","status":"ERROR","count":20},{"family":"poppins","status":"FAIL","count":167},{"family":"poppins","status":"WARN","count":204},{"family":"alegreyasans","status":"FAIL","count":130},{"family":"alegreyasans","status":"WARN","count":197},{"family":"barlowcondensed","status":"FAIL","count":140},{"family":"barlowcondensed","status":"WARN","count":253},{"family":"bevietnampro","status":"ERROR","count":20},{"family":"sarabun","status":"FAIL","count":92},{"family":"sarabun","status":"WARN","count":257},{"family":"taviraj","status":"FAIL","count":176},{"family":"taviraj","status":"WARN","count":296},{"family":"trirong","status":"FAIL","count":177},{"family":"trirong","status":"WARN","count":289},{"family":"firasans","status":"FAIL","count":147},{"family":"firasans","status":"WARN","count":266},{"family":"barlow","status":"FAIL","count":140},{"family":"barlow","status":"WARN","count":249},{"family":"barlowsemicondensed","status":"FAIL","count":141},{"family":"barlowsemicondensed","status":"WARN","count":254}]}}
\ No newline at end of file
import {define} from "./_observablehq/client.84d014a9.js";
import {registerFile} from "./_observablehq/stdlib.82806664.js";
-registerFile("./results.json", {"name":"./results.json","mimeType":"application/json","path":"./_file/results.1020358e.json","lastModified":1743561799663,"size":3205});
+registerFile("./results.json", {"name":"./results.json","mimeType":"application/json","path":"./_file/results.a1f0b828.json","lastModified":1743571283379,"size":3205});
define({id: "ace96b3a", inputs: ["FileAttachment"], outputs: ["allResults","categoricals"], body: (FileAttachment) => {
const allResults = FileAttachment("./results.json").json();