Data engineering
How the open datasets are built, validated, versioned and verified. Prepared, not yet published.
The open datasets (see Open data, prepared, not yet published) come out of a checked pipeline, not a one-off export. Everything below runs in GitHub Actions on every change to the build and on each manual run of the hf-datasets workflow.
What is checked
| Area | Check |
|---|---|
| Schema | Every table has a schema (types, nulls, ranges, enums, key); wrong or missing fields fail the build |
| Money | Integer cents, never negative |
| Ledger | Held equals captured plus released plus open, per lot and per hold, in the simulated run |
| Time | Timestamps and sequence numbers never go backwards; percentiles are ordered |
| Consistency | Scores recompute from outputs; evidence hashes equal the ones in docs/GATES.md; counts add up |
| Privacy | No emails, tokens, key-like strings, IPs or payment-object-like ids; demo actors anonymised |
Reproducible and verifiable
- One command,
scripts/hf/build.sh, runs the chain. The workflow runs it twice and fails if the twoMANIFEST.jsonfiles differ. - Every dataset carries
MANIFEST.json(version, repository commit, build run URL, sha256 and row count of every file, source files) andverify.py, which recomputes the hashes. - Every dataset has a version and a
CHANGELOG.md; the data dictionary and a data-quality report are generated in CI and are in the run artifact.
Honest labels
Real sandbox (PayPal sandbox, small samples, never production), simulated (fake clock, a model of PayPal), synthetic audio (machine-generated speech), fake PayPal (scripted demo auctions). The pipeline shows the data is well formed and traceable; it does not turn a simulation into a measurement. The full write-up is docs/DATA-ENGINEERING.md in the repository.
Last updated on