For specialists: how every number was checked and what remains open
The core implementation (soyga.py) is an independent reimplementation of Reeds’s generation algorithm from his prose description, not from any prior code. The f values are derived symbolically as f = {c: (V[c] - 1) % 23 for c in ABC} — a single line that makes the identity explicit — rather than hard-coded from Reeds’s Table II.
All 46,656 cells of all 36 tables are generated and stored. Every claim about cell counts, match rates, or error coordinates is verified computationally.
Every quotation from the Kupin edition is cited with its line number in kupin_soyga.txt. Key loci:
| Source | Kupin line range |
|---|---|
| Section 18 verse (Latin) | 8151–8172 |
| Section 18 verse (English translation) | 8318–8337 |
| Section 19, Zadzaczadlin = Adam (Latin) | 8682–8686 |
| Section 19, Zadzaczadlin = Adam (English) | 9061–9065 |
| Section 26.1, Liber Radiorum preface | 13565–13576 |
| Section 27, 23-letter alphabet and spirit counts | 22341–22358 |
| Section 28, code-word construction recipe | 22589–22614 |
| Book’s etymology of Soyga as agyos reversed | 848 |
| Agyos as a divine name | 5659 |
The findings were reviewed through seven independent passes before publication:
SOYGA_SECOND_REVIEW_2026-06-09.md, not hidden.These corrections are on the record as a feature of the methodology, not as a sign of weakness:
The claim that the Soyga tables contain no hidden plaintext was tested with a scoped, enumerated null model — not a universal negative.
Standard traversals enumerated: rows, columns, main diagonals, broken diagonals, boustrophedon (snake-path), inward spirals — all directions, all 36 tables.
Test: substring matches against a 72,789-word English dictionary (second review figure), versus letter-preserving shuffled controls (same letter frequencies, randomised arrangement).
Result: real tables score 0.99× the shuffled controls — at chance. Entropy of rows, columns, and diagonals sits at the random baseline.
The shuffled-assignment null (code-word construction). For the claim that the code words are drawn from the adjacent Liber Radiorum divine-name triads: a shuffled-assignment null was run in which the same 23 real code words were randomly reassigned to different triads, and the spellability of each code word from its (randomly assigned) triad was measured. Over 20,000 draws: mean 7.3/23 spellable, maximum 15/23. Observed: 23/23 with the real assignment. This is far beyond any reasonable null (p ≪ 0.001).
What this does not claim. The scoped null covers standard traversals. It does not cover every conceivable path through a 36×36 grid, and this work does not claim to have done so. The book’s own text states the tables are operated (as a mirror and binding grid), not decoded; the operative reading and the cryptographic null are complementary.
The public verification bundle (soyga_verification_bundle.zip) includes a 21-test suite covering:
normalize() function (j→i, v/w→u, length enforcement)verify_soyga.py, verify_section28.py, verify_null.pyRun with: pytest (requires Python 3.10+, pip install pytest).
Paleographic check of Section 18. The headline confidence of 0.97 rests on the Latin as edited by Kupin. A paleographer checking the verse against the manuscript (Bodley 908 or Sloane 8) is the single verification that would move this from 0.97 toward 0.99.
The Moon row. The printed Section 28 recipe for Tabula 31 yields UISEUR; the unique one-ordinal repair (final xvi → vi) gives UISEUA, which Reeds independently confirms as the table keyword from the full manuscript. The repair has not been verified against a manuscript image. Un-digitised folios: BL Sloane 8, fols. 140r–141r; Bodleian Bodl. 908, fols. 168v–169r. Anyone who can image these is invited to write.
The selection rule. The code words are drawn from the letters of the adjacent divine-name triads (23/23 spellable, p ≪ 0.001), but the exact ordinal selection rule is 13–19/23 clean depending on variant lane. Cancer, Pisces, Mercury, and Moon are underivable from any printed reading without emendation.
“Soyga alca miketh." The diary’s own gloss (judgment / wisdom) is the safest local reading; translation-versus-comment is not resolved. Laycock and Rowe independently index the words in those terms.
Download soyga_verification_bundle.zip — full verification suite including independent second-reviewer scripts.