radio-rian logo — Newgrange kerbstone lozenges

radio-rian

dátú, dating · rian, a trace — a cleaned corpus of Irish radiocarbon dates

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:

  1. 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).
  2. parse — type the determinations sheet into dates.csv; validate lab codes against a known-labs list; apply recorded fixes; detect duplicate-code collisions.
  3. extract — recover material and reliability from the notes prose.
  4. vocabulary — map free-text site types to the ASI national monument classification (470 classes).
  5. extension — harvest post-2019 determinations; regex for inline dates, an anti-fabrication-gated LLM pass for table layouts.
  6. calibrate — classify reservoir, then recalibrate terrestrial samples against IntCal20 into HPD intervals.
  7. 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

What "provisional" means here. Several tables are currently decided_by=rule — a machine first pass that has not yet had line-by-line human review:The raw determinations, the checksums, and the calibration arithmetic are solid. The judgements layered on top are drafts. This notice comes down, table by table, as the review passes are completed.

Citing this

Cite this dataset and Chapple 2019 — a derivative carries its upstream attribution forward. See CITATION.cff and ATTRIBUTION.md.