9. Sources and reproducibility

Primary sources read in full

Secondary scholarship read in full

Code and data

Everything below is saved with this report. The corpus builder (corpus/scripts/parse_basler.py) reads Basler's source notes to tag every item with its manuscript code (ALS, ADfS, LS, Copy and so on) and to flag items whose surviving text is in Hay's hand. The analysis scripts (analysis/ngt.py, run_ngt.py, designs.py, run_other.py, features.py) reproduce every number in this report from the JSONL corpora; analysis/results/ holds the raw outputs; analysis/diag_gap.py and analysis/results/diag/ hold the runs that trace the gap between the two implementations' register results. The dossier folder holds the reading notes on the documentary record with page citations for every quotation used above.

The documentary record was read in full from the editions named above; the stylometry was re-implemented from the 2019 paper and validated on known texts before the letter was tested. Every number in sections 3 to 5 can be regenerated from the saved corpora and scripts.