The §12.1 reproducibility suite for The Alphabet from the Sky · source on GitHub
Every script runs with node and a fixed-seed PRNG (mulberry32 — no Date.now / Math.random), so each result is reproducible bit-for-bit. Clone the repository and run node scripts/<name>.mjs; the lexicon, alignments, name-refs and ephemeris are committed alongside the scripts.
node scripts/tests.mjs # 106 assertions, all passing
angel_biblical_count.mjs — angel_biblical_count.mjsangel_read.mjs — rare 7-body specials: how many angel names read on them?astronomy-engine.mjs — github.com/cosinekitty/astronomycalc_72.mjs — calc_72.mjscalc_alignments_tiers.mjs — calc_alignments_tiers.mjscalc_ayanamsa.mjs — calc_ayanamsa.mjscalc_crosscultural.mjs — calc_crosscultural.mjscalc_gen11_structure.mjs — calc_gen11_structure.mjscalc_godperiod.mjs — calc_godperiod.mjscalc_longest_specials.mjs — calc_longest_specials.mjscalc_magic_squares.mjs — calc_magic_squares.mjscalc_negative_control.mjs — calc_negative_control.mjscalc_null_by_tier.mjs — calc_null_by_tier.mjscalc_phonotactic_null.mjs — calc_phonotactic_null.mjscalc_probability_components.mjs — calc_probability_components.mjscalc_section7.mjs — calc_section7.mjscalc_threat_b_jongeling.mjs — calc_threat_b_jongeling.mjscalc_wordclass_control.mjs — calc_wordclass_control.mjsdiscriminate8.mjs — discriminate8.mjsfetch_gen.mjs — fetch_gen.mjslib.mjs — lib.mjsnull_lexicon.mjs — null_lexicon.mjsrazel_angels_by_season.txt — 275 Raziel angel names across four seasonsraziel_crossmatch.mjs — raziel_crossmatch.mjsscan_10k.json — aggregated alignment peaks (the data read by calc_probability_components.mjs)scan_10k.mjs — scan_10k.mjstests.mjs — tests.mjsverify_mother_gate.mjs — verify_mother_gate.mjsSee the paper's §12.1 Reproduce for what each script verifies and which claim it anchors.