Quadrat

The engine, as a library.

The engine is one dependency-free file, quadrat.js, and the flag vocabulary is flags.json. An agent or a script can run the same check in Node 18+: await Quadrat.check(arrayBuffer, {name, size}) returns the report as plain data; since 0.2.0 Quadrat.conditions() reads the GOV.UK condition assessment workbook and Quadrat.crossCheck() matches its parcels to the metric’s. No API, no key, nothing sent anywhere. The report writer behind the seat is not served on its own.

const Quadrat = require('./quadrat.js');

const report = await Quadrat.check(arrayBuffer, { name: 'metric.xlsx', size: 123456 });
// { kind, version, verdict, tierA, tierB, tierC, recap, notes, parcels, ... }
// Text output for humans: Quadrat.toText(report). Agents: use the report object directly.

const sheets = await Quadrat.conditions(arrayBuffer, { name: 'conditions.xlsx' });
const xc = Quadrat.crossCheck(report, sheets);   // metric parcels matched to condition sheets