Method
The design principle is a single rule: every derived value carries its origin and its reason, and nothing overwrites the source. A correction is an added flag plus a note; the published Chapple value always survives underneath.
The pipeline
The build is a chain of small, pinned Python scripts — no model in the runtime path, byte-identical output on re-run:
- fetch — pull Chapple’s XLSX from Zenodo, verify size and MD5 against a pinned checksum, hard-fail on any mismatch (this also defends against a known truncated download).
- parse — type the determinations sheet into
dates.csv; validate lab codes against a known-labs list; apply recorded fixes; detect duplicate-code collisions. - extract — recover material and reliability from the notes prose.
- vocabulary — map free-text site types to the ASI national monument classification (470 classes).
- extension — harvest post-2019 determinations; regex for inline dates, an anti-fabrication-gated LLM pass for table layouts.
- calibrate — classify reservoir, then recalibrate terrestrial samples against IntCal20 into HPD intervals.
- manifest — hash every derived table into
MANIFEST.sha256.
Reproducibility is tested under CI from v0.1, not v1.0 — a reproducibility claim left untested until the end is one that fails at the end.
The three-value rule
Every normalisation records three things: the original value, the result, and the reason. That is what makes the dataset auditable rather than merely clean — you can read any decision, diff it between releases, and disagree with a specific call. The site-type map is a committed CSV, not a black box.
LLM assistance, fenced off
An LLM assists three first passes — the site-type vocabulary tail, the extension’s table extraction, and the per-monograph geocoding gazetteer — but never at runtime and never unchecked. Each has a verbatim gate: an extension determination is dropped unless its lab code and age appear verbatim in the source; a geocoded coordinate is kept only if its digits appear verbatim in the monograph, a licence only if it appears verbatim. Coordinate conversion (ITM and Irish Grid to WGS84) and the site joins are then fully deterministic. The committed output is what ships; re-running the pipeline over it reproduces the dataset exactly.
The review still owed
decided_by=rule — a machine first pass that has not yet had line-by-line human
review:- Site-type vocabulary — the ambiguous tail, via a review queue.
- Material and reliability inference from prose.
- Reservoir classification — which gates calibration soundness.
Citing this
Cite this dataset and Chapple 2019 — a derivative carries its upstream attribution forward. See CITATION.cff and ATTRIBUTION.md.