the assay office / record
One Bit of Structure
Written 2026-08-24. Claims re-read against their sources on 2026-10-01: 659 checked, 558 confirmed, 99 wrong, 0 unverifiable, 2 true when written and overtaken since (dated, not corrected). By the assay line (research/assay-line/tier-a-1001/), Codex fixer directed by claude-assaying-codex-0929; source record by Codex, checked by Codex and a Claude agent.
This was the directed 2026-10-01 correction pass on liber-primus-measured at e172a4fb8f. The fixer re-read the evidence for all 102 triage items, repaired authored text and the affected data generators, regenerated their data, and checked the resulting page arithmetic. The claims below include one line per triage item, with MINOR counted in wrong, followed by the source re-reads retained from the two existing checker records at 12427dfa84; those retained lines are attributed to their checkers, not presented as a new independent audit. Dependent copies use the corrected wording where this pass narrowed a claim.
Claims
- MINOR X1: Every number on the page and in this entry is recomputed from the committed corpus by `research/cicada-3301/verify.mjs`, which exits non-zero if any of it moves.
research/cicada-3301/verify.mjs; research/cicada-3301/data/key-attack.json : The verifier recomputes core corpus measurements but also reads saved JSON and does not compare every prose number. Narrowed the checking promise; no dated correction for this MINOR. - MINOR X2: So the repeat rate is the average over the text of how often English produces the particular letter-step the key is undoing, and it can never fall below the rarest step English has, whatever the key is, interrupters and all.
public/strata/liber-primus-measured/index.html; research/cicada-3301/verify-assay-2026-10-01.mjs : The floor is an expectation under independent key differences and a common plaintext difference distribution. A legal plaintext-dependent key gives 93/12955 = 0.718%, below 1.82%. Qualified the prose, metadata and diagram; finite samples and interrupter-selected pairs need those assumptions. - MINOR X3: | the Liber Primus's own 2,977 plaintext runes | 1.3096% | 170 | 6.5σ below |
research/cicada-3301/data/own-plaintext-floor.json : The minimum cell holds 39 of 2976 pairs: 100*39/2976 = 1.310483870967742%. Replaced 1.3096% by 1.3105% in both copies and the study. - MINOR X4: The second row needs its sample size shown, and it changes the reading. That 1.3096% is a point estimate of a minimum over 29 cells taken from 2,976 pairs, and the smallest of those cells holds thirty-nine observations.
research/cicada-3301/data/own-plaintext-floor.json : The minimum cell holds 39 of 2976 pairs: 100*39/2976 = 1.310483870967742%. Replaced 1.3096% by 1.3105% in both copies and the study. - WRONG X5: A key that is not doing that lands at 1/29 = 3.448%.
public/strata/liber-primus-measured/index.html; research/cicada-3301/verify-assay-2026-10-01.mjs : The page said every key that misses the additive floor, and every bench machine, lands at 1/29. That is the expectation for uniform key differences independent of the plaintext; other differences can give other rates. The page's progressive key gives 2.300% on its initial plaintext, and its rotor models have no reflector; found by the assay line, 2026-10-01. - MINOR X6: Two headings contain a one-rune word, which in English is A or I, making `p3-7` rune 816 and `p54-55` rune 0 single-rune cribs with two candidates each.
https://www.cicadasolvers.com/wiki/liber-primus/liber-primus-structural-overview/; research/cicada-3301/lib/wordlist.py : The source names the interjection O. The actual dictionary search restricts one-rune words to A/I. Stated that search restriction and the omitted O; did not silently widen or rerun the search. - MINOR X7: Base 61 or 62 forces nothing at all, and seventeen tokens landing that low by chance is about one in ten billion.
research/cicada-3301/analysis/token_decode.py : 4B+d <= 255 gives d <= 11 at B=61 and d <= 7 at B=62. The observed 15 violates both; (16/B)^17 is a separate unrestricted-uniform-digit null. Corrected prose, script explanation and verifier assertion labels. - WRONG X8: The correction is still worth having, since every published attempt on that block was run against four wrong values, but it does not make the block say anything.
research/cicada-3301/analysis/token_bars.py; research/cicada-3301/data/token-grid-corrected.json; https://uncovering-cicada.fandom.com/wiki/Liber_Primus_pp49-51_data_interpreted_as_base_59%2C_60%2C_62_and_64. : The page described unresolved transcription disputes and said every published attempt used four wrong values. The community had already published five corrections. This study's grid still read 2s at p50, zero-based row 11, token 4; the glyph is capital S, so 2S gives 148 in base 60, not 174. The regenerated grid now matches all 256 community tokens; found by the assay line, 2026-10-01. - MINOR X9: The observed lag-2 rate is 3.404%, which is 1/29 exactly. Excluded at 3.2σ (modern English, the weakest) to 11.9σ (Spanish).
research/cicada-3301/README.md; research/cicada-3301/verify.mjs : The recorded observation is 3.404%; 100/29 = 3.4482758620689653%. Replaced exact equality with closeness to chance, retaining the recorded model results. - WRONG X10: The seventeen unnumbered pages carry none of that profile and use three other quantisation tables: they were not part of that render.
research/cicada-3301/data/page-provenance.json : The page said the seventeen unnumbered pages used three other quantisation tables and were not part of the numbered pages' render. They have no embedded ICC profile and use three luma tables, but eight pages share the numbered pages' table. These fingerprints do not establish a unique rendering history; found by the assay line, 2026-10-01. - WRONG X11: This is about why the obvious attack fails even where it ought to work, and it turns on a detail nobody had checked.
https://raw.githubusercontent.com/relikd/LiberPrayground/686afb6f26ff7fd769d0aba9e69b97bfdf685832/README.md : The page said nobody had checked the interrupter rule, every description placed it at ciphertext F, and this explained a decade of failed dictionary attacks. The 2021 LiberPrayground README already describes selected plaintext F positions, interrupt combinations and integer-sequence searches. The failed naive sweep documented here is this study's implementation; found by the assay line, 2026-10-01. - WRONG X12: Every description of that rule, including this study's own earlier code, calls it "an F rune in the ciphertext".
https://raw.githubusercontent.com/relikd/LiberPrayground/686afb6f26ff7fd769d0aba9e69b97bfdf685832/README.md : The page said nobody had checked the interrupter rule, every description placed it at ciphertext F, and this explained a decade of failed dictionary attacks. The 2021 LiberPrayground README already describes selected plaintext F positions, interrupt combinations and integer-sequence searches. The failed naive sweep documented here is this study's implementation; found by the assay line, 2026-10-01. - WRONG X13: And the book uses four ciphers, not three. Every account of the Liber Primus, this study's included, lists plaintext, Atbash, and Vigenère with a word key.
https://raw.githubusercontent.com/relikd/LiberPrayground/main/solver.py; research/cicada-3301/verify.mjs : The page said every earlier account listed only plaintext, Atbash and word-key Vigenere. LiberPrayground already implements p56's prime-minus-one running key. The four-form description stands; the universal omission claim does not; found by the assay line, 2026-10-01. - WRONG X14: Five of the ten informative cribs admit no periodic key at all below their anchor, and the longest crib in the book admits none at any period whatsoever.
research/cicada-3301/analysis/crib_periods.py; research/cicada-3301/data/crib-periods.json : The page said the longest crib admitted no key at any period whatsoever. The dictionary search covered periods 1 through 11 for that crib; it did not cover longer periods; found by the assay line, 2026-10-01. - WRONG X15: And the unsolved pages may not use the interrupter at all. This needs no cipher assumption.
research/cicada-3301/analysis/interrupter.py; research/cicada-3301/data/interrupter.json : The page said the ciphertext-F test needed no cipher assumption. Its prediction f + (1 - f)/29 assumes non-F plaintext encrypts to F with probability 1/29. In general that probability is q, giving f + (1 - f)q; the reported measurements test the stated uniform-output model; found by the assay line, 2026-10-01. - WRONG X16: If plaintext F is copied through unenciphered then `P(ct = F) = f + (1 − f)/29`, so ciphertext F must be elevated.
research/cicada-3301/analysis/interrupter.py; research/cicada-3301/data/interrupter.json : The page said the ciphertext-F test needed no cipher assumption. Its prediction f + (1 - f)/29 assumes non-F plaintext encrypts to F with probability 1/29. In general that probability is q, giving f + (1 - f)q; the reported measurements test the stated uniform-output model; found by the assay line, 2026-10-01. - MINOR X17: Asking how selected a random permutation would have to be is one thing; nobody builds a substitution alphabet at random.
https://www.cryptogram.org/downloads/tyro_tutorial_by_LIONEL_1.pdf : Re-read the cached tutorial text: it discusses and demonstrates random substitution alphabets. Replaced the universal nobody claim with the common keyword construction. - MINOR X18: Widths come a pixel apart within a size class; 91% of glyphs sit exactly on their baseline and the rest are one or two pixels off.
research/cicada-3301/data/glyph-channel.json : baseline_on_zero is 0.9103328553 and baseline_distinct is 16. Retained 91% on the baseline; replaced the exhaustive one-or-two-pixels claim by the sixteen recorded offsets. - WRONG X19: And the word-list attack, which is what a decade of public effort has actually consisted of, comes back empty only after being fixed: the interrupter is invisible from the ciphertext, so the standard sweep cannot recover the book's own keys and its silence meant nothing.
https://raw.githubusercontent.com/relikd/LiberPrayground/686afb6f26ff7fd769d0aba9e69b97bfdf685832/README.md : The page said nobody had checked the interrupter rule, every description placed it at ciphertext F, and this explained a decade of failed dictionary attacks. The 2021 LiberPrayground README already describes selected plaintext F positions, interrupt combinations and integer-sequence searches. The failed naive sweep documented here is this study's implementation; found by the assay line, 2026-10-01. - MINOR X20: In 2014 Cicada 3301 published a book in runes and then went quiet.
https://raw.githubusercontent.com/scream314/cicada3301/master/2017.md : The archive records a message signed 2017-04-04 and discovered 2017-04-29. Qualified the opening with the later signed message rather than claiming immediate silence. - MINOR X21: Whatever key you choose, it can never do better than the rarest step English has.
public/strata/liber-primus-measured/index.html; research/cicada-3301/verify-assay-2026-10-01.mjs : The floor is an expectation under independent key differences and a common plaintext difference distribution. A legal plaintext-dependent key gives 93/12955 = 0.718%, below 1.82%. Qualified the prose, metadata and diagram; finite samples and interrupter-selected pairs need those assumptions. - MINOR X22: Every additive cipher lives to the right of the wall, whatever its key, interrupters and all.
public/strata/liber-primus-measured/index.html; research/cicada-3301/verify-assay-2026-10-01.mjs : The floor is an expectation under independent key differences and a common plaintext difference distribution. A legal plaintext-dependent key gives 93/12955 = 0.718%, below 1.82%. Qualified the prose, metadata and diagram; finite samples and interrupter-selected pairs need those assumptions. - WRONG X23: A key that is not doing that lands at 3.45%, where every machine below lands.
public/strata/liber-primus-measured/index.html; research/cicada-3301/verify-assay-2026-10-01.mjs : The page said every key that misses the additive floor, and every bench machine, lands at 1/29. That is the expectation for uniform key differences independent of the plaintext; other differences can give other rates. The page's progressive key gives 2.300% on its initial plaintext, and its rotor models have no reflector; found by the assay line, 2026-10-01. - MINOR X24: Every machine is seeded afresh each run, so the numbers wobble; none of them wobbles anywhere near the book.
public/strata/liber-primus-measured/index.html : The PRNG starts at seed 3301 on page load. Progressive and prime shifts are deterministic for fixed plaintext. Replaced the every-machine-freshly-seeded claim. - WRONG X25: Vigenere with F interrupters, as on the welcome page
public/strata/liber-primus-measured/index.html; research/cicada-3301/data/interrupter.json : The bench and selector called a random F replacement model the solved pages' interrupter. That code replaces arbitrary plaintext symbols by F with probability 6%; the solved rule copies plaintext F and pauses the key there. Both controls now name the toy model; found by the assay line, 2026-10-01. - WRONG X26: This is about why the obvious attack fails even where it ought to work, and it turns on a detail that had never been checked.
https://raw.githubusercontent.com/relikd/LiberPrayground/686afb6f26ff7fd769d0aba9e69b97bfdf685832/README.md : The page said nobody had checked the interrupter rule, every description placed it at ciphertext F, and this explained a decade of failed dictionary attacks. The 2021 LiberPrayground README already describes selected plaintext F positions, interrupt combinations and integer-sequence searches. The failed naive sweep documented here is this study's implementation; found by the assay line, 2026-10-01. - WRONG X27: Every account of the Liber Primus, this study's included, lists plaintext, Atbash, and Vigenere with a word key. p56_an_end is none of those.
https://raw.githubusercontent.com/relikd/LiberPrayground/main/solver.py; research/cicada-3301/verify.mjs : The page said every earlier account listed only plaintext, Atbash and word-key Vigenere. LiberPrayground already implements p56's prime-minus-one running key. The four-form description stands; the universal omission claim does not; found by the assay line, 2026-10-01. - WRONG X28: Five of the ten informative cribs admit no periodic key at all below their anchor length, and the longest crib in the book admits none at any period whatsoever.
research/cicada-3301/analysis/crib_periods.py; research/cicada-3301/data/crib-periods.json : The page said the longest crib admitted no key at any period whatsoever. The dictionary search covered periods 1 through 11 for that crib; it did not cover longer periods; found by the assay line, 2026-10-01. - WRONG X29: This one needs no cipher assumption at all, which is rare here.
research/cicada-3301/analysis/interrupter.py; research/cicada-3301/data/interrupter.json : The page said the ciphertext-F test needed no cipher assumption. Its prediction f + (1 - f)/29 assumes non-F plaintext encrypts to F with probability 1/29. In general that probability is q, giving f + (1 - f)q; the reported measurements test the stated uniform-output model; found by the assay line, 2026-10-01. - WRONG X30: If plaintext F is copied through unenciphered then P(ct = F) = f + (1 − f)/29, where f is the plaintext's own F rate, so ciphertext F must be elevated above 1/29.
research/cicada-3301/analysis/interrupter.py; research/cicada-3301/data/interrupter.json : The page said the ciphertext-F test needed no cipher assumption. Its prediction f + (1 - f)/29 assumes non-F plaintext encrypts to F with probability 1/29. In general that probability is q, giving f + (1 - f)q; the reported measurements test the stated uniform-output model; found by the assay line, 2026-10-01. - MINOR X31: Widths come a pixel apart within a size class; 91% of glyphs sit exactly on their line's baseline and the rest are one or two pixels off.
research/cicada-3301/data/glyph-channel.json : baseline_on_zero is 0.9103328553 and baseline_distinct is 16. Retained 91% on the baseline; replaced the exhaustive one-or-two-pixels claim by the sixteen recorded offsets. - MINOR X32: Word shapes survive any rune-wise cipher, which makes these the tightest cribs anyone has, and two of the thirteen contain a one-rune word, which in English is A or I.
https://www.cicadasolvers.com/wiki/liber-primus/liber-primus-structural-overview/; research/cicada-3301/lib/wordlist.py : The source names the interjection O. The actual dictionary search restricts one-rune words to A/I. Stated that search restriction and the omitted O; did not silently widen or rerun the search. - MINOR X33: Base 61 or 62 forces nothing, and seventeen tokens landing that low by chance is about one in ten billion.
research/cicada-3301/analysis/token_decode.py : 4B+d <= 255 gives d <= 11 at B=61 and d <= 7 at B=62. The observed 15 violates both; (16/B)^17 is a separate unrestricted-uniform-digit null. Corrected prose, script explanation and verifier assertion labels. - WRONG X34: The correction is still worth having, because every published attempt on that block was run against four wrong values, but it does not make the block say anything.
research/cicada-3301/analysis/token_bars.py; research/cicada-3301/data/token-grid-corrected.json; https://uncovering-cicada.fandom.com/wiki/Liber_Primus_pp49-51_data_interpreted_as_base_59%2C_60%2C_62_and_64. : The page described unresolved transcription disputes and said every published attempt used four wrong values. The community had already published five corrections. This study's grid still read 2s at p50, zero-based row 11, token 4; the glyph is capital S, so 2S gives 148 in base 60, not 174. The regenerated grid now matches all 256 community tokens; found by the assay line, 2026-10-01. - MINOR X35: Not the seams between runs of a slowly-changing alphabet: fit that model to the repeat rate and it predicts a lag-2 rate of 3.95% to 5.87%, where the book's is 3.404%, which is 1/29 exactly.
research/cicada-3301/README.md; research/cicada-3301/verify.mjs : The recorded observation is 3.404%; 100/29 = 3.4482758620689653%. Replaced exact equality with closeness to chance, retaining the recorded model results. - MINOR X36: Every JPEG carries its encoder's fingerprint in its quantisation tables and its embedded colour profile.
research/cicada-3301/data/page-provenance.json : All seventeen unnumbered JPEG records have icc=null. An embedded profile is optional; changed its embedded profile to any embedded profile in the served prose. - WRONG X37: The seventeen unnumbered pages carry none of that profile and use three other tables: they were not part of that render.
research/cicada-3301/data/page-provenance.json : The page said the seventeen unnumbered pages used three other quantisation tables and were not part of the numbered pages' render. They have no embedded ICC profile and use three luma tables, but eight pages share the numbered pages' table. These fingerprints do not establish a unique rendering history; found by the assay line, 2026-10-01. - MINOR X38: Every number on this page is recomputed from the committed corpus by research/cicada-3301/verify.mjs: the Gematria Primus, the corpus sizes, all nine solved pages re-derived from raw ciphertext, the flatness tests, the 86, the lag and period scans, the three exclusion bounds by explicit minimisation (29 shifts, 812 affine maps, and a Hungarian assignment over the bigram matrix), ten cipher machines, and the OCR audit.
research/cicada-3301/verify.mjs; research/cicada-3301/data/key-attack.json : The verifier recomputes core corpus measurements but also reads saved JSON and does not compare every prose number. Narrowed the checking promise; no dated correction for this MINOR. - MINOR X39: every additive cipher, any key
public/strata/liber-primus-measured/index.html; research/cicada-3301/verify-assay-2026-10-01.mjs : The floor is an expectation under independent key differences and a common plaintext difference distribution. A legal plaintext-dependent key gives 93/12955 = 0.718%, below 1.82%. Qualified the prose, metadata and diagram; finite samples and interrupter-selected pairs need those assumptions. - WRONG X40: Vigenere + interrupters
public/strata/liber-primus-measured/index.html; research/cicada-3301/data/interrupter.json : The bench and selector called a random F replacement model the solved pages' interrupter. That code replaces arbitrary plaintext symbols by F with probability 6%; the solved rule copies plaintext F and pauses the key there. Both controls now name the toy model; found by the assay line, 2026-10-01. - WRONG X41: 50 repeats in the first 1,400 runes · 447 in the whole shuffle of 12,955 chances
public/strata/liber-primus-measured/index.html; research/cicada-3301/verify-assay-2026-10-01.mjs : The shuffle readout reported 447 repeats in the whole shuffled sequence. The page's seeded shuffle has 470; the readout now counts the sequence it displays; found by the assay line, 2026-10-01. - MINOR X42: (added) Two instruments that share no assumption, agreeing, is worth more than either alone.
research/cicada-3301/analysis/aperiodic.py; research/cicada-3301/lib/wordlist.py : Both instruments assume an additive model and use language information: an English dictionary versus an English bigram reference. Replaced the no-shared-assumptions claim in both page copies, study and verifier. - MINOR X43: (added) Two instruments sharing no assumption, agreeing, is worth more than either alone.
research/cicada-3301/analysis/aperiodic.py; research/cicada-3301/lib/wordlist.py : Both instruments assume an additive model and use language information: an English dictionary versus an English bigram reference. Replaced the no-shared-assumptions claim in both page copies, study and verifier. - WRONG X44: (added) Under the book.
public/strata/liber-primus-measured/index.html; research/cicada-3301/verify-assay-2026-10-01.mjs : The page could label a repeat rate up to 15% above the book as Under the book and infer how the key was built. The label now requires a rate strictly below the book's, and reports only what that rate establishes; found by the assay line, 2026-10-01. - MINOR K1: The Liber Primus forbids something adjacent to it, and no rotor machine reproduces it. [claim-015]
research/cicada-3301/verify.mjs : 86 adjacent repeats is suppression, not a prohibition. Reworded the relates note to suppression and the tested rotor models. - MINOR K2: Every number on the page and in this entry is recomputed from the committed corpus by `research/cicada-3301/verify.mjs`, which exits non-zero if any of it moves. [claim-019]
research/cicada-3301/verify.mjs; research/cicada-3301/data/key-attack.json : The verifier recomputes core corpus measurements but also reads saved JSON and does not compare every prose number. Narrowed the checking promise; no dated correction for this MINOR. - MINOR K3: In 2014 Cicada 3301's recruitment trail ended at the Liber Primus: fifty-eight pages set in the Anglo-Saxon futhorc, each rune carrying one of the first twenty-nine primes under a table the puzzle called the Gematria Primus. [claim-021]
https://www.cicadasolvers.com/quickstart/ : The source distinguishes 17 unnumbered LP1 pages and 58 numbered LP2 pages. Named both sets while retaining the nine solved sections and 56 unsolved numbered pages. - MINOR K4: / longest exact repeat, longest isomorph / 6 runes, 5 runes / 5 to 6 / [claim-030]
research/cicada-3301/data/complete-model.json : The saved statistic is longest isomorph (repeat in differences), value 5. Five differences span six runes. Corrected the unit label; the null comparison remains in differences. - MINOR K5: The solved pages are the control and they do not do it: their ciphertext repeats at 2.447%, right where a Vigenère over English lands. [claim-036]
research/cicada-3301/verify.mjs : The pooled solved ciphertext gives 46/1880 = 2.447%, while the verifier Vigenere bench gives 3.661%. Retained the pooled count, removed its claimed equality with ordinary Vigenere. - MINOR K6: / the Liber Primus's own 2,977 plaintext runes / 1.3096% / 170 / 6.5σ below / [claim-043]
research/cicada-3301/data/own-plaintext-floor.json : The minimum cell holds 39 of 2976 pairs: 100*39/2976 = 1.310483870967742%. Replaced 1.3096% by 1.3105% in both copies and the study. - MINOR K7: The second row needs its sample size shown, and it changes the reading. That 1.3096% is a point estimate of a minimum over 29 cells taken from 2,976 pairs, and the smallest of those cells holds thirty-nine observations. [claim-044]
research/cicada-3301/data/own-plaintext-floor.json : The minimum cell holds 39 of 2976 pairs: 100*39/2976 = 1.310483870967742%. Replaced 1.3096% by 1.3105% in both copies and the study. - WRONG K8: A key that is not doing that lands at 1/29 = 3.448%. [claim-064]
public/strata/liber-primus-measured/index.html; research/cicada-3301/verify-assay-2026-10-01.mjs : The page said every key that misses the additive floor, and every bench machine, lands at 1/29. That is the expectation for uniform key differences independent of the plaintext; other differences can give other rates. The page's progressive key gives 2.300% on its initial plaintext, and its rotor models have no reflector; found by the assay line, 2026-10-01. - WRONG K9: That is where all sixteen machines on the page's bench land, including the ones that match the book perfectly on flatness and aperiodicity: a running key, a one-time pad, three- and five-rotor Enigma shapes with and without a reflector, Ritter's dynamic substitution, and Byrne's Chaocipher. [claim-065]
public/strata/liber-primus-measured/index.html; research/cicada-3301/verify-assay-2026-10-01.mjs : The page said every key that misses the additive floor, and every bench machine, lands at 1/29. That is the expectation for uniform key differences independent of the plaintext; other differences can give other rates. The page's progressive key gives 2.300% on its initial plaintext, and its rotor models have no reflector; found by the assay line, 2026-10-01. - MINOR K10: At a confidence bar of eighteen pixels: 15,688 of 15,933 runes read (98.5%), 12,794 of 12,956 on the unsolved pages (98.7%), with zero disagreements. The three independent human transcriptions in circulation agree with each other exactly on all 12,956 unsolved runes. [claim-068]
https://raw.githubusercontent.com/rtkd/idkfa/master/data/liber; research/assay-line/tier-a-1001/liber-primus-measured/N2-claude.md : The three transcription streams agree on 12956 unsolved runes, but independence is not established. Removed independent while retaining the agreement and OCR figures. - MINOR K11: Two headings contain a one-rune word, which in English is A or I, making `p3-7` rune 816 and `p54-55` rune 0 single-rune cribs with two candidates each. [claim-103]
https://www.cicadasolvers.com/wiki/liber-primus/liber-primus-structural-overview/; research/cicada-3301/lib/wordlist.py : The source names the interjection O. The actual dictionary search restricts one-rune words to A/I. Stated that search restriction and the omitted O; did not silently widen or rerun the search. - MINOR K12: Twenty-one red passages there have known plaintext; one is a single glyph and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, A PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [claim-116]
research/cicada-3301/data/red-passages.json : p57_parable positions 0..6 contain PARABLE, seven runes. Removed the extra A in each list of red passages. - WRONG K13: Measuring word length in runes, the only length a rune-wise cipher preserves, the book's 2,977 known plaintext runes give 754 words, 300 distinct. [claim-126]
research/cicada-3301/analysis/crib_passage.py; research/cicada-3301/data/solved-plaintext.txt; research/cicada-3301/data/crib-passage.json : The page counted 754 words and 300 distinct words in the known plaintext. Joining physical line wraps within each section gives 727 words and 269 distinct words, still 2,977 runes; found by the assay line, 2026-10-01. - MINOR K14: Every other slot in the passage has between twenty-seven and sixty-seven candidates; the fourth has three. [claim-128]
research/cicada-3301/data/solved-plaintext.txt; research/cicada-3301/data/crib-passage.json : Joining physical wraps gives distinct vocabulary counts 21, 42, 63, 31, 32 at lengths 2,3,4,5,6. Replaced the range 27..67 by 21..63 and the study table values; eleven-rune words remain three. - WRONG K15: The solving community reads that grid in bases 59 to 64 and reports a standing problem with it: transcription disputes, capital against lowercase above all. [claim-134]
research/cicada-3301/analysis/token_bars.py; research/cicada-3301/data/token-grid-corrected.json; https://uncovering-cicada.fandom.com/wiki/Liber_Primus_pp49-51_data_interpreted_as_base_59%2C_60%2C_62_and_64. : The page described unresolved transcription disputes and said every published attempt used four wrong values. The community had already published five corrections. This study's grid still read 2s at p50, zero-based row 11, token 4; the glyph is capital S, so 2S gives 148 in base 60, not 174. The regenerated grid now matches all 256 community tokens; found by the assay line, 2026-10-01. - MINOR K16: The characters a reader confuses in this typeface are featureless vertical bars, and what separates them is height. [claim-136]
research/cicada-3301/analysis/token_bars.py; research/cicada-3301/data/token-grid-corrected.json : Four corrections concern bare bars, but the fifth is S/s. Limited the bare-bar description to those four; retained the measured 44/67/75-pixel ruler. - WRONG K17: Four of the 256 values in the block are wrong in the published transcription, in exactly the class the community already suspects. [claim-153]
research/cicada-3301/analysis/token_bars.py; research/cicada-3301/data/token-grid-corrected.json; https://uncovering-cicada.fandom.com/wiki/Liber_Primus_pp49-51_data_interpreted_as_base_59%2C_60%2C_62_and_64. : The page described unresolved transcription disputes and said every published attempt used four wrong values. The community had already published five corrections. This study's grid still read 2s at p50, zero-based row 11, token 4; the glyph is capital S, so 2S gives 148 in base 60, not 174. The regenerated grid now matches all 256 community tokens; found by the assay line, 2026-10-01. - WRONG K18: The correction is still worth having, since every published attempt on that block was run against four wrong values, but it does not make the block say anything. [claim-170]
research/cicada-3301/analysis/token_bars.py; research/cicada-3301/data/token-grid-corrected.json; https://uncovering-cicada.fandom.com/wiki/Liber_Primus_pp49-51_data_interpreted_as_base_59%2C_60%2C_62_and_64. : The page described unresolved transcription disputes and said every published attempt used four wrong values. The community had already published five corrections. This study's grid still read 2s at p50, zero-based row 11, token 4; the glyph is capital S, so 2S gives 148 in base 60, not 174. The regenerated grid now matches all 256 community tokens; found by the assay line, 2026-10-01. - MINOR K19: / fourteen English texts / / / 20.7% to 24.8% / [claim-194]
research/cicada-3301/data/word-structure.json : english_two_rune contains thirteen values. Replaced fourteen by thirteen and made the verifier print the array length. The separate 14-text bigram reference is unchanged. - WRONG K20: This is about why the obvious attack fails even where it ought to work, and it turns on a detail nobody had checked. [claim-260]
https://raw.githubusercontent.com/relikd/LiberPrayground/686afb6f26ff7fd769d0aba9e69b97bfdf685832/README.md : The page said nobody had checked the interrupter rule, every description placed it at ciphertext F, and this explained a decade of failed dictionary attacks. The 2021 LiberPrayground README already describes selected plaintext F positions, interrupt combinations and integer-sequence searches. The failed naive sweep documented here is this study's implementation; found by the assay line, 2026-10-01. - WRONG K21: Every description of that rule, including this study's own earlier code, calls it "an F rune in the ciphertext". [claim-262]
https://raw.githubusercontent.com/relikd/LiberPrayground/686afb6f26ff7fd769d0aba9e69b97bfdf685832/README.md : The page said nobody had checked the interrupter rule, every description placed it at ciphertext F, and this explained a decade of failed dictionary attacks. The 2021 LiberPrayground README already describes selected plaintext F positions, interrupt combinations and integer-sequence searches. The failed naive sweep documented here is this study's implementation; found by the assay line, 2026-10-01. - MINOR K22: Sweeping every dictionary word and every single global rune substitution of one gives 13,257,833 candidate keys, and that version recovers both of the book's keys at rank 1: DIVINITY at z +3.98, and CIRCUMFERENCE-with-C-replaced-by-F at z +7.48, reading out `ACOANDURNGALESSONTHEMASTEREXPLAINEDTHE`. [claim-291]
research/cicada-3301/data/key-attack.json : subst_controls true_z are 4.7066761831 and 8.7105198014. The page now explicitly reports the committed run as +4.71/+8.71; earlier unkept values are not declared disproved. - MINOR K23: Run on the first forty-four runes of all nine unsolved blocks, nothing survives: the smallest empirical tail fraction anywhere is p = 0.32. [claim-293]
research/cicada-3301/data/key-attack.json : summary.subst_min_p is 0.2. Replaced p=0.32 by p=0.20 and identified the committed run; no new sweep was run. - MINOR K24: The hypothesis matters more, and the control shows why: on a 51-rune window of 0_welcome that contains an interrupter, supplying the hypothesis finds the true key at z +9.06, and withholding it drops the same true key to z −11.96. [claim-296]
research/cicada-3301/data/key-attack.json : The committed offset-100 passage control records +10.1286627488 with the hypothesis and -9.9348465817 without. Reported +10.13/-9.93 explicitly as that run, without denying earlier observations. - MINOR K25: The p53 passage holds exactly one ciphertext F, so there are two hypotheses and both were run: no interrupter gives HUMMINGBIRD at z +1.94, and an interrupter at offset 38 gives ELSA at z +0.87, against a true-positive band of +4.03 to +12.40. [claim-298]
research/cicada-3301/data/key-attack.json : The committed passage z values are HUMMINGBIRD 1.7933001012 and ELSA 0.9631584478. Successful passage-control true_z values span 9.0579050238..10.6129264202. Reported +1.79/+0.96 and +9.06..+10.61 as the committed run. - WRONG K26: And the book uses four ciphers, not three. Every account of the Liber Primus, this study's included, lists plaintext, Atbash, and Vigenère with a word key. [claim-300]
https://raw.githubusercontent.com/relikd/LiberPrayground/main/solver.py; research/cicada-3301/verify.mjs : The page said every earlier account listed only plaintext, Atbash and word-key Vigenere. LiberPrayground already implements p56's prime-minus-one running key. The four-form description stands; the universal omission claim does not; found by the assay line, 2026-10-01. - WRONG K27: / p3-7 @0 / 16 / 11 / 1..11 / 1.3×10¹³ / 3 / [claim-313]
research/cicada-3301/data/crib-periods.json; research/cicada-3301/analysis/crib_periods.py : The p3-7 and p40-53 table rows printed 1.3 times 10^13 key streams for periods 1 through 11. The sum of 29^1 through 29^11 is 12,636,242,257,338,179, which rounds to 1.3 times 10^16; found by the assay line, 2026-10-01. - STALE K28: / p54-55 @0 / 9 / 8 / 1..8 / 5.2×10¹¹ / 1,441 / [claim-318]
git show c11c442045:research/cicada-3301/data/crib-periods.json; git show 228901afcc:research/cicada-3301/data/crib-periods.json : The p54-55 row's 1,441 survivors was the recorded result on 2026-08-24. The 2026-08-30 dictionary run records 93 survivors below the anchor; the table now shows that run; found by the assay line, 2026-10-01. - WRONG K29: / p40-53 @2957 / 51 / 11 / 1..11 / 1.3×10¹³ / 0, none at any period / [claim-319]
research/cicada-3301/data/crib-periods.json; research/cicada-3301/analysis/crib_periods.py : The p3-7 and p40-53 table rows printed 1.3 times 10^13 key streams for periods 1 through 11. The sum of 29^1 through 29^11 is 12,636,242,257,338,179, which rounds to 1.3 times 10^16; found by the assay line, 2026-10-01. - MINOR K30: Asking how selected a random permutation would have to be is one thing; nobody builds a substitution alphabet at random. [claim-353]
https://www.cryptogram.org/downloads/tyro_tutorial_by_LIONEL_1.pdf : Re-read the cached tutorial text: it discusses and demonstrates random substitution alphabets. Replaced the universal nobody claim with the common keyword construction. - WRONG K31: And the word-list attack, which is what a decade of public effort has actually consisted of, comes back empty only after being fixed: the interrupter is invisible from the ciphertext, so the standard sweep cannot recover the book's own keys and its silence meant nothing. [claim-386]
https://raw.githubusercontent.com/relikd/LiberPrayground/686afb6f26ff7fd769d0aba9e69b97bfdf685832/README.md : The page said nobody had checked the interrupter rule, every description placed it at ciphertext F, and this explained a decade of failed dictionary attacks. The 2021 LiberPrayground README already describes selected plaintext F positions, interrupt combinations and integer-sequence searches. The failed naive sweep documented here is this study's implementation; found by the assay line, 2026-10-01. - MINOR K32: In 2014 Cicada 3301 published a book in runes and then went quiet. [claim-393]
https://raw.githubusercontent.com/scream314/cicada3301/master/2017.md : The archive records a message signed 2017-04-04 and discovered 2017-04-29. Qualified the opening with the later signed message rather than claiming immediate silence. - WRONG K33: A key that is not doing that lands at 3.45%, where every machine below lands. [claim-432]
public/strata/liber-primus-measured/index.html; research/cicada-3301/verify-assay-2026-10-01.mjs : The page said every key that misses the additive floor, and every bench machine, lands at 1/29. That is the expectation for uniform key differences independent of the plaintext; other differences can give other rates. The page's progressive key gives 2.300% on its initial plaintext, and its rotor models have no reflector; found by the assay line, 2026-10-01. - MINOR K34: running shift by the primes, as on page 56 [claim-449]
public/strata/liber-primus-measured/index.html; https://raw.githubusercontent.com/relikd/LiberPrayground/main/solver.py : The prime option adds prime+k[0], while p56 uses prime-1. Removed the p56 attribution from the prime option; the phi(prime) option retains it. - WRONG K35: This is about why the obvious attack fails even where it ought to work, and it turns on a detail that had never been checked. [claim-491]
https://raw.githubusercontent.com/relikd/LiberPrayground/686afb6f26ff7fd769d0aba9e69b97bfdf685832/README.md : The page said nobody had checked the interrupter rule, every description placed it at ciphertext F, and this explained a decade of failed dictionary attacks. The 2021 LiberPrayground README already describes selected plaintext F positions, interrupt combinations and integer-sequence searches. The failed naive sweep documented here is this study's implementation; found by the assay line, 2026-10-01. - MINOR K36: Sweeping every dictionary word and every single global rune substitution of one gives 13,257,833 candidate keys, and that version recovers both of the book's keys at rank 1: DIVINITY at z +3.98, and CIRCUMFERENCE with C replaced by F at z +7.48, reading out ACOANDURNGALESSONTHEMASTEREXPLAINEDTHE. [claim-516]
research/cicada-3301/data/key-attack.json : subst_controls true_z are 4.7066761831 and 8.7105198014. The page now explicitly reports the committed run as +4.71/+8.71; earlier unkept values are not declared disproved. - MINOR K37: Run it on the first 44 runes of all nine unsolved blocks and nothing survives: the smallest empirical tail fraction anywhere is p = 0.32. [claim-517]
research/cicada-3301/data/key-attack.json : summary.subst_min_p is 0.2. Replaced p=0.32 by p=0.20 and identified the committed run; no new sweep was run. - MINOR K38: Take a 51-rune window of 0_welcome that contains an interrupter and run the attack twice: with the hypothesis supplied the true key is found at z +9.06; without it, the same true key scores z −11.96. [claim-521]
research/cicada-3301/data/key-attack.json : The committed offset-100 passage control records +10.1286627488 with the hypothesis and -9.9348465817 without. Reported +10.13/-9.93 explicitly as that run, without denying earlier observations. - MINOR K39: No interrupter: best key HUMMINGBIRD at z +1.94. [claim-525]
research/cicada-3301/data/key-attack.json : The committed passage z values are HUMMINGBIRD 1.7933001012 and ELSA 0.9631584478. Successful passage-control true_z values span 9.0579050238..10.6129264202. Reported +1.79/+0.96 and +9.06..+10.61 as the committed run. - MINOR K40: Interrupter at offset 38: best key ELSA at z +0.87. [claim-526]
research/cicada-3301/data/key-attack.json : The committed passage z values are HUMMINGBIRD 1.7933001012 and ELSA 0.9631584478. Successful passage-control true_z values span 9.0579050238..10.6129264202. Reported +1.79/+0.96 and +9.06..+10.61 as the committed run. - MINOR K41: Against a true-positive band of +4.03 to +12.40 on the controls. [claim-527]
research/cicada-3301/data/key-attack.json : The committed passage z values are HUMMINGBIRD 1.7933001012 and ELSA 0.9631584478. Successful passage-control true_z values span 9.0579050238..10.6129264202. Reported +1.79/+0.96 and +9.06..+10.61 as the committed run. - CONFIRMED K42: And the book uses four ciphers, not three. [claim-529]
https://raw.githubusercontent.com/relikd/LiberPrayground/main/solver.py; research/cicada-3301/verify.mjs : REJECTED with evidence: the solver has plaintext, Atbash, word-key Vigenere and solution_p56_end subtracting PRIMES[i]-1 through SequenceSolver. Four forms is true. Retained the isolated sentence; corrected the separate universal-priority claims in X13/K26/X27/K43. - WRONG K43: Every account of the Liber Primus, this study's included, lists plaintext, Atbash, and Vigenere with a word key. p56_an_end is none of those. [claim-530]
https://raw.githubusercontent.com/relikd/LiberPrayground/main/solver.py; research/cicada-3301/verify.mjs : The page said every earlier account listed only plaintext, Atbash and word-key Vigenere. LiberPrayground already implements p56's prime-minus-one running key. The four-form description stands; the universal omission claim does not; found by the assay line, 2026-10-01. - WRONG K44: p3-7 @0 16 11 1..11 1.3×10 13 3 [claim-547]
research/cicada-3301/data/crib-periods.json; research/cicada-3301/analysis/crib_periods.py : The p3-7 and p40-53 table rows printed 1.3 times 10^13 key streams for periods 1 through 11. The sum of 29^1 through 29^11 is 12,636,242,257,338,179, which rounds to 1.3 times 10^16; found by the assay line, 2026-10-01. - STALE K45: p54-55 @0 9 8 1..8 5.2×10 11 1,441 [claim-552]
git show c11c442045:research/cicada-3301/data/crib-periods.json; git show 228901afcc:research/cicada-3301/data/crib-periods.json : The p54-55 row's 1,441 survivors was the recorded result on 2026-08-24. The 2026-08-30 dictionary run records 93 survivors below the anchor; the table now shows that run; found by the assay line, 2026-10-01. - WRONG K46: p40-53 @2957 51 11 1..11 1.3×10 13 0, at any period [claim-553]
research/cicada-3301/data/crib-periods.json; research/cicada-3301/analysis/crib_periods.py : The p3-7 and p40-53 table rows printed 1.3 times 10^13 key streams for periods 1 through 11. The sum of 29^1 through 29^11 is 12,636,242,257,338,179, which rounds to 1.3 times 10^16; found by the assay line, 2026-10-01. - MINOR K47: Twenty-one red passages there have known plaintext; one is a single glyph, and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, A PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [claim-630]
research/cicada-3301/data/red-passages.json : p57_parable positions 0..6 contain PARABLE, seven runes. Removed the extra A in each list of red passages. - WRONG K48: Measuring word length in runes, the only length a rune-wise cipher preserves, the book's 2,977 known plaintext runes give 754 words, 300 of them distinct. [claim-637]
research/cicada-3301/analysis/crib_passage.py; research/cicada-3301/data/solved-plaintext.txt; research/cicada-3301/data/crib-passage.json : The page counted 754 words and 300 distinct words in the known plaintext. Joining physical line wraps within each section gives 727 words and 269 distinct words, still 2,977 runes; found by the assay line, 2026-10-01. - MINOR K49: The characters a reader confuses in this typeface are featureless vertical bars, and what separates them is height, and the grid supplies its own ruler: x-height 44 px (a c e m n o r s u v w x), cap height 67 px (B D E F H K L P T X Y Z and every digit, 1 included), ascender 75 px (b d k). [claim-641]
research/cicada-3301/analysis/token_bars.py; research/cicada-3301/data/token-grid-corrected.json : Four corrections concern bare bars, but the fifth is S/s. Limited the bare-bar description to those four; retained the measured 44/67/75-pixel ruler. - WRONG K50: The correction is still worth having, because every published attempt on that block was run against four wrong values, but it does not make the block say anything. [claim-657]
research/cicada-3301/analysis/token_bars.py; research/cicada-3301/data/token-grid-corrected.json; https://uncovering-cicada.fandom.com/wiki/Liber_Primus_pp49-51_data_interpreted_as_base_59%2C_60%2C_62_and_64. : The page described unresolved transcription disputes and said every published attempt used four wrong values. The community had already published five corrections. This study's grid still read 2s at p50, zero-based row 11, token 4; the glyph is capital S, so 2S gives 148 in base 60, not 174. The regenerated grid now matches all 256 community tokens; found by the assay line, 2026-10-01. - MINOR K51: The unsolved pages are short of two-rune words: 15.5% against 24.1% in the book's own plaintext (p = 6×10−8) and against a range of 20.7% to 24.8% across fourteen English texts. [claim-665]
research/cicada-3301/data/word-structure.json : english_two_rune contains thirteen values. Replaced fourteen by thirteen and made the verifier print the array length. The separate 14-text bigram reference is unchanged. - MINOR K52: Every number on this page is recomputed from the committed corpus by research/cicada-3301/verify.mjs: the Gematria Primus, the corpus sizes, all nine solved pages re-derived from raw ciphertext, the flatness tests, the 86, the lag and period scans, the three exclusion bounds by explicit minimisation (29 shifts, 812 affine maps, and a Hungarian assignment over the bigram matrix), ten cipher machines, and the OCR audit. [claim-684]
research/cicada-3301/verify.mjs; research/cicada-3301/data/key-attack.json : The verifier recomputes core corpus measurements but also reads saved JSON and does not compare every prose number. Narrowed the checking promise; no dated correction for this MINOR. - MINOR K53: It exits non-zero if any of it moves. [claim-685]
research/cicada-3301/verify.mjs; research/cicada-3301/data/key-attack.json : The verifier recomputes core corpus measurements but also reads saved JSON and does not compare every prose number. Narrowed the checking promise; no dated correction for this MINOR. - MINOR K54: Last verified 24 August 2026, when it was written. [claim-693]
research/cicada-3301/verify.mjs; git show 6b1082fcb0 : The layer was extended after 24 August and this pass reruns its verifier. Set last verified and JSON-LD dateModified to 2026-10-01; no extra Updated line for this metadata revision. - MINOR K55: The bright cells are TH, HE, EA, ING and the rest of English. [claim-714]
public/strata/liber-primus-measured/data.json : Sorting bigramEN gives TH-E, E-R, A-N, N-D, E-D, R-E as the top six pairs. Replaced the mislabeled TH/HE/EA/ING cells with actual pairs. - MINOR K56: running key [claim-734]
public/strata/liber-primus-measured/index.html; research/cicada-3301/verify.mjs : The row uses mod(x+rint(29)), the same uniform random-key construction as the pad row. Renamed it uniform random key in the page and verifier. - MINOR K57: Twenty-one red passages there have known plaintext; one is a single glyph and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, A PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [red-label-13: A PARABLE]
research/cicada-3301/data/red-passages.json : p57_parable positions 0..6 contain PARABLE, seven runes. Removed the extra A in each list of red passages. - WRONG K58: 50 repeats in the first 1,400 runes · 447 in the whole shuffle of 12,955 chances [readout-w-shuf]
public/strata/liber-primus-measured/index.html; research/cicada-3301/verify-assay-2026-10-01.mjs : The shuffle readout reported 447 repeats in the whole shuffled sequence. The page's seeded shuffle has 470; the readout now counts the sequence it displays; found by the assay line, 2026-10-01. - CONFIRMED Artifex is Ghostscript [artifex-ghostscript]
https://artifex.com/products : artifex-ghostscript; checker re-read retained from N2-claude.md: excerpt found by assay/sources.mjs --online and read against the claim - CONFIRMED (added) Ritter's dynamic substitution (md line 73: "Ritter's dynamic substitution, and Byrne's Chaocipher")
https://api.crossref.org/works/10.1080/0161-119091864986 : checker-550; checker re-read retained from N2-claude.md: Terry Ritter, "Substitution Cipher with Pseudo-Random Shuffling: The Dynamic Substitution Combiner", Cryptologia, October 1990 - CONFIRMED (added) Byrne's Chaocipher (md line 73; html line 375: "Byrne's Chaocipher")
https://en.wikipedia.org/wiki/Chaocipher : checker-551; checker re-read retained from N2-claude.md: "The Chaocipher is a cipher method invented by John Francis Byrne in 1918" - CONFIRMED Artifex is Ghostscript
https://artifex.com/products : checker-553; checker re-read retained from N2-codex.md: artifex-ghostscript; src/content/strata/liber-primus-measured.md:195; Artifex's own product page lists Ghostscript as its PostScript/PDF interpreter and rendering engine. This affiliation alone cannot identify a unique originating document. - CONFIRMED 256 bytes is 2048 bits, exactly one prime factor of a 4096-bit RSA key
https://www.rfc-editor.org/rfc/rfc8017.txt : checker-554; checker re-read retained from N2-codex.md: rsa-factor; src/content/strata/liber-primus-measured.md:158; 256*8=2048. This is the usual size of a balanced two-prime 4096-bit RSA factor, as a candidate interpretation of the block. RFC 8017 actually allows u>=2 primes and does not guarantee this factor size from modulus size alone; the source-record excerpt supports factorization, not a universal bit-size rule. - CONFIRMED eight 32-byte chunks, the shape of eight SHA-256 digests.
https://www.rfc-editor.org/rfc/rfc6234.txt : checker-555; checker re-read retained from N2-codex.md: sha-size; src/content/strata/liber-primus-measured.md:158; The RFC's implementation constants explicitly give "SHA256HashSize = 32"; 256 bytes divide into eight such chunks. - CONFIRMED Cicada's own signing key is 4096-bit
https://raw.githubusercontent.com/Dukotah/cicada3301/master/liber-primus/analysis/AUDITOR-LOOP-2026-07-28.md : checker-556; checker re-read retained from N2-codex.md: cicada-signing-key; src/content/strata/liber-primus-measured.md:158; The cited audit says RSA-4096. Independently fetched the public key from keyserver.ubuntu.com and ran gpg --list-packets in a scratch homedir: "pkey[0]: [4096 bits]", "keyid: 181F01E57A35090F". - CONFIRMED Cicada's own signing key is 4096-bit [cicada-signing-key]
https://keyserver.ubuntu.com/pks/lookup?op=index&search=0x7A35090F&options=mr : cicada-signing-key; checker re-read retained from N2-claude.md: keyserver: "pub:6D854CD7933322A601C3286D181F01E57A35090F:1:4096:1325734783", uid "Cicada 3301 (845145127)"; the record's source is a 2026 agent log, right but weak - CONFIRMED rtkd/idkfa and Taiiwo/cicada, which agree with it exactly on all 12,956 unsolved runes. [citation-idkfa]
https://raw.githubusercontent.com/Taiiwo/cicada/master/cicada/liber_primus.txt : citation-idkfa; checker re-read retained from N2-claude.md: recreated: relikd pages p0-2 to p54-55, rtkd/idkfa data/liber and Taiiwo/cicada liber_primus.txt are identical on all 12,956 unsolved runes - CONFIRMED rtkd/idkfa and Taiiwo/cicada, which agree with it exactly on all 12,956 unsolved runes. [citation-taiiwo]
https://raw.githubusercontent.com/Taiiwo/cicada/master/cicada/liber_primus.txt : citation-taiiwo; checker re-read retained from N2-claude.md: recreated: relikd pages p0-2 to p54-55, rtkd/idkfa data/liber and Taiiwo/cicada liber_primus.txt are identical on all 12,956 unsolved runes - CONFIRMED Cicada 3301's unsolved rune book, measured completely. [claim-001]
research/cicada-3301/verify.mjs : claim-001; checker re-read retained from N2-claude.md: verify.mjs at 12427dfa84 measures all 12,956 unsolved runes (sections 2 to 9, exit 0) - CONFIRMED The measured repeat rate falls below additive and affine expectations under the independent-key English model; this is not a universal exclusion of additive keys.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-002; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED An operable page: mark the repeats, compare the bigram tables, and run sixteen cipher machines against the book's own number. [claim-003]
public/strata/liber-primus-measured/index.html : claim-003; checker re-read retained from N2-claude.md: the bench has 16 rows; one is a uniform-random baseline and its "running key" is the one-time pad code (claim-734) - CONFIRMED Cicada 3301's Liber Primus has held out for a decade.
https://www.cicadasolvers.com/quickstart/ : claim-004; checker re-read retained from N2-codex.md: claim-004; src/content/strata/liber-primus-measured.md:5; Quickstart reports "58" LP2 pages, "2 Solved, leaving 56 unsolved", and dates the dump to May 2014. The decade wording is supported as of the page date. - CONFIRMED Measured end to end, its 12,956 unsolved runes leave random noise in exactly one way: a rune follows itself five times less often than chance. [claim-005]
research/cicada-3301/verify.mjs : claim-005; checker re-read retained from N2-claude.md: every figure in it appears in the verify.mjs run at 12427dfa84 (exit 0) - CONFIRMED The measured repeat rate falls below additive and affine expectations under the independent-key English model; this is not a universal exclusion of additive keys.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-006; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED The measured repeat rate falls below additive and affine expectations under the independent-key English model; this is not a universal exclusion of additive keys.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-008; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED Reproducible verifier, independent OCR of the page scans, and sixteen cipher machines on the bench. [claim-009]
public/strata/liber-primus-measured/index.html : claim-009; checker re-read retained from N2-claude.md: the bench has 16 rows; one is a uniform-random baseline and its "running key" is the one-time pad code (claim-734) - CONFIRMED The Vigenère was broken by measuring how uneven a text is.
https://www.nsa.gov/portals/75/documents/news-features/declassified-documents/friedman-documents/publications/FOLDER_231/41760429079956.pdf : claim-010; checker re-read retained from N2-codex.md: claim-010; src/content/strata/liber-primus-measured.md:14; The supplied Friedman p.11 excerpt is about uncertainty in a 100-letter period, not a Vigenere attribution. The claim is supported more directly by the NSA Campaigne paper section IX: "enciphered by means of a Vigenere table" and its coincidence-based frequency alignment. Source-record excerpt should be replaced. - CONFIRMED This book is perfectly even, and that is the finding. [claim-011]
research/cicada-3301/verify.mjs : claim-011; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with the verify.mjs run at 12427dfa84 - CONFIRMED Two famous cracks that were one move: find the quantity relabelling can't change.
https://sites.utexas.edu/tpalaima/ventris-letters-now-available/ : claim-012; checker re-read retained from N2-codex.md: claim-012; src/content/strata/liber-primus-measured.md:16; UT Austin describes Ventris's grid as "based on Kober’s work with inflection" and Kober's work as essential to the decipherment. The comparison with Friedman is the page author's analogy, not a quotation or historical claim that either used the identical algorithm. - CONFIRMED Here the invariant is adjacency, and it survives every substitution.
git show 12427dfa84:research/cicada-3301/verify.mjs : claim-013; checker re-read retained from N2-codex.md: claim-013; src/content/strata/liber-primus-measured.md:16; Recreated in the pinned scratch copy: "all checks passed", 280 ok assertions, exit 0. The core counts are "unsolved corpus is 12,956 runes", "known plaintext is 2,977 runes", "IoC=0.9999", and "1.8171%" for the English-reference additive model. This is a record of the study and its tested models, not proof about arbitrary plaintexts or keys. - CONFIRMED Enigma's reflector forbade a letter from encrypting to itself.
https://www.cryptomuseum.com/crypto/enigma/working.htm : claim-014; checker re-read retained from N2-codex.md: claim-014; src/content/strata/liber-primus-measured.md:18; Crypto Museum explicitly says "A letter can never be encoded into itself" and attributes this to the reflector and the different return path. - CONFIRMED A cipher that failed on one changed letter.
https://www.law.cornell.edu/supremecourt/text/154/1 : claim-016; checker re-read retained from N2-codex.md: claim-016; src/content/strata/liber-primus-measured.md:20; The primary court opinion calls the transmission error "the change of a single letter", substituting buy for bay. The statement concerns the damaging error, not every transcription error in that telegram. - CONFIRMED The full study, the traps, and the file list are in `research/cicada-3301/README.md`.
git show 12427dfa84:research/cicada-3301/README.md : claim-018; checker re-read retained from N2-codex.md: claim-018; src/content/strata/liber-primus-measured.md:23; Read the pinned study and its committed measurement record, including its controls and limitations; checked the corresponding data and the 280-assertion verifier. Source is the author's recorded experiment, under the stated corpus and models. - CONFIRMED Nine sections have opened.
https://raw.githubusercontent.com/relikd/LiberPrayground/main/solver.py : claim-022; checker re-read retained from N2-codex.md: claim-022; src/content/strata/liber-primus-measured.md:29; Read print_all_solved: nine solve calls, including p56 and p57. This is nine sections, not nine physical pages. - CONFIRMED Pages 0 to 55, 12,956 runes, have not, in more than a decade of public attack.
https://www.cicadasolvers.com/quickstart/ : claim-023; checker re-read retained from N2-codex.md: claim-023; src/content/strata/liber-primus-measured.md:29; Quickstart gives 56 unsolved LP2 pages from 2014; the pinned corpus independently contains 12,956 runes in their nine groups. - CONFIRMED / unigram distribution / chi-square 26.4 on 28 df / uniform / [claim-025]
research/cicada-3301/verify.mjs : claim-025; checker re-read retained from N2-claude.md: every figure in it appears in the verify.mjs run at 12427dfa84 (exit 0) - CONFIRMED / index of coincidence / 0.9999 / 1.0000 (English runic: 1.78) / [claim-026]
research/cicada-3301/verify.mjs : claim-026; checker re-read retained from N2-claude.md: every figure in it appears in the verify.mjs run at 12427dfa84 (exit 0) - CONFIRMED / the 812 off-diagonal bigram cells / chi-square 841 on 811 df / uniform / [claim-027]
research/cicada-3301/verify.mjs : claim-027; checker re-read retained from N2-claude.md: every figure in it appears in the verify.mjs run at 12427dfa84 (exit 0) - CONFIRMED / repeat rate at lags 2 to 87 / every lag within 3σ / 1/29 / [claim-028]
research/cicada-3301/verify.mjs : claim-028; checker re-read retained from N2-claude.md: every figure in it appears in the verify.mjs run at 12427dfa84 (exit 0) - CONFIRMED / coset IoC at every period 2 to 150 / best 1.0181, inside a message-free null / a real periodic cipher: 1.78 / [claim-029]
research/cicada-3301/verify.mjs : claim-029; checker re-read retained from N2-claude.md: every figure in it appears in the verify.mjs run at 12427dfa84 (exit 0) - CONFIRMED / adjacent equal runes / 86 of 12,955 (0.664%) / 447 (3.448%), z = −17.4 / [claim-032]
research/cicada-3301/verify.mjs : claim-032; checker re-read retained from N2-claude.md: every figure in it appears in the verify.mjs run at 12427dfa84 (exit 0) - CONFIRMED One statistic in the whole book departs from noise. [claim-033]
research/cicada-3301/verify.mjs : claim-033; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with the verify.mjs run at 12427dfa84 - CONFIRMED It is homogeneous in every way it can be: uniform across the twenty-nine runes, across page groups, and along the text (the gaps between the eighty-six are exponential, KS p = 0.68, so they are a Poisson process and not clusters). [claim-034]
research/cicada-3301/data/doubles.json : claim-034; checker re-read retained from N2-claude.md: rune_p 0.476, block_p 0.626; the KS p is not stored, recreated with scipy kstest on the 85 gaps against an exponential: p = 0.681 - CONFIRMED It ignores word boundaries and line boundaries alike, so whatever produced it ran as one continuous stream and the page layout came afterwards. [claim-035]
research/cicada-3301/README.md : claim-035; checker re-read retained from N2-claude.md: README: 0.626% within words, 0.797% across, 0.663% within lines, 0.749% across; the word split recreated (63/10060 and 23/2887) - CONFIRMED The deficit itself is the solving community's finding, reported for years with the same count of eighty-six.
https://uncovering-cicada.fandom.com/wiki/Liber_Primus_Ideas_and_Suggestions : claim-037; checker re-read retained from N2-codex.md: claim-037; src/content/strata/liber-primus-measured.md:50; Opened the source via its indexed text after curl and direct web open were blocked. It explicitly records "86 same rune 2-grams" and an approximately fivefold deficit. The community finding predates this study. - CONFIRMED What this study adds is the arithmetic that turns a clue into an exclusion. [claim-038]
research/cicada-3301/verify.mjs : claim-038; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with the verify.mjs run at 12427dfa84 - CONFIRMED For an additive cipher, `c = p + k (mod 29)`, two ciphertext runes come out equal exactly when `p(i+1) − p(i) = k(i) − k(i+1)`.
git show 12427dfa84:research/cicada-3301/verify.mjs : claim-039; checker re-read retained from N2-codex.md: claim-039; src/content/strata/liber-primus-measured.md:52; Recreated in the pinned scratch copy: "all checks passed", 280 ok assertions, exit 0. The core counts are "unsolved corpus is 12,956 runes", "known plaintext is 2,977 runes", "IoC=0.9999", and "1.8171%" for the English-reference additive model. This is a record of the study and its tested models, not proof about arbitrary plaintexts or keys. - CONFIRMED / 8.0 M runes of English through the Gematria Primus / 1.8171% / 235 / 9.8σ below / [claim-042]
research/cicada-3301/verify.mjs : claim-042; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with the verify.mjs run at 12427dfa84 - CONFIRMED A 99.9% Bonferroni interval around it reaches down to 0.6373%, which does not exclude the book's 0.6638% at all. [claim-045]
research/cicada-3301/data/own-plaintext-floor.json : claim-045; checker re-read retained from N2-claude.md: every figure in it appears in own-plaintext-floor.json at 12427dfa84 or the verify.mjs run - CONFIRMED The direct test is the right one and it survives: for any difference to have a true rate at or below 0.664%, its cell would have to have come up at thirty-nine where 19.8 is predicted, which is p = 2.3×10⁻³ once corrected for trying all twenty-nine differences. [claim-046]
research/cicada-3301/data/own-plaintext-floor.json : claim-046; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with own-plaintext-floor.json and the verify.mjs run at 12427dfa84 - CONFIRMED Under the English-model assumptions, the own-plaintext bootstrap tail is about one in four hundred, rather than the nominal 6.5-sigma point estimate.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-047; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED The book's plaintext is also measurably not that corpus: against English proportions it gives chi-square 82.7 on 28 df, p below 10⁻⁴, being spikier, which is exactly why its own floor sits below English's. [claim-048]
research/cicada-3301/data/own-plaintext-floor.json : claim-048; checker re-read retained from N2-claude.md: every figure in it appears in own-plaintext-floor.json at 12427dfa84 or the verify.mjs run - CONFIRMED The bound is not an artefact of assuming English. `Q` is a property of the plaintext, so it was measured in every language the book could plausibly be in. [claim-050]
research/cicada-3301/data/language-floors.json : claim-050; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with language-floors.json and the verify.mjs run at 12427dfa84 - CONFIRMED Not one has an adjacent-difference bin below 0.664%: modern English 1.8147% (z = −9.81), Middle English 1.6075% (−8.54), Latin 1.2553% (−6.05), Italian 1.0160% (−4.00), Spanish 1.0062% (−3.90), German 1.0043% (−3.89), Dutch 0.9952% (−3.80), Old English measured within words 1.0566% (−4.22). [claim-051]
research/cicada-3301/data/language-floors.json : claim-051; checker re-read retained from N2-claude.md: seven languages recomputed by verify.mjs 7a; the Old English 1.0566% (-4.22) is in the README table only (no committed code or data computes it) - CONFIRMED The weakest case still puts the book 3.8 standard deviations under the floor. [claim-052]
research/cicada-3301/data/language-floors.json : claim-052; checker re-read retained from N2-claude.md: every figure in it appears in language-floors.json at 12427dfa84 or the verify.mjs run - CONFIRMED Generalising, for a cipher applying an arbitrary map at each position the rate is the average of `Σ B[x, g(x)]` over the plaintext bigram matrix, and minimising that over a class bounds the class:
git show 12427dfa84:research/cicada-3301/verify.mjs : claim-053; checker re-read retained from N2-codex.md: claim-053; src/content/strata/liber-primus-measured.md:63; Recreated in the pinned scratch copy: "all checks passed", 280 ok assertions, exit 0. The core counts are "unsolved corpus is 12,956 runes", "known plaintext is 2,977 runes", "IoC=0.9999", and "1.8171%" for the English-reference additive model. This is a record of the study and its tested models, not proof about arbitrary plaintexts or keys. - CONFIRMED / additive: Vigenère, Beaufort, running key, one-time pad, autokey, progressive, totient and prime and OEIS shifts, all with or without interrupters / 29 shifts / 1.8171% / excluded, 9.8σ / [claim-054]
research/cicada-3301/verify.mjs : claim-054; checker re-read retained from N2-claude.md: every figure in it appears in the verify.mjs run at 12427dfa84 (exit 0) - CONFIRMED / affine, `ax + b` per position / 812 maps / 1.2888% / excluded, 6.3σ / [claim-055]
research/cicada-3301/verify.mjs : claim-055; checker re-read retained from N2-claude.md: every figure in it appears in the verify.mjs run at 12427dfa84 (exit 0) - CONFIRMED / an arbitrary permutation per position / a minimum-cost assignment on B / 0.1435% / not excluded / [claim-056]
research/cicada-3301/verify.mjs : claim-056; checker re-read retained from N2-claude.md: every figure in it appears in the verify.mjs run at 12427dfa84 (exit 0) - CONFIRMED And the surviving class is not excluded but it is not ordinary either. For a cipher applying alphabet `f(i)` at position i, the repeat rate is the mean bigram weight of `g = f(i+1)⁻¹ ∘ f(i)`.
git show 12427dfa84:research/cicada-3301/verify.mjs : claim-057; checker re-read retained from N2-codex.md: claim-057; src/content/strata/liber-primus-measured.md:71; Recreated in the pinned scratch copy: "all checks passed", 280 ok assertions, exit 0. The core counts are "unsolved corpus is 12,956 runes", "known plaintext is 2,977 runes", "IoC=0.9999", and "1.8171%" for the English-reference additive model. This is a record of the study and its tested models, not proof about arbitrary plaintexts or keys. - CONFIRMED A permutation drawn at random averages exactly 1/29.
git show 12427dfa84:research/cicada-3301/verify.mjs : claim-058; checker re-read retained from N2-codex.md: claim-058; src/content/strata/liber-primus-measured.md:71; Recreated in the pinned scratch copy: "all checks passed", 280 ok assertions, exit 0. The core counts are "unsolved corpus is 12,956 runes", "known plaintext is 2,977 runes", "IoC=0.9999", and "1.8171%" for the English-reference additive model. This is a record of the study and its tested models, not proof about arbitrary plaintexts or keys. - CONFIRMED No natural algebraic alphabet of the Gematria Primus gets close either (identity 3.54%, Atbash 2.66%, ×13 2.55%, cube 2.79%, inversion mod 29 2.02%, best shift 1.82%). [claim-060]
research/cicada-3301/README.md : claim-060; checker re-read retained from N2-claude.md: every figure in it appears in README.md at 12427dfa84 or the verify.mjs run - CONFIRMED So a surviving cipher relates its successive alphabets by permutations whose average bigram weight sits at the one-in-two-million level for dodging English. [claim-061]
research/cicada-3301/README.md : claim-061; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with README.md and the verify.mjs run at 12427dfa84 - CONFIRMED Under the independent-key English model, attaining the minimum expected repeat rate at every position requires the rarest difference at each position; that arithmetic-progression key has period 29.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-063; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED One transcription reads four runes where the scans show three at two positions in the koan. [claim-071]
https://raw.githubusercontent.com/relikd/LiberPrayground/main/pages/0_koan_1.txt : claim-071; checker re-read retained from N2-claude.md: relikd's koan has the four-rune ᚪᛞᚹᛋ 5 times and its solved text collapses the first two antitheses; idkfa's file reads the three-rune form - CONFIRMED The page is built on an antithesis between who and what, stated four times: that is not who you are, that is only what you are called; that is what you do, not who you are; that is only your species, not who you are; that is merely what you are, not who you are. [claim-075]
https://raw.githubusercontent.com/relikd/LiberPrayground/main/pages/solved_0_koan_1.txt : claim-075; checker re-read retained from N2-claude.md: relikd's decryption reads "THAT IS NOT WHAT YOU ARE ... ONLY WHAT YOU ARE CALLED" and "THAT IS WHAT YOU DO ... NOT WHAT YOU ARE", the last two with WHO; the iddqd ciphertext quoted on the uncovering-cicada how-solved page has ᚪᛞᛠ (WHO) at the first; README correction table matches - CONFIRMED In the published transcription the first two collapse into tautologies. [claim-076]
https://raw.githubusercontent.com/relikd/LiberPrayground/main/pages/0_koan_1.txt : claim-076; checker re-read retained from N2-claude.md: relikd's koan has the four-rune ᚪᛞᚹᛋ 5 times and its solved text collapses the first two antitheses; idkfa's file reads the three-rune form - CONFIRMED The last two were already right, which is what shows the pattern. [claim-077]
https://raw.githubusercontent.com/relikd/LiberPrayground/main/pages/0_koan_1.txt : claim-077; checker re-read retained from N2-claude.md: relikd's koan has the four-rune ᚪᛞᚹᛋ 5 times and its solved text collapses the first two antitheses; idkfa's file reads the three-rune form - CONFIRMED The page images hold a second channel: ink colour. [claim-079]
research/cicada-3301/data/sections.json : claim-079; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with sections.json and the verify.mjs run at 12427dfa84 - CONFIRMED It is bimodal to the pixel. [claim-080]
research/cicada-3301/data/red-runes.json : claim-080; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with red-runes.json and the verify.mjs run at 12427dfa84 - CONFIRMED Of the 13,867 glyphs on the numbered pages, 13,631 carry no red at all and 236 are red through, with nothing in between, so "is this rune red" is not a judgement call. [claim-081]
research/cicada-3301/data/red-runes.json : claim-081; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with red-runes.json and the verify.mjs run at 12427dfa84 - CONFIRMED And on every page whose plaintext is known, the red runs read: A KOAN · AN INSTRUCTION · KNOW THIS · AN END · PARABLE · WELCOME · A WARNING · SOME WISDOM · THE LOSS OF DIVINITY · PRESERVATION · ADHERENCE. [claim-082]
research/cicada-3301/data/red-runes.json : claim-082; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with red-runes.json and the verify.mjs run at 12427dfa84 - CONFIRMED Red marks the section heading. Page 57, which is not enciphered at all, has exactly its first seven runes in red and they spell PARABLE. [claim-083]
research/cicada-3301/data/red-runes.json : claim-083; checker re-read retained from N2-claude.md: every figure in it appears in red-runes.json at 12427dfa84 or the verify.mjs run - CONFIRMED Page 56, which is enciphered, has exactly its first five in red and they decrypt to AN END. [claim-084]
research/cicada-3301/data/red-runes.json : claim-084; checker re-read retained from N2-claude.md: every figure in it appears in red-runes.json at 12427dfa84 or the verify.mjs run - CONFIRMED A second signal says the same thing independently: headings sit inside a pair of chapter marks, `…text# HEADING# text…`, so the punctuation alone brackets them.
git show 12427dfa84:research/cicada-3301/data/sections.json : claim-085; checker re-read retained from N2-codex.md: claim-085; src/content/strata/liber-primus-measured.md:91; Read all 20 known and 13 unsolved section rows, including start/end, shape, ciphertext and plaintext. The verifier prints every unsolved heading and confirms the counts and positions. One-rune English candidates are separately flagged. - CONFIRMED Neither signal is enciphered, and the two agree.
git show 12427dfa84:research/cicada-3301/data/sections.json : claim-086; checker re-read retained from N2-codex.md: claim-086; src/content/strata/liber-primus-measured.md:91; Read all 20 known and 13 unsolved section rows, including start/end, shape, ciphertext and plaintext. The verifier prints every unsolved heading and confirms the counts and positions. One-rune English candidates are separately flagged. - CONFIRMED Thirteen headings, at exact positions, with their word lengths given: [claim-088]
research/cicada-3301/data/sections.json : claim-088; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with sections.json and the verify.mjs run at 12427dfa84 - CONFIRMED / p0-2 / 0..12 / 13 / (8, 5) / ᛋᚻᛖᚩᚷᛗᛡᚠᛋᚣᛖᛝᚳ / [claim-089]
research/cicada-3301/data/sections.json : claim-089; checker re-read retained from N2-claude.md: every figure in it appears in sections.json at 12427dfa84 or the verify.mjs run - CONFIRMED / p3-7 / 0..15 / 16 / (2, 11, 3) / ᛚᛄᛇᚻᛝᚳᚦᛏᚫᛄᛏᛉᚻᛏᚢᛟ / [claim-090]
research/cicada-3301/data/sections.json : claim-090; checker re-read retained from N2-claude.md: every figure in it appears in sections.json at 12427dfa84 or the verify.mjs run - CONFIRMED / p3-7 / 119..121 / 3 / (3) / ᛈᛞᚦ / [claim-091]
research/cicada-3301/data/sections.json : claim-091; checker re-read retained from N2-claude.md: every figure in it appears in sections.json at 12427dfa84 or the verify.mjs run - CONFIRMED / p3-7 / 812..822 / 11 / (4, 1, 4, 2) / ᚪᛏᛉᛒᛗᚷᛡᛋᛒᛉᛇ / [claim-092]
research/cicada-3301/data/sections.json : claim-092; checker re-read retained from N2-claude.md: every figure in it appears in sections.json at 12427dfa84 or the verify.mjs run - CONFIRMED / p3-7 / 1131..1144 / 14 / (2, 4, 3, 2, 3) / ᛞᚩᛟᛏᚦᚫᚳᚹᛄᛉᛠᚷᛠᛗ / [claim-093]
research/cicada-3301/data/sections.json : claim-093; checker re-read retained from N2-claude.md: every figure in it appears in sections.json at 12427dfa84 or the verify.mjs run - CONFIRMED / p15-22 / 0..8 / 9 / (4, 5) / ᚠᚢᛚᛗᚪᛠᚣᛟᚪ / [claim-094]
research/cicada-3301/data/sections.json : claim-094; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with sections.json and the verify.mjs run at 12427dfa84 - CONFIRMED / p15-22 / 9..19 / 11 / (4, 2, 5) / ᛚᚢᛝᚾᚳᚢᛒᚾᛏᚠᛝ / [claim-095]
research/cicada-3301/data/sections.json : claim-095; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with sections.json and the verify.mjs run at 12427dfa84 - CONFIRMED / p23-26 / 0..15 / 16 / (2, 6, 3, 5) / ᚢᚪᚹᛝᚷᛉᛞᚷᛁᛒᛁᛇᛏᛒᛁᚣ / [claim-096]
research/cicada-3301/data/sections.json : claim-096; checker re-read retained from N2-claude.md: every figure in it appears in sections.json at 12427dfa84 or the verify.mjs run - CONFIRMED / p27-32 / 0..18 / 19 / (3, 12, 4) / ᛗᛈᚣᛚᛋᚩᚪᚫᚻᛚᛖᛇᛁᛗᛚᛚᛋᚳᛈ / [claim-097]
research/cicada-3301/data/sections.json : claim-097; checker re-read retained from N2-claude.md: every figure in it appears in sections.json at 12427dfa84 or the verify.mjs run - CONFIRMED / p33-39 / 0..9 / 10 / (2, 8) / ᛞᛇᛉᚳᚠᛁᚪᚹᚻᚷ / [claim-098]
research/cicada-3301/data/sections.json : claim-098; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with sections.json and the verify.mjs run at 12427dfa84 - CONFIRMED / p33-39 / 91..98 / 8 / (3, 5) / ᛝᚦᛇᛁᚠᚳᛟᛇ / [claim-099]
research/cicada-3301/data/sections.json : claim-099; checker re-read retained from N2-claude.md: every figure in it appears in sections.json at 12427dfa84 or the verify.mjs run - CONFIRMED / p33-39 / 1559..1561 / 3 / (3) / ᛡᚳᛋ / [claim-100]
research/cicada-3301/data/sections.json : claim-100; checker re-read retained from N2-claude.md: every figure in it appears in sections.json at 12427dfa84 or the verify.mjs run - CONFIRMED / p54-55 / 0..8 / 9 / (1, 8) / ᚪᛗᛝᛞᛡᚦᛉᛁᛗ / [claim-101]
research/cicada-3301/data/sections.json : claim-101; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with sections.json and the verify.mjs run at 12427dfa84 - CONFIRMED Word shapes are plaintext facts, so these are the tightest cribs anyone has. [claim-102]
research/cicada-3301/data/sections.json : claim-102; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with sections.json and the verify.mjs run at 12427dfa84 - CONFIRMED And the map says one thing on its own. The book reuses its headings heavily in the part we can read: AN INSTRUCTION three times, A KOAN twice, SOME WISDOM twice, KNOW THIS twice, twenty bracketed units over fourteen distinct shapes. [claim-104]
research/cicada-3301/data/sections.json : claim-104; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with sections.json and the verify.mjs run at 12427dfa84 - CONFIRMED Not one of the twelve distinct unsolved shapes matches any of them. Relabelling the same 33 headings at random, the expected overlap is 3.2 and the chance of seeing none is p = 0.008. [claim-105]
research/cicada-3301/data/sections.json : claim-105; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with sections.json and the verify.mjs run at 12427dfa84 - CONFIRMED Whatever the unsolved sections are called, they are not called what the rest of the book calls things. [claim-106]
research/cicada-3301/data/sections.json : claim-106; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with sections.json and the verify.mjs run at 12427dfa84 - CONFIRMED And the longest red passage in the book is not in that map at all. The heading detector caps a heading at thirty-four runes, on the sound grounds that a heading is short, which is exactly why it misses this one. [claim-110]
research/cicada-3301/analysis/sections.py : claim-110; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with sections.py and the verify.mjs run at 12427dfa84 - CONFIRMED It is 51 runes on p53: the last fifty-one runes of the whole p40-53 block, four lines of it, beginning mid-line immediately after a comma, terminated by the four-dot chapter mark, with the cicada emblem printed directly beneath. [claim-111]
research/cicada-3301/data/red-passages.json : claim-111; checker re-read retained from N2-claude.md: longest 2957..3007, 51 runes, p53.jpg, terminator #, tail (verify.mjs 8h); the comma and emblem details are the 1700Z log's - CONFIRMED The next longest red passage anywhere in the Liber Primus is twenty-nine runes. [claim-112]
research/cicada-3301/data/red-passages.json : claim-112; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with red-passages.json and the verify.mjs run at 12427dfa84 - CONFIRMED Red never marks ordinary body text on any page whose plaintext is known. [claim-117]
research/cicada-3301/data/sections.json : claim-117; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with sections.json and the verify.mjs run at 12427dfa84 - CONFIRMED Only one of those twenty is long enough to be a passage rather than a label, so "long red means an instruction" is a prior with n = 1 and is not stated as a rule. [claim-119]
research/cicada-3301/data/sections.json : claim-119; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with sections.json and the verify.mjs run at 12427dfa84 - CONFIRMED What is certain rather than likely is the shape, because word lengths survive every rune-wise cipher: (5, 4, 4, 11, 2, 3, 2, 6, 5, 5, 2, 2) is a plaintext fact about the unsolved book, and at twelve words it is the largest single crib in it, sitting in the most distinguished position the book has. [claim-120]
research/cicada-3301/data/sections.json : claim-120; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with sections.json and the verify.mjs run at 12427dfa84 - CONFIRMED It is not, and the arithmetic says so: multiplying each slot length's frequency in two million words of English through the Gematria Primus gives p = 9.8×10⁻¹² per window, so the expected number of matches is 0.00. [claim-122]
research/cicada-3301/data/crib-passage.json : claim-122; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with crib-passage.json and the verify.mjs run at 12427dfa84 - CONFIRMED Finding none is exactly what chance predicts, and the absence carries no information. [claim-123]
research/cicada-3301/data/crib-passage.json : claim-123; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with crib-passage.json and the verify.mjs run at 12427dfa84 - CONFIRMED Eleven-rune words are rare, and the book has exactly three: PRESERUATIAN, UNREASONABLE, ENLIGHTENED. [claim-127]
research/cicada-3301/data/crib-passage.json : claim-127; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with crib-passage.json and the verify.mjs run at 12427dfa84 - CONFIRMED But the fourth word of the longest red passage in the Liber Primus is eleven runes long, and everywhere the book can be read it uses only three words of that length. [claim-130]
research/cicada-3301/data/crib-passage.json : claim-130; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with crib-passage.json and the verify.mjs run at 12427dfa84 - CONFIRMED Three of the numbered pages carry no runes in their body at all. [claim-131]
research/cicada-3301/data/token-grid-corrected.json : claim-131; checker re-read retained from N2-claude.md: 256 tokens in 10 + 13 + 9 = 32 rows of 8 (relikd pages/p40-53.txt shows the same layout) - CONFIRMED They carry a grid of 256 two-character tokens over `[0-9A-Za-z]`, in 32 rows of 8, bracketed by runic text. [claim-132]
research/cicada-3301/data/token-grid-corrected.json : claim-132; checker re-read retained from N2-claude.md: 256 tokens in 10 + 13 + 9 = 32 rows of 8 (relikd pages/p40-53.txt shows the same layout) - CONFIRMED / x-height / 44 px / a c e m n o r s u v w x / [claim-138]
research/cicada-3301/data/token-bars.json : claim-138; checker re-read retained from N2-claude.md: every figure in it appears in token-bars.json at 12427dfa84 or the verify.mjs run - CONFIRMED / cap height / 67 px / B D E F H K L P T X Y Z and every digit, 1 included / [claim-139]
research/cicada-3301/data/token-bars.json : claim-139; checker re-read retained from N2-claude.md: every figure in it appears in token-bars.json at 12427dfa84 or the verify.mjs run - CONFIRMED / ascender / 75 px / b d k / [claim-140]
research/cicada-3301/data/token-bars.json : claim-140; checker re-read retained from N2-claude.md: every figure in it appears in token-bars.json at 12427dfa84 or the verify.mjs run - CONFIRMED Three clean bands with nothing between them. [claim-141]
research/cicada-3301/data/token-bars.json : claim-141; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with token-bars.json and the verify.mjs run at 12427dfa84 - CONFIRMED So a bare bar at 67 px is a capital I, one at 74 px is a lowercase l, and it is not a judgement call. [claim-142]
research/cicada-3301/data/token-bars.json : claim-142; checker re-read retained from N2-claude.md: every figure in it appears in token-bars.json at 12427dfa84 or the verify.mjs run - CONFIRMED The three pages hold 13 bare bars. [claim-143]
research/cicada-3301/data/token-bars.json : claim-143; checker re-read retained from N2-claude.md: every figure in it appears in token-bars.json at 12427dfa84 or the verify.mjs run - CONFIRMED Three carry a dot, and those three are exactly the ones transcribed `i`, `j`, `j`. [claim-144]
research/cicada-3301/data/token-bars.json : claim-144; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with token-bars.json and the verify.mjs run at 12427dfa84 - CONFIRMED The other ten are undotted and 7 or 8 px wide, where a real `L` is 26 px wide with a foot and a real `1` is 19 px wide with a flag. [claim-145]
research/cicada-3301/data/token-bars.json : claim-145; checker re-read retained from N2-claude.md: every figure in it appears in token-bars.json at 12427dfa84 or the verify.mjs run - CONFIRMED Six of the ten confirm the transcription. [claim-146]
research/cicada-3301/data/token-bars.json : claim-146; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with token-bars.json and the verify.mjs run at 12427dfa84 - CONFIRMED / p49 / 5 / `1L` / L / `1l` (74 px, ascender) / [claim-148]
research/cicada-3301/data/token-bars.json : claim-148; checker re-read retained from N2-claude.md: every figure in it appears in token-bars.json at 12427dfa84 or the verify.mjs run - CONFIRMED / p49 / 6 / `0L` / L / `0l` (74 px, ascender) / [claim-149]
research/cicada-3301/data/token-bars.json : claim-149; checker re-read retained from N2-claude.md: every figure in it appears in token-bars.json at 12427dfa84 or the verify.mjs run - CONFIRMED / p50 / 10 / `0l` / l / `0I` (67 px, cap height, no dot) / [claim-150]
research/cicada-3301/data/token-bars.json : claim-150; checker re-read retained from N2-claude.md: every figure in it appears in token-bars.json at 12427dfa84 or the verify.mjs run - CONFIRMED / p51 / 7 / `3i` / i / `3I` (67 px, cap height, no dot) / [claim-151]
research/cicada-3301/data/token-bars.json : claim-151; checker re-read retained from N2-claude.md: every figure in it appears in token-bars.json at 12427dfa84 or the verify.mjs run - CONFIRMED Under any base-62 reading of `[0-9A-Za-z]` those tokens change value: `L` is 21 and `l` is 47, `i` is 44 and `I` is 18.
git show 12427dfa84:research/cicada-3301/data/token-bars.json : claim-152; checker re-read retained from N2-codex.md: claim-152; src/content/strata/liber-primus-measured.md:152; Read all 13 bars and all four corrections. The source records x-height 44, cap height 67, ascender 75, the dotted/undotted classification and the four rows p49:5, p49:6, p50:10, p51:7. The verifier reproduces the classification from the kept measurements. - CONFIRMED With the grid corrected, the base is decidable too, and seventeen tokens settle it. [claim-158]
research/cicada-3301/data/token-decodings.json : claim-158; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with token-decodings.json and the verify.mjs run at 12427dfa84 - CONFIRMED Some token's second character reaches `x`, index 59, so the base is at least 60.
git show 12427dfa84:research/cicada-3301/data/token-decodings.json : claim-160; checker re-read retained from N2-codex.md: claim-160; src/content/strata/liber-primus-measured.md:156; Read the 256 decoded values and the stored diagnostics: "base": 60, "entropy": 7.169654589725435, "distinct": 161, "lead_p": 0.9367644525517796, "orderings": 14, "prime_hits": [], "top_token_count": 17, "top_token_max_second_digit": 15. The verifier confirms the decoding. Limits of the alternative-base wording are separately flagged. - CONFIRMED Now take the tokens whose first character is `4`, the largest first character anywhere in the block: under base B those have value `4B + d2`, so they are the only tokens a byte ceiling constrains.
git show 12427dfa84:research/cicada-3301/data/token-decodings.json : claim-161; checker re-read retained from N2-codex.md: claim-161; src/content/strata/liber-primus-measured.md:156; Read the 256 decoded values and the stored diagnostics: "base": 60, "entropy": 7.169654589725435, "distinct": 161, "lead_p": 0.9367644525517796, "orderings": 14, "prime_hits": [], "top_token_count": 17, "top_token_max_second_digit": 15. The verifier confirms the decoding. Limits of the alternative-base wording are separately flagged. - CONFIRMED There are seventeen, and every one has a second digit at index 15 or below.
git show 12427dfa84:research/cicada-3301/data/token-decodings.json : claim-162; checker re-read retained from N2-codex.md: claim-162; src/content/strata/liber-primus-measured.md:156; Read the 256 decoded values and the stored diagnostics: "base": 60, "entropy": 7.169654589725435, "distinct": 161, "lead_p": 0.9367644525517796, "orderings": 14, "prime_hits": [], "top_token_count": 17, "top_token_max_second_digit": 15. The verifier confirms the decoding. Limits of the alternative-base wording are separately flagged. - CONFIRMED Base 60 forces exactly that, because 4×60+15 = 255.
git show 12427dfa84:research/cicada-3301/data/token-decodings.json : claim-163; checker re-read retained from N2-codex.md: claim-163; src/content/strata/liber-primus-measured.md:156; Read the 256 decoded values and the stored diagnostics: "base": 60, "entropy": 7.169654589725435, "distinct": 161, "lead_p": 0.9367644525517796, "orderings": 14, "prime_hits": [], "top_token_count": 17, "top_token_max_second_digit": 15. The verifier confirms the decoding. Limits of the alternative-base wording are separately flagged. - CONFIRMED So: base 60, alphabet `0-9 A-Z a-x`, and the 256 values run exactly 0 to 255, with one base-60 symbol never used (`f`, against 0.8 expected), no symbol from outside base 60 anywhere, and leading-digit frequencies matching a uniform byte source at p = 0.94. [claim-165]
research/cicada-3301/data/token-decodings.json : claim-165; checker re-read retained from N2-claude.md: every figure in it appears in token-decodings.json at 12427dfa84 or the verify.mjs run - CONFIRMED And then the bytes are nothing. 256 bytes is 2048 bits, exactly one prime factor of a 4096-bit RSA key, and Cicada's own signing key is 4096-bit; the grid is thirty-two rows of eight, so its columns give eight 32-byte chunks, the shape of eight SHA-256 digests. [claim-166]
https://keyserver.ubuntu.com/pks/lookup?op=index&search=0x7A35090F&options=mr : claim-166; checker re-read retained from N2-claude.md: 256 x 8 = 2048; the key is RSA 4096 (keyserver); 32 rows of 8 tokens give eight 32-byte columns; SHA-256 digests are 32 bytes (RFC 6234) - CONFIRMED Fourteen readings of the grid, four block sizes, both endiannesses: 420 primality tests and not one prime. No chunk repeats at any size from two bytes to thirty-two. [claim-167]
research/cicada-3301/data/token-decodings.json : claim-167; checker re-read retained from N2-claude.md: orderings = 14; 14 readings x 15 chunks (1+2+4+8 over four block sizes) x 2 endiannesses = 420; verify.mjs 8g "14 readings tried", no prime - CONFIRMED Entropy 7.170 bits per byte against 7.18 for uniform random, and 161 distinct values against 161.9 expected. [claim-168]
research/cicada-3301/data/token-decodings.json : claim-168; checker re-read retained from N2-claude.md: entropy 7.1697, distinct 161; recreated by simulation: 256 uniform bytes average entropy 7.175 and 161.99 distinct (exact 162.0) - CONFIRMED The block is indistinguishable from 256 random bytes. [claim-169]
research/cicada-3301/data/token-decodings.json : claim-169; checker re-read retained from N2-claude.md: every figure in it appears in token-decodings.json at 12427dfa84 or the verify.mjs run - CONFIRMED The book gives 86, spread as a clean Poisson process at 19.2% of the chance rate. [claim-175]
research/cicada-3301/data/doubles.json : claim-175; checker re-read retained from N2-claude.md: every figure in it appears in doubles.json at 12427dfa84 or the verify.mjs run - CONFIRMED That gap is the sharpest handle anyone has, and two ordinary explanations for it are now dead. [claim-176]
research/cicada-3301/data/interrupters.json : claim-176; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with interrupters.json and the verify.mjs run at 12427dfa84 - CONFIRMED Not typesetting errors. The solved pages are ground truth for the book's error rate: each decrypts under a rigid rule, so a typo would show as a position where the rule breaks. [claim-177]
research/cicada-3301/verify.mjs : claim-177; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with the verify.mjs run at 12427dfa84 - CONFIRMED They break at 0 of 2,963 positions, a 95% upper bound of 0.10%. [claim-178]
research/cicada-3301/verify.mjs : claim-178; checker re-read retained from N2-claude.md: every figure in it appears in the verify.mjs run at 12427dfa84 (exit 0) - CONFIRMED The leakage needs 0.66%, six and a half times more. [claim-179]
research/cicada-3301/data/doubles.json : claim-179; checker re-read retained from N2-claude.md: every figure in it appears in doubles.json at 12427dfa84 or the verify.mjs run - CONFIRMED The 86 repeats are intentional output. [claim-180]
research/cicada-3301/data/doubles.json : claim-180; checker re-read retained from N2-claude.md: every figure in it appears in doubles.json at 12427dfa84 or the verify.mjs run - CONFIRMED Not the seams between runs of a slowly-changing alphabet. If the cipher held one alphabet for a run and changed it with probability `a`, the repeat rate would be `(1−a)D + a/29` and the lag-2 rate `(1−a)²C₂ + (1−(1−a)²)/29`, with `D` and `C₂` the plaintext's own adjacent-double and lag-2 coincidence rates.
git show 12427dfa84:research/cicada-3301/README.md; git show 12427dfa84:research/cicada-3301/verify.mjs : claim-181; checker re-read retained from N2-codex.md: claim-181; src/content/strata/liber-primus-measured.md:168; Source-record repair: N1 cites research/cicada-3301/data/interrupters.json. The supplied JSON has only "single" and "pairs" removal experiments. The quoted random-switch model and its "a = 0.193" fit are recorded in the README; the verifier independently checks the leakage bound. The replacement record supports the observation or calculation; the source-pointer error is not a finding against the recorded event. - CONFIRMED For every language as written there is no valid `a` at all, since `D` and `1/29` both sit far above 0.664%. [claim-182]
research/cicada-3301/data/interrupters.json : claim-182; checker re-read retained from N2-claude.md: every figure in it appears in interrupters.json at 12427dfa84 or the verify.mjs run - CONFIRMED Allow the friendliest possible plaintext, one with no doubled letters anywhere, and the fit gives `a = 0.193` and predicts a lag-2 rate of 3.95% to 5.87%. [claim-183]
research/cicada-3301/data/interrupters.json : claim-183; checker re-read retained from N2-claude.md: every figure in it appears in interrupters.json at 12427dfa84 or the verify.mjs run - CONFIRMED So the alphabet changes at essentially every position, which throws the whole weight back onto the one-in-two-million alphabet pairings. [claim-185]
research/cicada-3301/data/interrupters.json : claim-185; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with interrupters.json and the verify.mjs run at 12427dfa84 - CONFIRMED Or the plaintext is not a language. [claim-186]
research/cicada-3301/data/interrupters.json : claim-186; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with interrupters.json and the verify.mjs run at 12427dfa84 - CONFIRMED Word lengths and punctuation are not enciphered: they pass through any rune-wise substitution untouched, which the solved pages confirm empirically (the solved ciphertext and its own plaintext have the same word-length distribution to p = 0.798).
git show 12427dfa84:research/cicada-3301/data/word-structure.json : claim-187; checker re-read retained from N2-codex.md: claim-187; src/content/strata/liber-primus-measured.md:174; Source-record repair: N1 cites research/cicada-3301/data/own-plaintext-floor.json. The original frequency-floor file has "plaintext_pairs": 2976. The replacement contains "words": 727, "two": 175, "control_p": 0.7983611450316801 and "p_two_rune": 6.438874896139787e-08, which are the relevant observations. The replacement record supports the observation or calculation; the source-pointer error is not a finding against the recorded event. - CONFIRMED The unsolved pages are short of two-rune words. [claim-190]
research/cicada-3301/data/word-structure.json : claim-190; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with word-structure.json and the verify.mjs run at 12427dfa84 - CONFIRMED / the unsolved pages / 2,900 / 4.47 / 15.5% / [claim-191]
research/cicada-3301/data/word-structure.json : claim-191; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with word-structure.json and the verify.mjs run at 12427dfa84 - CONFIRMED / the book's own plaintext / 727 / 4.10 / 24.1% / [claim-192]
research/cicada-3301/data/word-structure.json : claim-192; checker re-read retained from N2-claude.md: control_p 0.798, chi2 29.2, p 6.4e-8, 727 words, 4.10, 24.1%; the record cites own-plaintext-floor.json, which does not hold these - CONFIRMED / the solved ciphertext (control) / 490 / 3.84 / 23.3% / [claim-193]
research/cicada-3301/data/word-structure.json : claim-193; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with word-structure.json and the verify.mjs run at 12427dfa84 - CONFIRMED Against the book's own plaintext that is chi-square 29.2, p = 6.4 × 10⁻⁸, and it sits below the floor of every English text measured. [claim-195]
research/cicada-3301/data/word-structure.json : claim-195; checker re-read retained from N2-claude.md: control_p 0.798, chi2 29.2, p 6.4e-8, 727 words, 4.10, 24.1%; the record cites own-plaintext-floor.json, which does not hold these - CONFIRMED It is uniform across all nine unsolved page groups (12.5% to 17.7%), so it is not one anomalous section, and a model that merges a fraction of word boundaries does not fit it either: the shape is wrong, not just the mean. [claim-196]
research/cicada-3301/data/word-structure.json : claim-196; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with word-structure.json and the verify.mjs run at 12427dfa84 - CONFIRMED In the Gematria Primus the common English two-rune words are THE, OF, TO, IN, IS, IT, BE, AS, AT, HE.
git show 12427dfa84:research/cicada-3301/data/word-structure.json : claim-197; checker re-read retained from N2-codex.md: claim-197; src/content/strata/liber-primus-measured.md:185; Read "unsolved": {"runes":12956,"sentences":176,"commas":4,"words":2900,"two":450}, plaintext 2977/102/37/727/175, control_p 0.7983611450316801, and p_two_rune 6.438874896139787e-08. Recomputed percentages, mean lengths and punctuation rates. The English array has 13 entries; the fourteen-text wording is separately flagged. - CONFIRMED Whatever the unsolved pages say, they say it with far fewer of them. [claim-198]
research/cicada-3301/data/word-structure.json : claim-198; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with word-structure.json and the verify.mjs run at 12427dfa84 - CONFIRMED And they barely punctuate: 73.6 runes per sentence against 29.2 in the book's own prose, and 0.31 commas per thousand runes against 12.43, a fortyfold deficit. [claim-199]
research/cicada-3301/data/word-structure.json : claim-199; checker re-read retained from N2-claude.md: every figure in it appears in word-structure.json at 12427dfa84 or the verify.mjs run - CONFIRMED A correct decryption must produce a text that is 15.5% two-rune words, runs 74 runes to a sentence, and almost never uses a comma. [claim-202]
research/cicada-3301/data/word-structure.json : claim-202; checker re-read retained from N2-claude.md: every figure in it appears in word-structure.json at 12427dfa84 or the verify.mjs run - CONFIRMED Every JPEG carries its encoder's fingerprint in its quantisation tables and any embedded colour profile.
https://www.researchgate.net/publication/221577637_JPEG_Quantization_Tables_Forensics_A_Statistical_Approach : claim-204; checker re-read retained from N2-codex.md: claim-204; src/content/strata/liber-primus-measured.md:195; Read the author-uploaded full paper through the web reader after curl returned 403. The excerpt "Resulting fingerprints are based on JPEG quantization tables" is present (with the original fi ligature). This supports fingerprinting by encoder settings, not unique-document provenance. - CONFIRMED Across the 58 numbered pages as served from Cicada's own onion service, all 58 share one luma quantisation table and one ICC profile, and that profile is `"Artifex Software sRGB ICC Profile", Copyright Artifex Software 2011`. [claim-205]
https://raw.githubusercontent.com/relikd/LiberPrayground/main/pages/p0.jpg : claim-205; checker re-read retained from N2-claude.md: recreated: p0.jpg (sha256 prefix 197e1e153958b9a2, size 695525, as data/page-provenance.json) embeds an ICC profile whose desc is "Artifex Software sRGB ICC Profile" and cprt "Copyright Artifex Software 2011"; unnumbered 0_warning.jpg carries none - CONFIRMED Artifex is Ghostscript, so the book was rendered from a document rather than scanned, which is also why the runes template-match at thirteen pixels of separation. [claim-206]
https://artifex.com/products : claim-206; checker re-read retained from N2-claude.md: Artifex makes Ghostscript; the 13 px template separation is recorded in the 1300Z log - CONFIRMED None of the 58 carries appended data. [claim-207]
research/cicada-3301/data/page-provenance.json : claim-207; checker re-read retained from N2-claude.md: every figure in it appears in page-provenance.json at 12427dfa84 or the verify.mjs run - CONFIRMED The only per-page variation is colour (35) against greyscale (23), which the encoder picks by itself. [claim-208]
research/cicada-3301/data/page-provenance.json : claim-208; checker re-read retained from N2-claude.md: every figure in it appears in page-provenance.json at 12427dfa84 or the verify.mjs run - CONFIRMED The shared ICC profile and luma table span all 58 numbered pages, including the 56 unsolved and two solved pages.
research/cicada-3301/data/page-provenance.json : claim-210; checker re-read retained from dependent copy updated with X10/X37: Re-read the saved fingerprints: numbered length 58, one luma hash and one ICC hash. This confirms shared settings, not a unique rendering operation. - CONFIRMED The shared image fingerprints do not establish one source file or one rendering operation.
research/cicada-3301/data/page-provenance.json : claim-211; checker re-read retained from dependent copy updated with X10/X37: Replaced the dependent single-document inference with the limit of what the measured fields establish. - CONFIRMED That is not proof the unsolved pages carry a message, since one document can hold filler and end-matter together, but it closes off the easiest version of the no-message reading. [claim-212]
research/cicada-3301/data/page-provenance.json : claim-212; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with page-provenance.json and the verify.mjs run at 12427dfa84 - CONFIRMED Coset scores at multiples of a period are statistically dependent, because the cosets at 2L are subsets of those at L, so one fluctuation at 15 appears six times and reads as corroboration; the split-half replication inherits the same dependence.
git show 12427dfa84:research/cicada-3301/README.md; git show 12427dfa84:research/cicada-3301/data/aligned-periods.json : claim-217; checker re-read retained from N2-codex.md: claim-217; src/content/strata/liber-primus-measured.md:203; Source-record repair: N1 cites research/cicada-3301/data/aligned-periods.json. The cited JSON contains the four reset-position scans "page", "line", "word", "sentence". The claimed divisor-null result is instead recorded in the README: "9 of 120 controls beat the book" and "p = 0.075". The replacement record supports the observation or calculation; the source-pointer error is not a finding against the recorded event. - CONFIRMED They favour no rune (chi-square 27.8 on 28 df, p = 0.48), no page block (p = 0.63), no word or sentence boundary, no position beside the book's own F interrupter, no spacing pattern, and no period from 2 to 60. [claim-221]
research/cicada-3301/README.md : claim-221; checker re-read retained from N2-claude.md: doubles.json rune_p 0.476, block_p 0.626; README anatomy table (lines 590 to 593) for spacing and periods 2 to 60; verify.mjs 5a for the five positions - CONFIRMED There is not one triple in the corpus. [claim-222]
research/cicada-3301/data/doubles.json : claim-222; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with doubles.json and the verify.mjs run at 12427dfa84 - CONFIRMED It is a flat 5.2× thinning with no fingerprints anywhere. [claim-223]
research/cicada-3301/data/doubles.json : claim-223; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with doubles.json and the verify.mjs run at 12427dfa84 - CONFIRMED That is a positive clue, and it points at exactly one cipher. A featureless, position-independent suppression is what a polyalphabetic gives when the relation between consecutive alphabets is fixed: `f(i+1) = f(i) ∘ g⁻¹` for a single permutation `g`.
git show 12427dfa84:research/cicada-3301/README.md; git show 12427dfa84:research/cicada-3301/data/doubles.json : claim-224; checker re-read retained from N2-codex.md: claim-224; src/content/strata/liber-primus-measured.md:209; Source-record repair: N1 cites research/cicada-3301/data/doubles.json. The JSON positively records "positions", "by_rune" and "blocks". The further boundary, leakage, gap, period and cipher arguments are recorded in the README rather than that JSON schema. The replacement record supports the observation or calculation; the source-pointer error is not a finding against the recorded event. - CONFIRMED Then the repeat rate is `g`'s plaintext-bigram weight at every position, the same number everywhere, which is what the book shows.
git show 12427dfa84:research/cicada-3301/README.md; git show 12427dfa84:research/cicada-3301/data/doubles.json : claim-225; checker re-read retained from N2-codex.md: claim-225; src/content/strata/liber-primus-measured.md:209; Source-record repair: N1 cites research/cicada-3301/data/doubles.json. The JSON positively records "positions", "by_rune" and "blocks". The further boundary, leakage, gap, period and cipher arguments are recorded in the README rather than that JSON schema. The replacement record supports the observation or calculation; the source-pointer error is not a finding against the recorded event. - CONFIRMED It is the only natural cipher that produces a suppression this even. [claim-226]
research/cicada-3301/data/doubles.json : claim-226; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with doubles.json and the verify.mjs run at 12427dfa84 - CONFIRMED And it is periodic, with a period nobody has scanned for. Its period is the order of `g`, which has nothing to do with the length of a key.
git show 12427dfa84:research/cicada-3301/README.md; git show 12427dfa84:research/cicada-3301/data/doubles.json : claim-227; checker re-read retained from N2-codex.md: claim-227; src/content/strata/liber-primus-measured.md:211; Source-record repair: N1 cites research/cicada-3301/data/doubles.json. The JSON positively records "positions", "by_rune" and "blocks". The further boundary, leakage, gap, period and cipher arguments are recorded in the README rather than that JSON schema. The replacement record supports the observation or calculation; the source-pointer error is not a finding against the recorded event. - CONFIRMED For a permutation of twenty-nine symbols that order runs as high as 2520, at cycle type 5+7+8+9.
https://oeis.org/A000793/b000793.txt : claim-228; checker re-read retained from N2-codex.md: claim-228; src/content/strata/liber-primus-measured.md:211; OEIS A000793 has the exact row "29 2520". Independently, lcm(5,7,8,9)=2520 and 5+7+8+9=29. - CONFIRMED Rescanned to 2600 by two instruments off one table of lag coincidences, against two hundred matched nulls carrying the book's own length, marginals and suppression: the strongest coincidence lag reads 4.372% where a real period would read about 6.1%, and the strongest coset index of coincidence reads 1.092 where a real period would read 1.78. [claim-230]
research/cicada-3301/data/long-periods.json : claim-230; checker re-read retained from N2-claude.md: every figure in it appears in long-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED The book's scan peaks at 4.2σ; the nulls peak at 3.8σ on average and 4.7σ at worst, so the whole scan sits at p = 0.10. [claim-231]
research/cicada-3301/data/long-periods.json : claim-231; checker re-read retained from N2-claude.md: every figure in it appears in long-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED The coset scan is less peaked than the nulls, at p = 0.74. [claim-232]
research/cicada-3301/data/long-periods.json : claim-232; checker re-read retained from N2-claude.md: every figure in it appears in long-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED A scan 6400 lags wide always finds something, and this is that. [claim-233]
research/cicada-3301/data/long-periods.json : claim-233; checker re-read retained from N2-claude.md: every figure in it appears in long-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED The fixed-relation progressive polyalphabetic is excluded, and with it the only cipher family whose signature matched the one thing the corpus actually shows. [claim-234]
research/cicada-3301/data/long-periods.json : claim-234; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with long-periods.json and the verify.mjs run at 12427dfa84 - CONFIRMED Two more classes went with it. The additive bound assumes the runes are enciphered in the order they were written, and two obvious moves break that assumption.
git show 12427dfa84:research/cicada-3301/README.md; git show 12427dfa84:research/cicada-3301/data/doubles.json : claim-235; checker re-read retained from N2-codex.md: claim-235; src/content/strata/liber-primus-measured.md:217; Source-record repair: N1 cites research/cicada-3301/data/doubles.json. The JSON positively records "positions", "by_rune" and "blocks". The further boundary, leakage, gap, period and cipher arguments are recorded in the README rather than that JSON schema. The replacement record supports the observation or calculation; the source-pointer error is not a finding against the recorded event. - CONFIRMED Transposing the plaintext first runs the wrong way from the intuition: shuffling destroys the adjacency structure that makes a rare difference rare, so the distribution moves toward uniform and the floor rises, from 1.8147% at distance 1 to 2.3928% in the independent limit. [claim-236]
research/cicada-3301/data/transposition-floors.json : claim-236; checker re-read retained from N2-claude.md: every figure in it appears in transposition-floors.json at 12427dfa84 or the verify.mjs run - CONFIRMED Measured at all 256 plaintext distances in all seven languages, the minimum is at distance 1 every single time. [claim-237]
research/cicada-3301/data/transposition-floors.json : claim-237; checker re-read retained from N2-claude.md: every figure in it appears in transposition-floors.json at 12427dfa84 or the verify.mjs run - CONFIRMED Running any fixed linear window over the plaintext before adding the key does not help either, swept exhaustively over every coefficient vector of width up to four. [claim-238]
research/cicada-3301/data/linear-floors.json : claim-238; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with linear-floors.json and the verify.mjs run at 12427dfa84 - CONFIRMED It needs three parameters: the length, the observed rune frequencies, and one repeat-suppression factor.
git show 12427dfa84:research/cicada-3301/data/complete-model.json : claim-241; checker re-read retained from N2-codex.md: claim-241; src/content/strata/liber-primus-measured.md:221; Read the six experiment results, eleven statistics, fitted-statistic exclusions and controls. The verifier reproduces the reported separation scores: 110.6, 73.8, 68.2, 2.2, 2.0 and 2.3. Passing this finite battery does not prove a message absent. - CONFIRMED No plaintext, no key, no structure. [claim-242]
research/cicada-3301/data/complete-model.json : claim-242; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with complete-model.json and the verify.mjs run at 12427dfa84 - CONFIRMED Two of the eleven are fitted by the generator and cannot fail, so they are reported and excluded from the verdict.
git show 12427dfa84:research/cicada-3301/data/complete-model.json : claim-244; checker re-read retained from N2-codex.md: claim-244; src/content/strata/liber-primus-measured.md:223; Read the six experiment results, eleven statistics, fitted-statistic exclusions and controls. The verifier reproduces the reported separation scores: 110.6, 73.8, 68.2, 2.2, 2.0 and 2.3. Passing this finite battery does not prove a message absent. - CONFIRMED And a battery too blunt to detect anything would make the word "indistinguishable" meaningless, so the same battery and the same matched-null procedure run on ciphers whose answers are known. [claim-245]
research/cicada-3301/data/complete-model.json : claim-245; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with complete-model.json and the verify.mjs run at 12427dfa84 - CONFIRMED / English plaintext, no cipher / isomorphic 4-grams / +110.6 / [claim-247]
research/cicada-3301/data/complete-model.json : claim-247; checker re-read retained from N2-claude.md: every figure in it appears in complete-model.json at 12427dfa84 or the verify.mjs run - CONFIRMED / Vigenère, key length 20 / longest isomorph / +73.8 / [claim-248]
research/cicada-3301/data/complete-model.json : claim-248; checker re-read retained from N2-claude.md: every figure in it appears in complete-model.json at 12427dfa84 or the verify.mjs run - CONFIRMED / Vigenère, key length 300 / max coset IoC to 2600 / +68.2 / [claim-249]
research/cicada-3301/data/complete-model.json : claim-249; checker re-read retained from N2-claude.md: every figure in it appears in complete-model.json at 12427dfa84 or the verify.mjs run - CONFIRMED / running key, English on English / conditional entropy / −2.2 / [claim-250]
research/cicada-3301/data/complete-model.json : claim-250; checker re-read retained from N2-claude.md: every figure in it appears in complete-model.json at 12427dfa84 or the verify.mjs run - CONFIRMED / one-time pad, true random key / repeated 4-grams / −2.0 / [claim-251]
research/cicada-3301/data/complete-model.json : claim-251; checker re-read retained from N2-claude.md: every figure in it appears in complete-model.json at 12427dfa84 or the verify.mjs run - CONFIRMED / the unsolved Liber Primus / max kappa to 6400 / +2.3 / [claim-252]
research/cicada-3301/data/complete-model.json : claim-252; checker re-read retained from N2-claude.md: every figure in it appears in complete-model.json at 12427dfa84 or the verify.mjs run - CONFIRMED It finds a 300-long Vigenère at 68σ, which the ordinary period scan walks straight past. [claim-254]
research/cicada-3301/data/complete-model.json : claim-254; checker re-read retained from N2-claude.md: every figure in it appears in complete-model.json at 12427dfa84 or the verify.mjs run - CONFIRMED It finds nothing in the book. [claim-255]
research/cicada-3301/data/complete-model.json : claim-255; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with complete-model.json and the verify.mjs run at 12427dfa84 - CONFIRMED And here is what that does not mean. The running key and the one-time pad also pass, and both unquestionably carry messages. [claim-256]
research/cicada-3301/data/complete-model.json : claim-256; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with complete-model.json and the verify.mjs run at 12427dfa84 - CONFIRMED The correct statement is narrower, and more useful than the overclaim would have been: the unsolved Liber Primus sits in the same statistical class as a one-time pad, and whatever is in it is not reachable by statistics of this kind. [claim-258]
research/cicada-3301/data/complete-model.json : claim-258; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with complete-model.json and the verify.mjs run at 12427dfa84 - CONFIRMED The book's two solved Vigenère pages leave a rune unenciphered and do not advance the key there.
https://raw.githubusercontent.com/relikd/LiberPrayground/main/solver.py : claim-261; checker re-read retained from N2-codex.md: claim-261; src/content/strata/liber-primus-measured.md:242; Read the two solutions, their selected INTERRUPT_POS values and the local decryption controls. Both copy the known plaintext-F interrupters without advancing the key. - CONFIRMED Three rules are candidates, and they separate cleanly, because a Vigenère key has to come out exactly periodic:
git show 12427dfa84:research/cicada-3301/data/interrupter.json : claim-263; checker re-read retained from N2-codex.md: claim-263; src/content/strata/liber-primus-measured.md:242; Read both page records, all key/rank records and the F-frequency model. Source gives 25 ciphertext F versus 11 interrupters, 68/515 correct under the naive rule, key ranks 5294/81/1, 458 unsolved F and z -7.67357780962365 under its uniform-output model. The model-free wording is separately flagged. - CONFIRMED / skip where ciphertext is F / no period up to 25 / no period up to 25 / [claim-264]
research/cicada-3301/data/interrupter.json : claim-264; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED / skip where plaintext is F / periodic at 8 (DIUINITY) / periodic at 13 (FIRFUMFERENFE) / [claim-265]
research/cicada-3301/data/interrupter.json : claim-265; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED / skip nothing / no period up to 25 / no period up to 25 / [claim-266]
research/cicada-3301/data/interrupter.json : claim-266; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED Only the middle row works, and the two are not interchangeable.
git show 12427dfa84:research/cicada-3301/data/interrupter.json : claim-267; checker re-read retained from N2-codex.md: claim-267; src/content/strata/liber-primus-measured.md:250; Read both page records, all key/rank records and the F-frequency model. Source gives 25 ciphertext F versus 11 interrupters, 68/515 correct under the naive rule, key ranks 5294/81/1, 458 unsolved F and z -7.67357780962365 under its uniform-output model. The model-free wording is separately flagged. - CONFIRMED On 0_welcome there are twenty-five ciphertext F runes and only eleven interrupters, so fourteen are ordinary encipherments that happen to land on F. [claim-268]
research/cicada-3301/data/interrupter.json : claim-268; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with interrupter.json and the verify.mjs run at 12427dfa84 - CONFIRMED Every interrupter is a ciphertext F, so the rule is visible in principle; most ciphertext F runes are not interrupters, so it is invisible in practice, and the ciphertext is all a solver has.
git show 12427dfa84:research/cicada-3301/data/interrupter.json : claim-269; checker re-read retained from N2-codex.md: claim-269; src/content/strata/liber-primus-measured.md:250; Read both page records, all key/rank records and the F-frequency model. Source gives 25 ciphertext F versus 11 interrupters, 68/515 correct under the naive rule, key ranks 5294/81/1, 458 unsolved F and z -7.67357780962365 under its uniform-output model. The model-free wording is separately flagged. - CONFIRMED Decrypt 0_welcome under the ciphertext-F rule using the true key and you get 68 of 515 runes right, 13.2%, first error at offset 5. [claim-271]
research/cicada-3301/data/interrupter.json : claim-271; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED A 73,240-key dictionary swept against 0_welcome, a page whose key is the word DIVINITY, puts the true key at rank 5,294. [claim-273]
research/cicada-3301/data/interrupter.json : claim-273; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED The control fails, so every negative such a sweep produces is a statement about the interrupter rather than about the book. [claim-274]
research/cicada-3301/data/interrupter.json : claim-274; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with interrupter.json and the verify.mjs run at 12427dfa84 - CONFIRMED Worse: one of the book's two keys is not a word at all. DIUINITY is DIVINITY in the book's spelling.
git show 12427dfa84:research/cicada-3301/data/interrupter.json : claim-275; checker re-read retained from N2-codex.md: claim-275; src/content/strata/liber-primus-measured.md:256; Read both page records, all key/rank records and the F-frequency model. Source gives 25 ciphertext F versus 11 interrupters, 68/515 correct under the naive rule, key ranks 5294/81/1, 458 unsolved F and z -7.67357780962365 under its uniform-output model. The model-free wording is separately flagged. - CONFIRMED FIRFUMFERENFE is CIRCUMFERENCE with every C replaced by F, and searching 73,604 dictionary entries for anything whose rune spelling matches it returns nothing.
git show 12427dfa84:research/cicada-3301/data/interrupter.json : claim-276; checker re-read retained from N2-codex.md: claim-276; src/content/strata/liber-primus-measured.md:256; Read both page records, all key/rank records and the F-frequency model. Source gives 25 ciphertext F versus 11 interrupters, 68/515 correct under the naive rule, key ranks 5294/81/1, 458 unsolved F and z -7.67357780962365 under its uniform-output model. The model-free wording is separately flagged. - CONFIRMED A plain word list reaches one of the two keys the Liber Primus has demonstrated and structurally cannot reach the other.
git show 12427dfa84:research/cicada-3301/data/interrupter.json : claim-277; checker re-read retained from N2-codex.md: claim-277; src/content/strata/liber-primus-measured.md:256; Read both page records, all key/rank records and the F-frequency model. Source gives 25 ciphertext F versus 11 interrupters, 68/515 correct under the naive rule, key ranks 5294/81/1, 458 unsolved F and z -7.67357780962365 under its uniform-output model. The model-free wording is separately flagged. - CONFIRMED The attack that does work. The interrupter is rare, 2.14% of runes on one page and 0.63% on the other, so a text runs clean before the first one, and on both pages that first one falls at offset 48 and 49. [claim-278]
research/cicada-3301/data/interrupter.json : claim-278; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED A shorter prefix is an ordinary Vigenère at phase zero:
git show 12427dfa84:research/cicada-3301/data/key-attack.json : claim-279; checker re-read retained from N2-codex.md: claim-279; src/content/strata/liber-primus-measured.md:258; Read every control, prefix-length row, substituted-key result and passage hypothesis. Key count is 13,257,833 and both substituted controls rank first. Some quoted z/p values describe earlier runs and are not the values in this file; those entries have explicit source-record notes below. - CONFIRMED / 16 runes / 0 / 2 / +1.86 / [claim-280]
research/cicada-3301/data/key-attack.json : claim-280; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED / 24 runes / 0 / 1 / +2.25 / [claim-281]
research/cicada-3301/data/key-attack.json : claim-281; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED / 32 runes / 0 / 1 / +3.33 / [claim-282]
research/cicada-3301/data/key-attack.json : claim-282; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED / 48 runes / 0 / 1 / +6.55 / [claim-283]
research/cicada-3301/data/key-attack.json : claim-283; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED / 64 runes / 1 / 1 / +5.59 / [claim-284]
research/cicada-3301/data/key-attack.json : claim-284; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED / 96 runes / 3 / 1 / +2.00 / [claim-285]
research/cicada-3301/data/key-attack.json : claim-285; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED / the whole page / 11 / 81 / +8.89, and a wrong key / [claim-286]
research/cicada-3301/data/key-attack.json : claim-286; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED At forty-eight runes it reads out `WELCOMEWELCOMEPILGRIMTOTHEG`. [claim-287]
research/cicada-3301/data/key-attack.json : claim-287; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with key-attack.json and the verify.mjs run at 12427dfa84 - CONFIRMED And the middle rows correct the obvious story: it is not the first interrupter that breaks the attack. [claim-288]
research/cicada-3301/data/key-attack.json : claim-288; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with key-attack.json and the verify.mjs run at 12427dfa84 - CONFIRMED Sixty-four runes contains one and ninety-six contains three, and both still rank the true key first; the score simply decays as they accumulate, from +6.55 clean to +2.00 with three. [claim-289]
research/cicada-3301/data/key-attack.json : claim-289; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED It takes the whole page, with eleven, to lose the key, and there the attack returns a confident wrong answer at z +8.89. [claim-290]
research/cicada-3301/data/key-attack.json : claim-290; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED The largest crib, closed. The 51-rune red passage on p53 gets the strongest version: every dictionary word, at every key phase, under every interrupter hypothesis. [claim-294]
research/cicada-3301/data/key-attack.json : claim-294; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with key-attack.json and the verify.mjs run at 12427dfa84 - CONFIRMED The phase sweep matters because a crib in the middle of a block does not know where the key is; only the count of interrupters before it matters, so the phase takes at most L values.
git show 12427dfa84:research/cicada-3301/data/key-attack.json : claim-295; checker re-read retained from N2-codex.md: claim-295; src/content/strata/liber-primus-measured.md:274; Read every control, prefix-length row, substituted-key result and passage hypothesis. Key count is 13,257,833 and both substituted controls rank first. Some quoted z/p values describe earlier runs and are not the values in this file; those entries have explicit source-record notes below. - CONFIRMED One unmodelled interrupter is the difference between solving a window and never seeing it. [claim-297]
research/cicada-3301/data/key-attack.json : claim-297; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with key-attack.json and the verify.mjs run at 12427dfa84 - CONFIRMED The longest red passage in the Liber Primus is not a Vigenère under any of 73,193 dictionary rune-keys, at any phase, under either interrupter hypothesis. [claim-299]
research/cicada-3301/data/key-attack.json : claim-299; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED `p56_an_end` is none of those: its shift at key index j is `(prime_{j+1} − 1) mod 29`, carrying the same plaintext-F interrupter, and it reproduces the page at 85 of 85 runes. [claim-301]
research/cicada-3301/data/crib-periods.json : claim-301; checker re-read retained from N2-claude.md: every figure in it appears in crib-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED For the first twenty-nine key indices that shift is identically the gematria value of the j-th rune minus one, the book's own table read off as a key.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-302; checker re-read retained from N2-codex.md: claim-302; src/content/strata/liber-primus-measured.md:280; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED That matters, because a running key is aperiodic and so lies outside every period-based exclusion here.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-303; checker re-read retained from N2-codex.md: claim-303; src/content/strata/liber-primus-measured.md:282; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED Tested separately against the same fixed stream at 2,000 starting offsets, with and without an interrupter: no crib of eight runes or more fits it at any offset, and the control finds p56's own heading ANEND at offset 0. [claim-304]
research/cicada-3301/data/crib-periods.json : claim-304; checker re-read retained from N2-claude.md: every figure in it appears in crib-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED The word-list attacks above search key space and score the result, which needs a null and yields a probability.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-305; checker re-read retained from N2-codex.md: claim-305; src/content/strata/liber-primus-measured.md:285; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED A crib's shape determines the key. If a word of length L sits at offset o and the cipher is a periodic Vigenère of period p, choosing that word fixes `k[(o+i) mod p] = c[o+i] − w[i]` for every i.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-307; checker re-read retained from N2-codex.md: claim-307; src/content/strata/liber-primus-measured.md:287; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED So when p ≤ L one word determines the key completely, any internal inconsistency rejects it outright, and whatever survives must decrypt the whole span into dictionary words.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-308; checker re-read retained from N2-codex.md: claim-308; src/content/strata/liber-primus-measured.md:287; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED Iterating words therefore enumerates the family exactly, where brute-forcing key streams cannot: the deepest crib stands for 366,451,025,462,807,220 streams and clears in a second.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-309; checker re-read retained from N2-codex.md: claim-309; src/content/strata/liber-primus-measured.md:287; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED Each crib is anchored on its longest word, which sets the reach. [claim-310]
research/cicada-3301/data/crib-periods.json : claim-310; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with crib-periods.json and the verify.mjs run at 12427dfa84 - CONFIRMED A period equal to that length is degenerate, since the anchor pins the key with nothing left over and a hit is guaranteed whenever the other words happen to be words; only periods strictly below carry information.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-311; checker re-read retained from N2-codex.md: claim-311; src/content/strata/liber-primus-measured.md:289; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED / p0-2 @0 / 13 / 8 / 1..8 / 5.2×10¹¹ / 0 (7 degenerate at 8) / [claim-312]
research/cicada-3301/data/crib-periods.json : claim-312; checker re-read retained from N2-claude.md: every figure in it appears in crib-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED / p15-22 @9 / 11 / 5 / 1..5 / 2.1×10⁷ / 0 (32 degenerate at 5) / [claim-314]
research/cicada-3301/data/crib-periods.json : claim-314; checker re-read retained from N2-claude.md: every figure in it appears in crib-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED / p23-26 @0 / 16 / 6 / 1..6 / 6.2×10⁸ / 0 / [claim-315]
research/cicada-3301/data/crib-periods.json : claim-315; checker re-read retained from N2-claude.md: every figure in it appears in crib-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED / p27-32 @0 / 19 / 12 / 1..12 / 3.7×10¹⁷ / 0 (5 degenerate at 12) / [claim-316]
research/cicada-3301/data/crib-periods.json : claim-316; checker re-read retained from N2-claude.md: every figure in it appears in crib-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED / p33-39 @0 / 10 / 8 / 1..8 / 5.2×10¹¹ / 320 / [claim-317]
research/cicada-3301/data/crib-periods.json : claim-317; checker re-read retained from N2-claude.md: every figure in it appears in crib-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED The control is what makes those zeros mean anything. The same code path ran on the twenty headings whose plaintext is published; fifteen have a true period the anchor can reach, and the true plaintext is recovered on 15 of 15, Atbash pages included. [claim-320]
research/cicada-3301/data/crib-periods.json : claim-320; checker re-read retained from N2-claude.md: every figure in it appears in crib-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED The degenerate hits are visibly degenerate: p27-32's five read `UANPROCLIUITIESPRUT` and `GABCRYSTALLISEDCRAY`. [claim-327]
research/cicada-3301/data/crib-periods.json : claim-327; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with crib-periods.json and the verify.mjs run at 12427dfa84 - CONFIRMED Summed over the informative cribs, the family enumerated and cleared is 391,725,064,994,350,495 key streams, and it needed no null at all. [claim-328]
research/cicada-3301/data/crib-periods.json : claim-328; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with crib-periods.json and the verify.mjs run at 12427dfa84 - CONFIRMED Everything above about keys is about periodic ones, and the prime running key on p56 is why that is not enough: it is aperiodic and sits outside every period-based exclusion here.
git show 12427dfa84:research/cicada-3301/data/aperiodic.json : claim-329; checker re-read retained from N2-codex.md: claim-329; src/content/strata/liber-primus-measured.md:310; Read all 20 sequence names, every sequence/text result and all four synthetic controls. Source records 2,000 offsets, 4,640,000 trials per crib, synthetic_ok 4, and zero hits on anchors of six or more runes. Autokey reaches IoC 1.1714193612378498. - CONFIRMED Twenty integer sequences (primes, prime gaps, totient, divisor count and sum, Fibonacci, Lucas, triangular, squares, cubes, naturals, odds, powers of two, factorial, Catalan, composites, Möbius, digits of π, e and φ) at 2,000 starting offsets × 29 additive constants × both polarities × every interrupter subset, which is 4,640,000 trials per crib. [claim-332]
research/cicada-3301/data/aperiodic.json : claim-332; checker re-read retained from N2-claude.md: every figure in it appears in aperiodic.json at 12427dfa84 or the verify.mjs run - CONFIRMED Then text running keys: the book's own plaintext, its own unsolved ciphertext, and each solved page, at every offset. [claim-333]
research/cicada-3301/verify.mjs : claim-333; checker re-read retained from N2-claude.md: verify.mjs 8l "11 text running keys"; the record cites own-plaintext-floor.json - CONFIRMED Then ciphertext autokey, which needs no key at all.
git show 12427dfa84:research/cicada-3301/data/aperiodic.json : claim-334; checker re-read retained from N2-codex.md: claim-334; src/content/strata/liber-primus-measured.md:312; Read all 20 sequence names, every sequence/text result and all four synthetic controls. Source records 2,000 offsets, 4,640,000 trials per crib, synthetic_ok 4, and zero hits on anchors of six or more runes. Autokey reaches IoC 1.1714193612378498. - CONFIRMED The controls: the prime sequence must recover p56's own heading, and does, at offset 0 with constant 28, which is `prime − 1` exactly. [claim-335]
research/cicada-3301/data/aperiodic.json : claim-335; checker re-read retained from N2-claude.md: every figure in it appears in aperiodic.json at 12427dfa84 or the verify.mjs run - CONFIRMED Then four synthetic ones, a span of published plaintext re-enciphered with a chosen sequence and searched blind: 4 of 4 recovered. [claim-336]
research/cicada-3301/data/aperiodic.json : claim-336; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with aperiodic.json and the verify.mjs run at 12427dfa84 - CONFIRMED Zero fits on every crib whose longest word is six runes or more, for both families, including the 51-rune red passage. [claim-337]
research/cicada-3301/data/aperiodic.json : claim-337; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with aperiodic.json and the verify.mjs run at 12427dfa84 - CONFIRMED Ciphertext autokey reaches a normalised index of coincidence of 1.17 where English runic is 1.78. [claim-338]
research/cicada-3301/data/aperiodic.json : claim-338; checker re-read retained from N2-claude.md: every figure in it appears in aperiodic.json at 12427dfa84 or the verify.mjs run - CONFIRMED The crib search uses different measurements from the conditional repeat-rate bound; the bound does not automatically exclude every additive key searched.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-339; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED The crib and bigram instruments use different measurements but share an additive model and linguistic assumptions.
research/cicada-3301/analysis/aperiodic.py; research/cicada-3301/lib/wordlist.py : claim-340; checker re-read retained from dependent copy updated with X42/X43: The crib method uses an English dictionary; the bound uses an English bigram reference. - CONFIRMED What survives is what has always survived: an arbitrary permutation per position, which neither a crib nor a statistic can reach.
git show 12427dfa84:research/cicada-3301/data/aperiodic.json : claim-342; checker re-read retained from N2-codex.md: claim-342; src/content/strata/liber-primus-measured.md:318; Read all 20 sequence names, every sequence/text result and all four synthetic controls. Source records 2,000 offsets, 4,640,000 trials per crib, synthetic_ok 4, and zero hits on anchors of six or more runes. Autokey reaches IoC 1.1714193612378498. - CONFIRMED The book's plaintext uses F at 1.612%, so an interrupted cipher predicts 5.005%. [claim-345]
research/cicada-3301/data/interrupter.json : claim-345; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED The unsolved corpus has 458 F in 12,956 runes, 3.54%: +0.54σ from flat, −7.67σ from interrupted, and F is the 7th most common rune of 29 rather than the most common by a mile. [claim-346]
research/cicada-3301/data/interrupter.json : claim-346; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED The implied plaintext F rate is 0.090% ± 0.166% against a per-page range of 0.63% to 2.14%. [claim-347]
research/cicada-3301/data/interrupter.json : claim-347; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED The honest limit: at single-page scale this does not discriminate. [claim-348]
research/cicada-3301/data/interrupter.json : claim-348; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with interrupter.json and the verify.mjs run at 12427dfa84 - CONFIRMED `jpg107-167` is interrupted and reads −2.82, because its plaintext happens to use F twice in 319 runes. [claim-349]
research/cicada-3301/data/interrupter.json : claim-349; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED The claim rests on the unsolved corpus being twenty-five times larger than any page, and the verifier asserts that misclassification rather than hiding it. [claim-350]
research/cicada-3301/verify.mjs : claim-350; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with the verify.mjs run at 12427dfa84 - CONFIRMED Under the stated q = 1/29 model, the observed ciphertext F frequency implies a low plaintext F rate if plaintext F is copied through. The inference depends on that model.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-351; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED The one surviving cipher class needs consecutive alphabets related by a permutation of very low English-bigram weight. [claim-352]
research/cicada-3301/data/keyed-alphabets.json : claim-352; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with keyed-alphabets.json and the verify.mjs run at 12427dfa84 - CONFIRMED They use a keyword, writing its distinct runes first and the rest of the alphabet after.
https://www.cryptogram.org/downloads/tyro_tutorial_by_LIONEL_1.pdf : claim-354; checker re-read retained from N2-codex.md: claim-354; src/content/strata/liber-primus-measured.md:326; Read the PDF via curl and pdftotext, pp.14 and 31: keyword construction appends unused alphabet letters and "Duplicate letters in the keyword are excluded". - CONFIRMED That family is finite, and so are its rotations, the affine maps and the power maps.
git show 12427dfa84:research/cicada-3301/data/keyed-alphabets.json : claim-355; checker re-read retained from N2-codex.md: claim-355; src/content/strata/liber-primus-measured.md:326; Read all family rows: 72,984; 72,984; 2,116,536; 825; total 2,263,329; minimum 0.0085734802, best "MICROSCOPE rotated 12", floor_z -2.3890047554413716. Recomputed the sum and the 29% excess over the book. This supports the tested dictionary-derived family. - CONFIRMED / keyed / 72,984 / 0.9356% (WEATHERIZED) / 0 / [claim-356]
research/cicada-3301/data/keyed-alphabets.json : claim-356; checker re-read retained from N2-claude.md: every figure in it appears in keyed-alphabets.json at 12427dfa84 or the verify.mjs run - CONFIRMED / keyed, tail reversed / 72,984 / 1.2710% (COVERS) / 0 / [claim-357]
research/cicada-3301/data/keyed-alphabets.json : claim-357; checker re-read retained from N2-claude.md: every figure in it appears in keyed-alphabets.json at 12427dfa84 or the verify.mjs run - CONFIRMED / keyed, every rotation / 2,116,536 / 0.8573% (MICROSCOPE rotated 12) / 0 / [claim-358]
research/cicada-3301/data/keyed-alphabets.json : claim-358; checker re-read retained from N2-claude.md: every figure in it appears in keyed-alphabets.json at 12427dfa84 or the verify.mjs run - CONFIRMED / algebraic (affine and power maps) / 825 / 1.2888% (affine 20x+16) / 0 / [claim-359]
research/cicada-3301/data/keyed-alphabets.json : claim-359; checker re-read retained from N2-claude.md: every figure in it appears in keyed-alphabets.json at 12427dfa84 or the verify.mjs run - CONFIRMED Over all 2,263,329 constructed alphabets the lowest weight is 0.8573% against the book's 0.6638%. [claim-360]
research/cicada-3301/data/keyed-alphabets.json : claim-360; checker re-read retained from N2-claude.md: every figure in it appears in keyed-alphabets.json at 12427dfa84 or the verify.mjs run - CONFIRMED That lowest weight is a floor for the family, and the book sits z = −2.39 beneath it: suggestive, and not claimed as decisive. [claim-361]
research/cicada-3301/data/keyed-alphabets.json : claim-361; checker re-read retained from N2-claude.md: every figure in it appears in keyed-alphabets.json at 12427dfa84 or the verify.mjs run - CONFIRMED Not one alphabet anyone would actually build reaches the book, and the best falls short by 29%. [claim-363]
research/cicada-3301/data/keyed-alphabets.json : claim-363; checker re-read retained from N2-claude.md: every figure in it appears in keyed-alphabets.json at 12427dfa84 or the verify.mjs run - CONFIRMED And sharp, because all 58 numbered pages were rendered by Ghostscript, not scanned. [claim-365]
research/cicada-3301/data/page-provenance.json : claim-365; checker re-read retained from N2-claude.md: every figure in it appears in page-provenance.json at 12427dfa84 or the verify.mjs run - CONFIRMED One font at one size means about twenty-nine distinct glyph shapes, and any systematic departure is a channel exactly as the red ink is. [claim-366]
research/cicada-3301/data/glyph-channel.json : claim-366; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with glyph-channel.json and the verify.mjs run at 12427dfa84 - CONFIRMED What is there. 13,249 body glyphs across 55 pages give 132 distinct sizes and 1,014 distinct exact bitmaps. [claim-367]
research/cicada-3301/data/glyph-channel.json : claim-367; checker re-read retained from N2-claude.md: every figure in it appears in glyph-channel.json at 12427dfa84 or the verify.mjs run - CONFIRMED And it looked like a channel. Taking the width residual as one bit per glyph and running bias, lag-1 autocorrelation and a runs test, the sequence scores /z/ = 49. [claim-370]
research/cicada-3301/data/glyph-channel.json : claim-370; checker re-read retained from N2-claude.md: every figure in it appears in glyph-channel.json at 12427dfa84 or the verify.mjs run - CONFIRMED The same battery detects the known red channel at /z/ = 123, so it has teeth. [claim-371]
research/cicada-3301/data/glyph-channel.json : claim-371; checker re-read retained from N2-claude.md: every figure in it appears in glyph-channel.json at 12427dfa84 or the verify.mjs run - CONFIRMED It is not one. The decisive test asks, inside each shape class, whether the narrow and wide members are one glyph drawn a pixel apart or two different runes the clustering merged. [claim-372]
research/cicada-3301/data/glyph-channel.json : claim-372; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with glyph-channel.json and the verify.mjs run at 12427dfa84 - CONFIRMED Comparing the mean bitmap of each half: in all 32 testable classes they are different runes, with a between-over-within shape distance whose median is 35 and whose minimum is 5. [claim-373]
research/cicada-3301/data/glyph-channel.json : claim-373; checker re-read retained from N2-claude.md: verify.mjs 8m: 32 different, median 35.884, minimum 5.114 (35.9 shown as 35) - CONFIRMED The structure in that bit is the bigram structure of the text arriving through the glyph shapes. [claim-374]
research/cicada-3301/data/glyph-channel.json : claim-374; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with glyph-channel.json and the verify.mjs run at 12427dfa84 - CONFIRMED Nothing here has a gap either, and that is the other tell: widths sit on adjacent integers, 34 and 35, where the red channel separated 0.0 from 171 with nothing between. [claim-375]
research/cicada-3301/data/glyph-channel.json : claim-375; checker re-read retained from N2-claude.md: widths and the 0.0 / 171 gap: the 171 is the p53 pixel check in the 1700Z log - CONFIRMED On the evidence, the colour channel is the only one these pages hold. [claim-377]
research/cicada-3301/data/glyph-channel.json : claim-377; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with glyph-channel.json and the verify.mjs run at 12427dfa84 - CONFIRMED Two readings survive the measurements and the text cannot separate them. [claim-380]
research/cicada-3301/README.md : claim-380; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with README.md and the verify.mjs run at 12427dfa84 - CONFIRMED The shared image fingerprints do not establish one source file or one rendering operation.
research/cicada-3301/data/page-provenance.json : claim-381; checker re-read retained from dependent copy updated with X10/X37: Replaced the dependent single-document inference with the limit of what the measured fields establish. - CONFIRMED The repeat rate alone does not identify the cipher or how its key was chosen; constructed additive keys can give zero, 86 or 93 repeats on the test plaintext.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-382; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED Or the unsolved pages carry no message, and a generator with a no-repeat rule made them; that account fits every measured property, including the unigram distribution being uniform at the right significance, which is what a machine gives and what a person writing thirteen thousand runes by hand would not. [claim-383]
research/cicada-3301/data/complete-model.json : claim-383; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with complete-model.json and the verify.mjs run at 12427dfa84 - CONFIRMED The measured repeat rate falls below additive and affine expectations under the independent-key English model; this is not a universal exclusion of additive keys.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-385; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED Corrected, and run where it demonstrably works, it is genuinely silent across 13.2 million keys. [claim-387]
research/cicada-3301/data/key-attack.json : claim-387; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED The handles that remain are the section map recovered from the colour channel, the word structure no cipher can change, the provenance of the page images, and the twelve-word crib at the end of p53 whose fourth word is eleven runes long. [claim-389]
research/cicada-3301/README.md : claim-389; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with README.md and the verify.mjs run at 12427dfa84 - CONFIRMED Cicada 3301's Liber Primus departs from random noise in exactly one way: adjacent runes repeat five times less often than chance. [claim-390]
research/cicada-3301/verify.mjs : claim-390; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with the verify.mjs run at 12427dfa84 - CONFIRMED The measured repeat rate falls below additive and affine expectations under the independent-key English model; this is not a universal exclusion of additive keys.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-391; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED Cicada 3301 · the Liber Primus · 12,956 runes [claim-392]
research/cicada-3301/README.md : claim-392; checker re-read retained from N2-claude.md: every figure in it appears in README.md at 12427dfa84 or the verify.mjs run - CONFIRMED Nine sections of it have opened.
https://raw.githubusercontent.com/relikd/LiberPrayground/main/solver.py : claim-394; checker re-read retained from N2-codex.md: claim-394; public/strata/liber-primus-measured/index.html:178; Read the nine solve calls in print_all_solved; agrees with the nine solved local page groups. - CONFIRMED Pages 0 to 55 have resisted a decade of public attack.
https://www.cicadasolvers.com/quickstart/ : claim-395; checker re-read retained from N2-codex.md: claim-395; public/strata/liber-primus-measured/index.html:179; Quickstart reports "2 Solved, leaving 56 unsolved" and the May 2014 dump; these are numbered 0..55 after solved 56/57. - CONFIRMED The measured repeat rate falls below additive and affine expectations under the independent-key English model; this is not a universal exclusion of additive keys.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-396; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED This is the real thing: the first stretch of the unsolved pages, exactly as they sit in the book. [claim-397]
public/strata/liber-primus-measured/index.html : claim-397; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with index.html and the verify.mjs run at 12427dfa84 - CONFIRMED Twenty-nine runes, each with a prime attached, arranged in words with real sentence punctuation.
https://raw.githubusercontent.com/relikd/LiberPrayground/main/README.md : claim-398; checker re-read retained from N2-codex.md: claim-398; public/strata/liber-primus-measured/index.html:189; Read the entire 29-entry published Gematria table; its primes run 2..109. The copied transcriptions retain word and sentence punctuation. - CONFIRMED Nobody knows what it says.
https://www.cicadasolvers.com/quickstart/ : claim-399; checker re-read retained from N2-codex.md: claim-399; public/strata/liber-primus-measured/index.html:190; Confirmed in the context of the displayed unsolved pages: the community reports them unsolved. This is not a claim that all pages lack known plaintext. - CONFIRMED In the book, a rune is followed by itself 86 times in 12,955 chances. [claim-401]
public/strata/liber-primus-measured/index.html : claim-401; checker re-read retained from N2-claude.md: recreated with the page script: 9 repeats in the first 1,400 and 86 in the book; 446.7 expected under shuffling - CONFIRMED Shuffle the very same runes and it happens about 447 times. [claim-402]
public/strata/liber-primus-measured/index.html : claim-402; checker re-read retained from N2-claude.md: recreated with the page script: 9 repeats in the first 1,400 and 86 in the book; 446.7 expected under shuffling - CONFIRMED Here is the bigram table, all 841 cells: how often each rune is followed by each other rune.
git show 12427dfa84:research/cicada-3301/verify.mjs : claim-405; checker re-read retained from N2-codex.md: claim-405; public/strata/liber-primus-measured/index.html:208; Recreated in the pinned scratch copy: "all checks passed", 280 ok assertions, exit 0. The core counts are "unsolved corpus is 12,956 runes", "known plaintext is 2,977 runes", "IoC=0.9999", and "1.8171%" for the English-reference additive model. This is a record of the study and its tested models, not proof about arbitrary plaintexts or keys. - CONFIRMED English has visible structure. [claim-406]
research/cicada-3301/verify.mjs : claim-406; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with the verify.mjs run at 12427dfa84 - CONFIRMED A Vigenere of English does not, but its diagonal is as bright as everything else. [claim-407]
research/cicada-3301/verify.mjs : claim-407; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with the verify.mjs run at 12427dfa84 - CONFIRMED The book's diagonal is a hole. [claim-408]
research/cicada-3301/verify.mjs : claim-408; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with the verify.mjs run at 12427dfa84 - CONFIRMED Rows are the first rune, columns the second, brightness is frequency.
git show 12427dfa84:research/cicada-3301/verify.mjs : claim-409; checker re-read retained from N2-codex.md: claim-409; public/strata/liber-primus-measured/index.html:229; Recreated in the pinned scratch copy: "all checks passed", 280 ok assertions, exit 0. The core counts are "unsolved corpus is 12,956 runes", "known plaintext is 2,977 runes", "IoC=0.9999", and "1.8171%" for the English-reference additive model. This is a record of the study and its tested models, not proof about arbitrary plaintexts or keys. - CONFIRMED The diagonal is "a rune followed by itself".
git show 12427dfa84:research/cicada-3301/verify.mjs : claim-410; checker re-read retained from N2-codex.md: claim-410; public/strata/liber-primus-measured/index.html:229; Recreated in the pinned scratch copy: "all checks passed", 280 ok assertions, exit 0. The core counts are "unsolved corpus is 12,956 runes", "known plaintext is 2,977 runes", "IoC=0.9999", and "1.8171%" for the English-reference additive model. This is a record of the study and its tested models, not proof about arbitrary plaintexts or keys. - CONFIRMED Only one of these four has a dark one. [claim-411]
research/cicada-3301/verify.mjs : claim-411; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with the verify.mjs run at 12427dfa84 - CONFIRMED The rest of the measurements are as empty as the off-diagonal cells. [claim-412]
research/cicada-3301/verify.mjs : claim-412; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with the verify.mjs run at 12427dfa84 - CONFIRMED The 29 rune frequencies are uniform (chi-square 26.4 on 28 degrees of freedom, which is exactly what uniform looks like). [claim-413]
research/cicada-3301/verify.mjs : claim-413; checker re-read retained from N2-claude.md: every figure in it appears in the verify.mjs run at 12427dfa84 (exit 0) - CONFIRMED The repeat rate at every lag from 2 to 87 sits within three standard deviations of chance. [claim-414]
research/cicada-3301/verify.mjs : claim-414; checker re-read retained from N2-claude.md: every figure in it appears in the verify.mjs run at 12427dfa84 (exit 0) - CONFIRMED No key length from 2 to 150 does better than a text with no message in it. [claim-415]
research/cicada-3301/verify.mjs : claim-415; checker re-read retained from N2-claude.md: every figure in it appears in the verify.mjs run at 12427dfa84 (exit 0) - CONFIRMED The longest repeated run is six runes, which is what 12,956 random runes give you. [claim-416]
research/cicada-3301/verify.mjs : claim-416; checker re-read retained from N2-claude.md: every figure in it appears in the verify.mjs run at 12427dfa84 (exit 0) - CONFIRMED Word sums are prime at exactly the rate chance predicts. [claim-417]
research/cicada-3301/verify.mjs : claim-417; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with the verify.mjs run at 12427dfa84 - CONFIRMED One statistic in the whole book departs from noise, and it is the one that says a rune will not follow itself. [claim-418]
research/cicada-3301/verify.mjs : claim-418; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with the verify.mjs run at 12427dfa84 - CONFIRMED Suppose the book is enciphered the way its own solved pages are: add a key to the plaintext, rune by rune, modulo 29.
git show 12427dfa84:research/cicada-3301/verify.mjs : claim-420; checker re-read retained from N2-codex.md: claim-420; public/strata/liber-primus-measured/index.html:244; Recreated in the pinned scratch copy: "all checks passed", 280 ok assertions, exit 0. The core counts are "unsolved corpus is 12,956 runes", "known plaintext is 2,977 runes", "IoC=0.9999", and "1.8171%" for the English-reference additive model. This is a record of the study and its tested models, not proof about arbitrary plaintexts or keys. - CONFIRMED pi+1 − pi = ki − ki+1
git show 12427dfa84:research/cicada-3301/verify.mjs : claim-423; checker re-read retained from N2-codex.md: claim-423; public/strata/liber-primus-measured/index.html:589; Recreated in the pinned scratch copy: "all checks passed", 280 ok assertions, exit 0. The core counts are "unsolved corpus is 12,956 runes", "known plaintext is 2,977 runes", "IoC=0.9999", and "1.8171%" for the English-reference additive model. This is a record of the study and its tested models, not proof about arbitrary plaintexts or keys. - CONFIRMED So the rate at which the ciphertext repeats itself is just how often English produces the particular letter-step that the key happens to be undoing at that moment.
git show 12427dfa84:research/cicada-3301/verify.mjs : claim-426; checker re-read retained from N2-codex.md: claim-426; public/strata/liber-primus-measured/index.html:252; Recreated in the pinned scratch copy: "all checks passed", 280 ok assertions, exit 0. The core counts are "unsolved corpus is 12,956 runes", "known plaintext is 2,977 runes", "IoC=0.9999", and "1.8171%" for the English-reference additive model. This is a record of the study and its tested models, not proof about arbitrary plaintexts or keys. - CONFIRMED Measure that on eight million runes of English put through the Gematria Primus, and the rarest step occurs 1.82% of the time. [claim-428]
research/cicada-3301/verify.mjs : claim-428; checker re-read retained from N2-claude.md: every figure in it appears in the verify.mjs run at 12427dfa84 (exit 0) - CONFIRMED The book is on the left. [claim-430]
research/cicada-3301/verify.mjs : claim-430; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with the verify.mjs run at 12427dfa84 - CONFIRMED Under the independent-key English model, attaining the minimum expected repeat rate at every position requires the rarest difference at each position; that arithmetic-progression key has period 29.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-431; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED And the wall is not an artefact of assuming English: the rarest step was measured in seven languages, and none of them has one below the book. [claim-433]
research/cicada-3301/data/language-floors.json : claim-433; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with language-floors.json and the verify.mjs run at 12427dfa84 - CONFIRMED Modern English 1.81%, Middle English 1.61%, Latin 1.26%, Italian 1.02%, Spanish 1.01%, German 1.00%, Dutch 1.00%, Old English 1.06%. [claim-434]
research/cicada-3301/data/language-floors.json : claim-434; checker re-read retained from N2-claude.md: seven languages recomputed by verify.mjs 7a; the Old English 1.0566% (-4.22) is in the README table only (no committed code or data computes it) - CONFIRMED The weakest case still leaves the book 3.8 standard deviations under the floor. [claim-435]
research/cicada-3301/data/language-floors.json : claim-435; checker re-read retained from N2-claude.md: every figure in it appears in language-floors.json at 12427dfa84 or the verify.mjs run - CONFIRMED Each of these enciphers real English, written in the book's own runes and spelling conventions, and gets scored on the one statistic that carries information. [claim-437]
public/strata/liber-primus-measured/index.html : claim-437; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with index.html and the verify.mjs run at 12427dfa84 - CONFIRMED 12,956 runes (the book's own length) [claim-439]
public/strata/liber-primus-measured/index.html : claim-439; checker re-read retained from N2-claude.md: every figure in it appears in index.html at 12427dfa84 or the verify.mjs run - CONFIRMED The red line is chance, 1 / 29 = 3.448%.
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-441; checker re-read retained from N2-codex.md: claim-441; public/strata/liber-primus-measured/index.html:293; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED Several of these match the book perfectly on flatness and on having no key length: a running key, a one-time pad, a rotor machine, Byrne's Chaocipher. [claim-443]
public/strata/liber-primus-measured/index.html : claim-443; checker re-read retained from N2-claude.md: flat and aperiodic as implemented; the "running key" is a uniform random key (claim-734) - CONFIRMED None of them matches it on the one thing that is not noise. [claim-444]
public/strata/liber-primus-measured/index.html : claim-444; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with index.html and the verify.mjs run at 12427dfa84 - CONFIRMED You cannot, and the reason you cannot is the inequality above. [claim-447]
public/strata/liber-primus-measured/index.html : claim-447; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with index.html and the verify.mjs run at 12427dfa84 - CONFIRMED progressive key (shift + a per rune)
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-448; checker re-read retained from N2-codex.md: claim-448; public/strata/liber-primus-measured/index.html:312; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED running shift by phi(prime), the solved "an end" cipher
https://raw.githubusercontent.com/relikd/LiberPrayground/main/solver.py : claim-450; checker re-read retained from N2-codex.md: claim-450; public/strata/liber-primus-measured/index.html:314; The published solver implements PRIMES[i]-1, and phi(p)=p-1 for a prime. The local control re-derives 85/85 page-56 runes. - CONFIRMED a fresh random alphabet at every position
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-452; checker re-read retained from N2-codex.md: claim-452; public/strata/liber-primus-measured/index.html:316; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED alphabets chosen to avoid English bigrams
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-453; checker re-read retained from N2-codex.md: claim-453; public/strata/liber-primus-measured/index.html:317; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED The last option is the exception that proves the rule: alphabets picked on purpose to dodge English's own letter pairs can get under the book. [claim-454]
public/strata/liber-primus-measured/index.html : claim-454; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with index.html and the verify.mjs run at 12427dfa84 - CONFIRMED That is the only class the measurement leaves standing, and here is how narrow it is. [claim-455]
public/strata/liber-primus-measured/index.html : claim-455; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with index.html and the verify.mjs run at 12427dfa84 - CONFIRMED Draw an alphabet pairing at random and its repeat rate averages exactly 1/29.
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-456; checker re-read retained from N2-codex.md: claim-456; public/strata/liber-primus-measured/index.html:327; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED No natural algebra of the Gematria Primus gets close either: Atbash 2.66%, multiply by thirteen 2.55%, cube 2.79%, inversion mod 29 2.02%, the best shift 1.82%. [claim-458]
research/cicada-3301/README.md : claim-458; checker re-read retained from N2-claude.md: every figure in it appears in README.md at 12427dfa84 or the verify.mjs run - CONFIRMED So the surviving cipher is not one somebody picked a key for. [claim-459]
public/strata/liber-primus-measured/index.html : claim-459; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with index.html and the verify.mjs run at 12427dfa84 - CONFIRMED It is one somebody built already knowing what English does. [claim-460]
public/strata/liber-primus-measured/index.html : claim-460; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with index.html and the verify.mjs run at 12427dfa84 - CONFIRMED It needs three numbers:
git show 12427dfa84:research/cicada-3301/data/complete-model.json : claim-462; checker re-read retained from N2-codex.md: claim-462; public/strata/liber-primus-measured/index.html:343; Read the six experiment results, eleven statistics, fitted-statistic exclusions and controls. The verifier reproduces the reported separation scores: 110.6, 73.8, 68.2, 2.2, 2.0 and 2.3. Passing this finite battery does not prove a message absent. - CONFIRMED 12,956 runes long · the observed rune frequencies · one repeat-suppression factor
git show 12427dfa84:research/cicada-3301/data/complete-model.json : claim-463; checker re-read retained from N2-codex.md: claim-463; public/strata/liber-primus-measured/index.html:345; Read the six experiment results, eleven statistics, fitted-statistic exclusions and controls. The verifier reproduces the reported separation scores: 110.6, 73.8, 68.2, 2.2, 2.0 and 2.3. Passing this finite battery does not prove a message absent. - CONFIRMED No plaintext. [claim-464]
research/cicada-3301/data/complete-model.json : claim-464; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with complete-model.json and the verify.mjs run at 12427dfa84 - CONFIRMED No structure of any kind. [claim-465]
research/cicada-3301/data/complete-model.json : claim-465; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with complete-model.json and the verify.mjs run at 12427dfa84 - CONFIRMED Two of the eleven are fitted by the generator and so cannot fail; they are reported and thrown out of the verdict.
git show 12427dfa84:research/cicada-3301/data/complete-model.json : claim-467; checker re-read retained from N2-codex.md: claim-467; public/strata/liber-primus-measured/index.html:351; Read the six experiment results, eleven statistics, fitted-statistic exclusions and controls. The verifier reproduces the reported separation scores: 110.6, 73.8, 68.2, 2.2, 2.0 and 2.3. Passing this finite battery does not prove a message absent. - CONFIRMED And a battery too blunt to detect anything at all would make "indistinguishable" a meaningless word, so the same eleven statistics and the same matched-null procedure are run on ciphers whose answers are already known. [claim-468]
research/cicada-3301/data/complete-model.json : claim-468; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with complete-model.json and the verify.mjs run at 12427dfa84 - CONFIRMED How far each sequence sits from a three-parameter message-free generator fitted to it, in standard deviations, on whichever of the nine unfitted statistics separates it best.
git show 12427dfa84:research/cicada-3301/data/complete-model.json : claim-471; checker re-read retained from N2-codex.md: claim-471; public/strata/liber-primus-measured/index.html:374; Read the six experiment results, eleven statistics, fitted-statistic exclusions and controls. The verifier reproduces the reported separation scores: 110.6, 73.8, 68.2, 2.2, 2.0 and 2.3. Passing this finite battery does not prove a message absent. - CONFIRMED The battery finds a 300-long Vigenere at 68 sigma, which the ordinary period scan walks straight past. [claim-472]
research/cicada-3301/data/complete-model.json : claim-472; checker re-read retained from N2-claude.md: every figure in it appears in complete-model.json at 12427dfa84 or the verify.mjs run - CONFIRMED So the battery has teeth, and the book has nothing in it that three numbers do not already account for. [claim-473]
research/cicada-3301/data/complete-model.json : claim-473; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with complete-model.json and the verify.mjs run at 12427dfa84 - CONFIRMED A running key and a one-time pad also pass, at 2.2 and 2.0, and both of those unquestionably carry messages.
git show 12427dfa84:research/cicada-3301/data/complete-model.json : claim-476; checker re-read retained from N2-codex.md: claim-476; public/strata/liber-primus-measured/index.html:383; Read the six experiment results, eleven statistics, fitted-statistic exclusions and controls. The verifier reproduces the reported separation scores: 110.6, 73.8, 68.2, 2.2, 2.0 and 2.3. Passing this finite battery does not prove a message absent. - CONFIRMED The unsolved Liber Primus sits in the same statistical class as a one-time pad. [claim-478]
research/cicada-3301/data/complete-model.json : claim-478; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with complete-model.json and the verify.mjs run at 12427dfa84 - CONFIRMED Whatever is in it is not reachable by statistics of this kind. [claim-479]
research/cicada-3301/data/complete-model.json : claim-479; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with complete-model.json and the verify.mjs run at 12427dfa84 - CONFIRMED One cipher did fit the evidence, briefly, and it is worth showing because of how it died. [claim-480]
research/cicada-3301/data/long-periods.json : claim-480; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with long-periods.json and the verify.mjs run at 12427dfa84 - CONFIRMED The suppression is not just present, it is featureless. [claim-481]
research/cicada-3301/data/long-periods.json : claim-481; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with long-periods.json and the verify.mjs run at 12427dfa84 - CONFIRMED The 86 surviving repeats favour no rune (chi-square 27.8 on 28 degrees of freedom), no page block, no word boundary, no position beside the book's own F interrupter, no period, and no part of the text. [claim-482]
research/cicada-3301/data/doubles.json : claim-482; checker re-read retained from N2-claude.md: every figure in it appears in doubles.json at 12427dfa84 or the verify.mjs run - CONFIRMED A flat, position-independent suppression like that is exactly what a polyalphabetic cipher gives when the relation between consecutive alphabets is fixed: each alphabet is the last one composed with a single permutation g.
git show 12427dfa84:research/cicada-3301/data/long-periods.json : claim-483; checker re-read retained from N2-codex.md: claim-483; public/strata/liber-primus-measured/index.html:398; Read "lmax":2600, "ktop":6400, "nulls":200, "max_perm_order":2520, kappa_best_rate 0.04371584699453552, kappa_p 0.1044776119402985, coset_max_ioc 1.0919593510429666, coset_p 0.736318407960199. The empirical null comparisons and controls are in the verifier. - CONFIRMED Then the repeat rate is g's bigram weight at every position, the same number everywhere, which is what the page shows.
git show 12427dfa84:research/cicada-3301/data/long-periods.json : claim-484; checker re-read retained from N2-codex.md: claim-484; public/strata/liber-primus-measured/index.html:400; Read "lmax":2600, "ktop":6400, "nulls":200, "max_perm_order":2520, kappa_best_rate 0.04371584699453552, kappa_p 0.1044776119402985, coset_max_ioc 1.0919593510429666, coset_p 0.736318407960199. The empirical null comparisons and controls are in the verifier. - CONFIRMED That cipher is periodic, and its period is the order of g, which has nothing to do with the length of a key.
git show 12427dfa84:research/cicada-3301/data/long-periods.json : claim-485; checker re-read retained from N2-codex.md: claim-485; public/strata/liber-primus-measured/index.html:403; Read "lmax":2600, "ktop":6400, "nulls":200, "max_perm_order":2520, kappa_best_rate 0.04371584699453552, kappa_p 0.1044776119402985, coset_max_ioc 1.0919593510429666, coset_p 0.736318407960199. The empirical null comparisons and controls are in the verifier. - CONFIRMED For a permutation of 29 symbols that order runs as high as 2520.
https://oeis.org/A000793/b000793.txt : claim-486; checker re-read retained from N2-codex.md: claim-486; public/strata/liber-primus-measured/index.html:404; OEIS exact row "29 2520"; independently checked the cycle construction 5+7+8+9. - CONFIRMED Rescanned to 2600, by two instruments, against 200 matched nulls carrying the book's own length, marginals and suppression: the strongest coincidence lag reads 4.37% where a real period would read 6.1%, and the strongest coset index of coincidence reads 1.09 where a real period would read 1.78. [claim-488]
research/cicada-3301/data/long-periods.json : claim-488; checker re-read retained from N2-claude.md: every figure in it appears in long-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED The book's scan peaks at 4.2 sigma; the nulls peak at 3.8 on average and 4.7 at worst. [claim-489]
research/cicada-3301/data/long-periods.json : claim-489; checker re-read retained from N2-claude.md: every figure in it appears in long-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED The last cipher whose signature matched is gone with it. [claim-490]
research/cicada-3301/data/long-periods.json : claim-490; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with long-periods.json and the verify.mjs run at 12427dfa84 - CONFIRMED The book's two solved Vigenere pages leave a rune unenciphered and do not advance the key there.
https://raw.githubusercontent.com/relikd/LiberPrayground/main/solver.py : claim-492; checker re-read retained from N2-codex.md: claim-492; public/strata/liber-primus-measured/index.html:421; Published selected F positions and the local extraction recover periods 8 and 13 only when the true interrupters are skipped. - CONFIRMED There are three candidate rules and they are separable by one question, because a Vigenere key has to come out exactly periodic:
git show 12427dfa84:research/cicada-3301/data/interrupter.json : claim-493; checker re-read retained from N2-codex.md: claim-493; public/strata/liber-primus-measured/index.html:423; Read both page records, all key/rank records and the F-frequency model. Source gives 25 ciphertext F versus 11 interrupters, 68/515 correct under the naive rule, key ranks 5294/81/1, 458 unsolved F and z -7.67357780962365 under its uniform-output model. The model-free wording is separately flagged. - CONFIRMED skip where ciphertext is F no period no period [claim-494]
research/cicada-3301/data/interrupter.json : claim-494; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with interrupter.json and the verify.mjs run at 12427dfa84 - CONFIRMED skip where plaintext is F periodic at 8 · DIUINITY periodic at 13 · FIRFUMFERENFE [claim-495]
research/cicada-3301/data/interrupter.json : claim-495; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED skip nothing no period no period [claim-496]
research/cicada-3301/data/interrupter.json : claim-496; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with interrupter.json and the verify.mjs run at 12427dfa84 - CONFIRMED On 0_welcome there are 25 ciphertext F runes and only 11 interrupters, so fourteen are ordinary encipherments that happen to land on F. [claim-497]
research/cicada-3301/data/interrupter.json : claim-497; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED Every interrupter is a ciphertext F, so the rule is visible in principle.
git show 12427dfa84:research/cicada-3301/data/interrupter.json : claim-498; checker re-read retained from N2-codex.md: claim-498; public/strata/liber-primus-measured/index.html:439; Read both page records, all key/rank records and the F-frequency model. Source gives 25 ciphertext F versus 11 interrupters, 68/515 correct under the naive rule, key ranks 5294/81/1, 458 unsolved F and z -7.67357780962365 under its uniform-output model. The model-free wording is separately flagged. - CONFIRMED Most ciphertext F runes are not interrupters, so it is invisible in practice, and the ciphertext is all a solver has.
git show 12427dfa84:research/cicada-3301/data/interrupter.json : claim-499; checker re-read retained from N2-codex.md: claim-499; public/strata/liber-primus-measured/index.html:439; Read both page records, all key/rank records and the F-frequency model. Source gives 25 ciphertext F versus 11 interrupters, 68/515 correct under the naive rule, key ranks 5294/81/1, 458 unsolved F and z -7.67357780962365 under its uniform-output model. The model-free wording is separately flagged. - CONFIRMED Decrypt 0_welcome under the ciphertext-F rule using the true key and you get 68 of 515 runes right, 13.2%, with the first error at offset 5. [claim-500]
research/cicada-3301/data/interrupter.json : claim-500; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED Running a 73,240-key dictionary against 0_welcome, a page whose key is the dictionary word DIVINITY, puts the true key at rank 5,294. [claim-503]
research/cicada-3301/data/key-attack.json : claim-503; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED The control fails, so every negative such a sweep produces is a statement about the interrupter and not about the book. [claim-504]
research/cicada-3301/data/key-attack.json : claim-504; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with key-attack.json and the verify.mjs run at 12427dfa84 - CONFIRMED Worse: one of the book's two keys is not a word at all.
git show 12427dfa84:research/cicada-3301/data/interrupter.json : claim-505; checker re-read retained from N2-codex.md: claim-505; public/strata/liber-primus-measured/index.html:453; Read both page records, all key/rank records and the F-frequency model. Source gives 25 ciphertext F versus 11 interrupters, 68/515 correct under the naive rule, key ranks 5294/81/1, 458 unsolved F and z -7.67357780962365 under its uniform-output model. The model-free wording is separately flagged. - CONFIRMED DIUINITY is DIVINITY in the book's spelling.
git show 12427dfa84:research/cicada-3301/data/interrupter.json : claim-506; checker re-read retained from N2-codex.md: claim-506; public/strata/liber-primus-measured/index.html:453; Read both page records, all key/rank records and the F-frequency model. Source gives 25 ciphertext F versus 11 interrupters, 68/515 correct under the naive rule, key ranks 5294/81/1, 458 unsolved F and z -7.67357780962365 under its uniform-output model. The model-free wording is separately flagged. - CONFIRMED A plain word list can reach one of the two keys the Liber Primus has actually demonstrated and structurally cannot reach the other.
git show 12427dfa84:research/cicada-3301/data/interrupter.json : claim-507; checker re-read retained from N2-codex.md: claim-507; public/strata/liber-primus-measured/index.html:455; Read both page records, all key/rank records and the F-frequency model. Source gives 25 ciphertext F versus 11 interrupters, 68/515 correct under the naive rule, key ranks 5294/81/1, 458 unsolved F and z -7.67357780962365 under its uniform-output model. The model-free wording is separately flagged. - CONFIRMED The interrupter is rare, 2.14% of runes on one page and 0.63% on the other, so a text runs clean before the first one. [claim-508]
research/cicada-3301/data/interrupter.json : claim-508; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED On both pages the first interrupter falls at offset 48 and 49. [claim-509]
research/cicada-3301/data/interrupter.json : claim-509; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED A prefix shorter than that is an ordinary Vigenere at phase zero, and there the attack finds the key:
git show 12427dfa84:research/cicada-3301/data/key-attack.json : claim-510; checker re-read retained from N2-codex.md: claim-510; public/strata/liber-primus-measured/index.html:461; Read every control, prefix-length row, substituted-key result and passage hypothesis. Key count is 13,257,833 and both substituted controls rank first. Some quoted z/p values describe earlier runs and are not the values in this file; those entries have explicit source-record notes below. - CONFIRMED Bar length is the z-score of the best-scoring key; the label on the right is where the TRUE key ranked. [claim-511]
research/cicada-3301/data/key-attack.json : claim-511; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with key-attack.json and the verify.mjs run at 12427dfa84 - CONFIRMED At 48 runes the attack reads out WELCOMEWELCOMEPILGRIMTOTHEG, which is the page. [claim-512]
research/cicada-3301/data/key-attack.json : claim-512; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED The middle rows correct the obvious story: it is not the FIRST interrupter that breaks the attack, since 64 runes contains one and 96 contains three and both still rank the true key first. [claim-513]
research/cicada-3301/data/key-attack.json : claim-513; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED The score simply decays as they accumulate. [claim-514]
research/cicada-3301/data/key-attack.json : claim-514; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with key-attack.json and the verify.mjs run at 12427dfa84 - CONFIRMED The 51-rune red passage on p53 gets the strongest version: every dictionary word, at every key phase, under every interrupter hypothesis. [claim-518]
research/cicada-3301/data/key-attack.json : claim-518; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with key-attack.json and the verify.mjs run at 12427dfa84 - CONFIRMED The phase sweep matters because a crib in the middle of a block does not know where the key is; only the count of interrupters before it matters, not which ones, so the phase takes at most L values.
git show 12427dfa84:research/cicada-3301/data/key-attack.json : claim-519; checker re-read retained from N2-codex.md: claim-519; public/strata/liber-primus-measured/index.html:497; Read every control, prefix-length row, substituted-key result and passage hypothesis. Key count is 13,257,833 and both substituted controls rank first. Some quoted z/p values describe earlier runs and are not the values in this file; those entries have explicit source-record notes below. - CONFIRMED One unmodelled interrupter is the difference between solving the window and never seeing it. [claim-522]
research/cicada-3301/data/key-attack.json : claim-522; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with key-attack.json and the verify.mjs run at 12427dfa84 - CONFIRMED The p53 passage holds exactly one ciphertext F, so there are two hypotheses, and both were run. [claim-524]
research/cicada-3301/data/key-attack.json : claim-524; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with key-attack.json and the verify.mjs run at 12427dfa84 - CONFIRMED The longest red passage in the Liber Primus is not a Vigenere under any of 73,193 dictionary rune-keys, at any phase, under either interrupter hypothesis. [claim-528]
research/cicada-3301/data/key-attack.json : claim-528; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED Its shift at key index j is (primej+1 − 1) mod 29, carrying the same plaintext-F interrupter, and it reproduces the page at 85 of 85 runes. [claim-531]
research/cicada-3301/data/crib-periods.json : claim-531; checker re-read retained from N2-claude.md: every figure in it appears in crib-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED For the first twenty-nine key indices that shift is identically the gematria value of the j-th rune minus one, which is the book's own table read off as a key.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-532; checker re-read retained from N2-codex.md: claim-532; public/strata/liber-primus-measured/index.html:518; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED That matters for everything else, because a running key is aperiodic and lies outside every period-based exclusion here.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-533; checker re-read retained from N2-codex.md: claim-533; public/strata/liber-primus-measured/index.html:521; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED Tested separately against the same fixed stream at 2,000 starting offsets, with and without an interrupter: no crib of eight runes or more fits it at any offset. [claim-534]
research/cicada-3301/data/crib-periods.json : claim-534; checker re-read retained from N2-claude.md: every figure in it appears in crib-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED The control finds p56's own heading ANEND at offset 0. [claim-535]
research/cicada-3301/data/crib-periods.json : claim-535; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with crib-periods.json and the verify.mjs run at 12427dfa84 - CONFIRMED The word-list attacks above search key space and score what comes back, which needs a null and yields a probability.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-536; checker re-read retained from N2-codex.md: claim-536; public/strata/liber-primus-measured/index.html:528; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED A crib's shape determines the key.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-538; checker re-read retained from N2-codex.md: claim-538; public/strata/liber-primus-measured/index.html:531; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED If a word of length L sits at offset o in the span and the cipher is a periodic Vigenere of period p, then choosing that word fixes k[(o+i) mod p] = c[o+i] − w[i] for every i.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-539; checker re-read retained from N2-codex.md: claim-539; public/strata/liber-primus-measured/index.html:531; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED So when p is at most L, one word determines the key completely; any internal inconsistency rejects it outright; and whatever survives must then decrypt the whole span into dictionary words.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-540; checker re-read retained from N2-codex.md: claim-540; public/strata/liber-primus-measured/index.html:533; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED Iterating words therefore enumerates the entire family exactly, where brute-forcing key streams cannot.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-541; checker re-read retained from N2-codex.md: claim-541; public/strata/liber-primus-measured/index.html:535; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED The deepest crib below stands for 366,451,025,462,807,220 key streams and clears in about a second. [claim-542]
research/cicada-3301/data/crib-periods.json : claim-542; checker re-read retained from N2-claude.md: every figure in it appears in crib-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED Each crib is anchored on its longest word, which sets how far the exclusion reaches.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-543; checker re-read retained from N2-codex.md: claim-543; public/strata/liber-primus-measured/index.html:539; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED A period equal to that length is degenerate: the anchor pins the key with nothing left over, so a hit is guaranteed whenever the remaining words happen to be words.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-544; checker re-read retained from N2-codex.md: claim-544; public/strata/liber-primus-measured/index.html:539; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED Only periods strictly below the anchor carry information, and the table keeps them apart.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-545; checker re-read retained from N2-codex.md: claim-545; public/strata/liber-primus-measured/index.html:541; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED p0-2 @0 13 8 1..8 5.2×10 11 0 (7 degenerate at 8) [claim-546]
research/cicada-3301/data/crib-periods.json : claim-546; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with crib-periods.json and the verify.mjs run at 12427dfa84 - CONFIRMED p15-22 @9 11 5 1..5 2.1×10 7 0 (32 degenerate at 5) [claim-548]
research/cicada-3301/data/crib-periods.json : claim-548; checker re-read retained from N2-claude.md: every figure in it appears in crib-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED p23-26 @0 16 6 1..6 6.2×10 8 0 [claim-549]
research/cicada-3301/data/crib-periods.json : claim-549; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with crib-periods.json and the verify.mjs run at 12427dfa84 - CONFIRMED p27-32 @0 19 12 1..12 3.7×10 17 0 (5 degenerate at 12) [claim-550]
research/cicada-3301/data/crib-periods.json : claim-550; checker re-read retained from N2-claude.md: every figure in it appears in crib-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED p33-39 @0 10 8 1..8 5.2×10 11 320 [claim-551]
research/cicada-3301/data/crib-periods.json : claim-551; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with crib-periods.json and the verify.mjs run at 12427dfa84 - CONFIRMED Every periodic key each crib admits, enumerated exactly rather than sampled.
git show 12427dfa84:research/cicada-3301/data/crib-periods.json : claim-554; checker re-read retained from N2-codex.md: claim-554; public/strata/liber-primus-measured/index.html:560; Read all crib, period, control and survivor records and the enumerator. Fifteen reachable controls recover the known text. The p53 search reaches only periods 1..11; the unrestricted wording is separately flagged. - CONFIRMED The longest red passage in the book, 51 runes at the end of p53, admits none at all. [claim-555]
research/cicada-3301/data/crib-periods.json : claim-555; checker re-read retained from N2-claude.md: every figure in it appears in crib-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED The same code path ran on the twenty headings whose plaintext is published. [claim-557]
research/cicada-3301/data/crib-periods.json : claim-557; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with crib-periods.json and the verify.mjs run at 12427dfa84 - CONFIRMED Fifteen have a true period the anchor can reach, and the true plaintext comes back on 15 of 15, Atbash pages included. [claim-558]
research/cicada-3301/data/crib-periods.json : claim-558; checker re-read retained from N2-claude.md: every figure in it appears in crib-periods.json at 12427dfa84 or the verify.mjs run - CONFIRMED The degenerate hits look degenerate: p27-32's five read UANPROCLIUITIESPRUT and GABCRYSTALLISEDCRAY, which is what a twelve-rune anchor pinning a twelve-long key leaves behind. [claim-562]
research/cicada-3301/data/crib-periods.json : claim-562; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with crib-periods.json and the verify.mjs run at 12427dfa84 - CONFIRMED Everything above about keys concerns periodic ones, and the prime running key on p56 is why that is not enough: it is aperiodic and sits outside every period-based exclusion here.
git show 12427dfa84:research/cicada-3301/data/aperiodic.json : claim-563; checker re-read retained from N2-codex.md: claim-563; public/strata/liber-primus-measured/index.html:582; Read all 20 sequence names, every sequence/text result and all four synthetic controls. Source records 2,000 offsets, 4,640,000 trials per crib, synthetic_ok 4, and zero hits on anchors of six or more runes. Autokey reaches IoC 1.1714193612378498. - CONFIRMED Twenty integer sequences (primes, prime gaps, totient, divisor count and sum, Fibonacci, Lucas, triangular, squares, cubes, naturals, odds, powers of two, factorial, Catalan, composites, Mobius, and the digits of pi, e and phi) at 2,000 starting offsets, 29 additive constants, both polarities and every interrupter subset, which is 4,640,000 trials per crib. [claim-565]
research/cicada-3301/data/aperiodic.json : claim-565; checker re-read retained from N2-claude.md: every figure in it appears in aperiodic.json at 12427dfa84 or the verify.mjs run - CONFIRMED Then ciphertext autokey, which needs no key at all, only a primer.
git show 12427dfa84:research/cicada-3301/data/aperiodic.json : claim-566; checker re-read retained from N2-codex.md: claim-566; public/strata/liber-primus-measured/index.html:592; Read all 20 sequence names, every sequence/text result and all four synthetic controls. Source records 2,000 offsets, 4,640,000 trials per crib, synthetic_ok 4, and zero hits on anchors of six or more runes. Autokey reaches IoC 1.1714193612378498. - CONFIRMED The prime sequence must recover p56's own heading, and it does, at offset 0 with constant 28, which is prime − 1 exactly. [claim-568]
research/cicada-3301/data/aperiodic.json : claim-568; checker re-read retained from N2-claude.md: every figure in it appears in aperiodic.json at 12427dfa84 or the verify.mjs run - CONFIRMED Ciphertext autokey reaches a normalised index of coincidence of 1.17 at its best primer length, where English runic is 1.78. [claim-569]
research/cicada-3301/data/aperiodic.json : claim-569; checker re-read retained from N2-claude.md: every figure in it appears in aperiodic.json at 12427dfa84 or the verify.mjs run - CONFIRMED The crib search uses different measurements from the conditional repeat-rate bound; the bound does not automatically exclude every additive key searched.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-571; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED The book's own plaintext uses F at 1.612%, below chance, so an interrupted cipher predicts ciphertext F at 5.005%. [claim-576]
research/cicada-3301/data/interrupter.json : claim-576; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED The unsolved corpus has 458 F in 12,956 runes, 3.54%: +0.54 sigma from flat and −7.67 sigma from interrupted. [claim-577]
research/cicada-3301/data/interrupter.json : claim-577; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED F is the 7th most common rune of 29 there, entirely unremarkable, where an interrupter would make it the most common by a wide margin. [claim-578]
research/cicada-3301/data/interrupter.json : claim-578; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED The implied plaintext F rate is 0.090% ± 0.166%, against a per-page range of 0.63% to 2.14% on the pages we can read. [claim-579]
research/cicada-3301/data/interrupter.json : claim-579; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED At single-page scale this test does not discriminate: jpg107-167 is interrupted and reads −2.82, because its own plaintext happens to use F only twice in 319 runes. [claim-581]
research/cicada-3301/data/interrupter.json : claim-581; checker re-read retained from N2-claude.md: every figure in it appears in interrupter.json at 12427dfa84 or the verify.mjs run - CONFIRMED The claim rests on the unsolved corpus being twenty-five times larger than any single page, and the verifier asserts that misclassification rather than hiding it. [claim-582]
research/cicada-3301/verify.mjs : claim-582; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with the verify.mjs run at 12427dfa84 - CONFIRMED Under the stated q = 1/29 model, the observed ciphertext F frequency implies a low plaintext F rate if plaintext F is copied through. The inference depends on that model.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-583; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED Taking the width residual as one bit per glyph and running a battery of bias, lag-1 autocorrelation and a runs test, the sequence scores /z/ = 49. [claim-586]
research/cicada-3301/data/glyph-channel.json : claim-586; checker re-read retained from N2-claude.md: every figure in it appears in glyph-channel.json at 12427dfa84 or the verify.mjs run - CONFIRMED It is not one. [claim-587]
research/cicada-3301/data/glyph-channel.json : claim-587; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with glyph-channel.json and the verify.mjs run at 12427dfa84 - CONFIRMED Compare the mean bitmap of each half: in all 32 testable classes they are different runes, with a between-over-within shape distance whose median is 35 and whose minimum is 5. [claim-589]
research/cicada-3301/data/glyph-channel.json : claim-589; checker re-read retained from N2-claude.md: verify.mjs 8m: 32 different, median 35.884, minimum 5.114 (35.9 shown as 35) - CONFIRMED The structure in that bit is the ordinary bigram structure of the text arriving through the glyph shapes, not a message. [claim-590]
research/cicada-3301/data/glyph-channel.json : claim-590; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with glyph-channel.json and the verify.mjs run at 12427dfa84 - CONFIRMED Widths sit on adjacent integers, 34 and 35, where the red channel separated 0.0 from 171 with nothing whatever between. [claim-592]
research/cicada-3301/data/glyph-channel.json : claim-592; checker re-read retained from N2-claude.md: widths and the 0.0 / 171 gap: the 171 is the p53 pixel check in the 1700Z log - CONFIRMED The Liber Primus is not open at the end of this page, and this page does not claim a key, a plaintext, or a method.
git show 12427dfa84:research/cicada-3301/README.md : claim-595; checker re-read retained from N2-codex.md: claim-595; public/strata/liber-primus-measured/index.html:664; Read the pinned study and its committed measurement record, including its controls and limitations; checked the corresponding data and the 280-assertion verifier. Source is the author's recorded experiment, under the stated corpus and models. - CONFIRMED The doubled-rune deficit is not new.
https://uncovering-cicada.fandom.com/wiki/Liber_Primus_Ideas_and_Suggestions : claim-597; checker re-read retained from N2-codex.md: claim-597; public/strata/liber-primus-measured/index.html:667; Indexed original community page explicitly reports "86 same rune 2-grams"; this is acknowledged prior work. - CONFIRMED The solving community found it years ago and reports the same count of 86; it is the one clue everyone agrees on.
https://uncovering-cicada.fandom.com/wiki/Liber_Primus_Ideas_and_Suggestions : claim-598; checker re-read retained from N2-codex.md: claim-598; public/strata/liber-primus-measured/index.html:667; The community page says "only solid clue towards cipher/key found in runes" and records 86. Treat "everyone" as a summary of this reported community consensus, not a census of every solver. - CONFIRMED What the Artificial Wasteland adds is the arithmetic that turns the clue into a bound, and the bench that shows sixteen cipher machines failing to clear it. [claim-599]
public/strata/liber-primus-measured/index.html : claim-599; checker re-read retained from N2-claude.md: the bench has 16 rows; one is a uniform-random baseline and its "running key" is the one-time pad code (claim-734) - CONFIRMED The upshot is a negative result with a sharp edge: the additive family is excluded at 9.8 standard deviations, and the affine family at 6.3, against any English-like plaintext. [claim-600]
research/cicada-3301/README.md : claim-600; checker re-read retained from N2-claude.md: every figure in it appears in README.md at 12427dfa84 or the verify.mjs run - CONFIRMED That family is where the search has been.
https://raw.githubusercontent.com/relikd/LiberPrayground/main/README.md : claim-601; checker re-read retained from N2-codex.md: claim-601; public/strata/liber-primus-measured/index.html:672; The cited solver documents additive word-key, totient and OEIS searches. It supports that these families were searched, not that all public effort was limited to them. - CONFIRMED Two readings survive, and both are narrower than they were.
git show 12427dfa84:research/cicada-3301/README.md : claim-602; checker re-read retained from N2-codex.md: claim-602; public/strata/liber-primus-measured/index.html:674; Read the pinned study and its committed measurement record, including its controls and limitations; checked the corresponding data and the 280-assertion verifier. Source is the author's recorded experiment, under the stated corpus and models. - CONFIRMED Either the book uses a cipher whose alphabets systematically avoid the plaintext's own letter pairs (a class one random alphabet pairing in two million reaches, so a deliberate signature rather than an accident of a key), or the unsolved pages carry no message and a generator with a no-repeat rule produced them. [claim-603]
research/cicada-3301/README.md : claim-603; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with README.md and the verify.mjs run at 12427dfa84 - CONFIRMED What has been taken away from the first reading since: shuffling the plaintext before enciphering does not help, and in fact raises the floor from 1.81% to 2.39%; no fixed linear window over the plaintext helps either; and the one cipher whose signature actually matched the flat, featureless suppression the book shows is excluded out to period 2600, which covers every order a permutation of 29 symbols can have. [claim-604]
research/cicada-3301/README.md : claim-604; checker re-read retained from N2-claude.md: every figure in it appears in README.md at 12427dfa84 or the verify.mjs run - CONFIRMED The text still cannot tell the two readings apart, and this page will not pretend otherwise, though the section below on how the pages were made leaves the two no longer evenly matched.
git show 12427dfa84:research/cicada-3301/README.md : claim-605; checker re-read retained from N2-codex.md: claim-605; public/strata/liber-primus-measured/index.html:682; Read the pinned study and its committed measurement record, including its controls and limitations; checked the corresponding data and the 280-assertion verifier. Source is the author's recorded experiment, under the stated corpus and models. - CONFIRMED One transcription reads four runes where the scans show three at two spots in the koan. [claim-608]
https://raw.githubusercontent.com/relikd/LiberPrayground/main/pages/0_koan_1.txt : claim-608; checker re-read retained from N2-claude.md: relikd's koan has the four-rune ᚪᛞᚹᛋ 5 times and its solved text collapses the first two antitheses; idkfa's file reads the three-rune form - CONFIRMED The page turns four times on the difference between who and what: that is not who you are, that is only what you are called; that is what you do, not who you are; that is only your species, not who you are; that is merely what you are, not who you are. [claim-610]
https://raw.githubusercontent.com/relikd/LiberPrayground/main/pages/solved_0_koan_1.txt : claim-610; checker re-read retained from N2-claude.md: relikd's decryption reads "THAT IS NOT WHAT YOU ARE ... ONLY WHAT YOU ARE CALLED" and "THAT IS WHAT YOU DO ... NOT WHAT YOU ARE", the last two with WHO; the iddqd ciphertext quoted on the uncovering-cicada how-solved page has ᚪᛞᛠ (WHO) at the first; README correction table matches - CONFIRMED The bound is a property of the plaintext, and the plaintext used to measure it is 8.0 million runes of Project Gutenberg English. [claim-612]
research/cicada-3301/data/english-runic-stats.json : claim-612; checker re-read retained from N2-claude.md: every figure in it appears in english-runic-stats.json at 12427dfa84 or the verify.mjs run - CONFIRMED The Liber Primus's own plaintext is 2,977 runes, and it is measurably not that reference: its adjacent-difference distribution against English proportions gives chi-square 82.7 on 28 degrees of freedom, p below one in ten thousand. [claim-613]
research/cicada-3301/data/own-plaintext-floor.json : claim-613; checker re-read retained from N2-claude.md: every figure in it appears in own-plaintext-floor.json at 12427dfa84 or the verify.mjs run - CONFIRMED It is spikier, which is why its own floor sits at 1.31% rather than English's 1.81%. [claim-614]
research/cicada-3301/data/english-runic-stats.json : claim-614; checker re-read retained from N2-claude.md: every figure in it appears in english-runic-stats.json at 12427dfa84 or the verify.mjs run - CONFIRMED And 2,977 runes cannot pin a minimum: the 99.9% interval around that 1.31% reaches down to 0.637%, which does not exclude the book at all. [claim-615]
research/cicada-3301/data/own-plaintext-floor.json : claim-615; checker re-read retained from N2-claude.md: every figure in it appears in own-plaintext-floor.json at 12427dfa84 or the verify.mjs run - CONFIRMED The direct test still does, at p = 2.3e-3 once corrected for trying all 29 differences, but the strong exclusion above rests on the large reference corpus and not on the book's own voice. [claim-616]
research/cicada-3301/data/own-plaintext-floor.json : claim-616; checker re-read retained from N2-claude.md: every figure in it appears in own-plaintext-floor.json at 12427dfa84 or the verify.mjs run - CONFIRMED Of the 13,867 glyphs on the numbered pages, 13,631 carry no red at all and 236 are red through, with nothing in between. [claim-618]
research/cicada-3301/data/red-runes.json : claim-618; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with red-runes.json and the verify.mjs run at 12427dfa84 - CONFIRMED And on every page whose plaintext is known, the red runs read A KOAN, AN INSTRUCTION, KNOW THIS, AN END, PARABLE, WELCOME, A WARNING, SOME WISDOM, THE LOSS OF DIVINITY, PRESERVATION, ADHERENCE. [claim-619]
research/cicada-3301/data/red-runes.json : claim-619; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with red-runes.json and the verify.mjs run at 12427dfa84 - CONFIRMED Red marks the section heading.
git show 12427dfa84:research/cicada-3301/data/red-runes.json : claim-620; checker re-read retained from N2-codex.md: claim-620; public/strata/liber-primus-measured/index.html:714; The committed glyph measurements and first-pass log record "13,867", "13,631" and "236" for total, non-red and red glyphs; the source preserves the pixel measurements. The verifier checks the colour audit. - CONFIRMED Page 57, which is not enciphered at all, has exactly its first seven runes in red and they spell PARABLE; page 56, which is enciphered, has exactly its first five and they decrypt to AN END. [claim-621]
research/cicada-3301/data/red-runes.json : claim-621; checker re-read retained from N2-claude.md: every figure in it appears in red-runes.json at 12427dfa84 or the verify.mjs run - CONFIRMED A second signal agrees independently: headings sit inside a pair of chapter marks, so the punctuation alone brackets them.
git show 12427dfa84:research/cicada-3301/data/sections.json : claim-622; checker re-read retained from N2-codex.md: claim-622; public/strata/liber-primus-measured/index.html:717; Read all 20 known and 13 unsolved section rows, including start/end, shape, ciphertext and plaintext. The verifier prints every unsolved heading and confirms the counts and positions. One-rune English candidates are separately flagged. - CONFIRMED Neither signal is enciphered, so the unsolved book can be sectioned: thirteen headings, at exact positions, with their word lengths given.
git show 12427dfa84:research/cicada-3301/data/sections.json : claim-623; checker re-read retained from N2-codex.md: claim-623; public/strata/liber-primus-measured/index.html:719; Read all 20 known and 13 unsolved section rows, including start/end, shape, ciphertext and plaintext. The verifier prints every unsolved heading and confirms the counts and positions. One-rune English candidates are separately flagged. - CONFIRMED And the map says one thing by itself: the book reuses its headings heavily in the part we can read, twenty bracketed units over fourteen shapes, and not one of the twelve distinct unsolved shapes matches any of them. [claim-625]
research/cicada-3301/data/sections.json : claim-625; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with sections.json and the verify.mjs run at 12427dfa84 - CONFIRMED Relabelling the same 33 headings at random, the expected overlap is 3.2 and the chance of seeing none is p = 0.008. [claim-626]
research/cicada-3301/data/sections.json : claim-626; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with sections.json and the verify.mjs run at 12427dfa84 - CONFIRMED And the longest red passage in the book is not in that map at all. [claim-627]
research/cicada-3301/data/red-passages.json : claim-627; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with red-passages.json and the verify.mjs run at 12427dfa84 - CONFIRMED The heading detector caps a heading at thirty-four runes, on the sound grounds that a heading is short, which is exactly why it misses this one.
git show 12427dfa84:research/cicada-3301/analysis/sections.py : claim-628; checker re-read retained from N2-codex.md: claim-628; public/strata/liber-primus-measured/index.html:728; Read the pinned heading detector and compared its output with sections.json and red-passages.json. The heading-length cap explains the omitted 51-rune tail; this is a record of what the detector selects. - CONFIRMED It is 51 runes on p53: the last fifty-one runes of the whole p40-53 block, four lines of it, starting mid-line immediately after a comma, terminated by the four-dot chapter mark, with the cicada emblem printed directly beneath it. [claim-629]
research/cicada-3301/data/red-passages.json : claim-629; checker re-read retained from N2-claude.md: longest 2957..3007, 51 runes, p53.jpg, terminator #, tail (verify.mjs 8h); the comma and emblem details are the 1700Z log's - CONFIRMED But only one of those twenty is long enough to be a passage rather than a label, so "long red means an instruction" is a prior with n = 1, and this page will not call it a rule.
git show 12427dfa84:research/cicada-3301/data/red-passages.json; git show 12427dfa84:research/cicada-3301/README.md : claim-631; checker re-read retained from N2-codex.md: claim-631; public/strata/liber-primus-measured/index.html:740; Source-record repair: N1 cites research/cicada-3301/data/sections.json. The heading file omits the longest passage because of its cap. The replacement records "length": 51 and "shape": [5,4,4,11,2,3,2,6,5,5,2,2], as well as the solved red passages. The replacement record supports the observation or calculation; the source-pointer error is not a finding against the recorded event. - CONFIRMED What is certain rather than likely is the shape, because word lengths survive every rune-wise cipher. (5, 4, 4, 11, 2, 3, 2, 6, 5, 5, 2, 2) is a plaintext fact about the unsolved book, and at twelve words it is the largest single crib in it, sitting in the most distinguished position the book has.
git show 12427dfa84:research/cicada-3301/data/red-passages.json; git show 12427dfa84:research/cicada-3301/README.md : claim-632; checker re-read retained from N2-codex.md: claim-632; public/strata/liber-primus-measured/index.html:743; Source-record repair: N1 cites research/cicada-3301/data/sections.json. The heading file omits the longest passage because of its cap. The replacement records "length": 51 and "shape": [5,4,4,11,2,3,2,6,5,5,2,2], as well as the solved red passages. The replacement record supports the observation or calculation; the source-pointer error is not a finding against the recorded event. - CONFIRMED It is not, and the arithmetic says so: multiplying each slot length's frequency across two million words of English through the Gematria Primus gives p = 9.8×10−12 per window, so the expected number of matches is 0.00. [claim-635]
research/cicada-3301/data/crib-passage.json : claim-635; checker re-read retained from N2-claude.md: every figure in it appears in crib-passage.json at 12427dfa84 or the verify.mjs run - CONFIRMED Finding none is exactly what chance predicts, and the absence carries no information whatever. [claim-636]
research/cicada-3301/data/crib-passage.json : claim-636; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with crib-passage.json and the verify.mjs run at 12427dfa84 - CONFIRMED They carry a grid of 256 two-character tokens over [0-9A-Za-z], in 32 rows of 8. [claim-639]
research/cicada-3301/data/token-grid-corrected.json : claim-639; checker re-read retained from N2-claude.md: 256 tokens in 10 + 13 + 9 = 32 rows of 8 (relikd pages/p40-53.txt shows the same layout) - CONFIRMED Three clean bands, nothing between. [claim-642]
research/cicada-3301/data/token-bars.json : claim-642; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with token-bars.json and the verify.mjs run at 12427dfa84 - CONFIRMED So a bare bar at 67 px is a capital I and one at 74 px is a lowercase l. [claim-643]
research/cicada-3301/data/token-bars.json : claim-643; checker re-read retained from N2-claude.md: every figure in it appears in token-bars.json at 12427dfa84 or the verify.mjs run - CONFIRMED The pages hold 13 bare bars. [claim-644]
research/cicada-3301/data/token-bars.json : claim-644; checker re-read retained from N2-claude.md: every figure in it appears in token-bars.json at 12427dfa84 or the verify.mjs run - CONFIRMED Four contradict it: p49 row 5 1L and row 6 0L are both 74 px, so 1l and 0l; p50 row 10 0l and p51 row 7 3i are both 67 px with no dot, so 0I and 3I. [claim-645]
research/cicada-3301/data/token-bars.json : claim-645; checker re-read retained from N2-claude.md: every figure in it appears in token-bars.json at 12427dfa84 or the verify.mjs run - CONFIRMED Under any base-62 reading those four tokens change value, because L is 21 and l is 47, i is 44 and I is 18. [claim-646]
research/cicada-3301/data/token-bars.json : claim-646; checker re-read retained from N2-claude.md: arithmetic on 0-9 A-Z a-z: L = 10+11 = 21, l = 36+11 = 47, i = 36+8 = 44, I = 10+8 = 18 - CONFIRMED The component filter had a minimum height, so a dot was never in the candidate list at all, and a dotted j was indistinguishable from a capital I by construction. [claim-649]
https://artifex.com/products : claim-649; checker re-read retained from N2-claude.md: excerpt found: Ghostscript is Artifex's product - CONFIRMED Now take the tokens whose first character is 4, the largest first character anywhere in the block: under base B those have value 4B plus the second digit, so they are the only tokens a byte ceiling constrains.
git show 12427dfa84:research/cicada-3301/data/token-decodings.json : claim-650; checker re-read retained from N2-codex.md: claim-650; public/strata/liber-primus-measured/index.html:792; Read the 256 decoded values and the stored diagnostics: "base": 60, "entropy": 7.169654589725435, "distinct": 161, "lead_p": 0.9367644525517796, "orderings": 14, "prime_hits": [], "top_token_count": 17, "top_token_max_second_digit": 15. The verifier confirms the decoding. Limits of the alternative-base wording are separately flagged. - CONFIRMED Base 60 forces exactly that, because 4 times 60 plus 15 is 255.
git show 12427dfa84:research/cicada-3301/data/token-decodings.json : claim-651; checker re-read retained from N2-codex.md: claim-651; public/strata/liber-primus-measured/index.html:795; Read the 256 decoded values and the stored diagnostics: "base": 60, "entropy": 7.169654589725435, "distinct": 161, "lead_p": 0.9367644525517796, "orderings": 14, "prime_hits": [], "top_token_count": 17, "top_token_max_second_digit": 15. The verifier confirms the decoding. Limits of the alternative-base wording are separately flagged. - CONFIRMED So: base 60, alphabet 0-9 A-Z a-x, values running exactly 0 to 255. [claim-653]
research/cicada-3301/data/token-decodings.json : claim-653; checker re-read retained from N2-claude.md: every figure in it appears in token-decodings.json at 12427dfa84 or the verify.mjs run - CONFIRMED And then the bytes are nothing. 256 bytes is 2048 bits, exactly one prime factor of a 4096-bit RSA key, and Cicada's own signing key is 4096-bit; the grid is 32 rows of 8, so its columns give eight 32-byte chunks, the shape of eight SHA-256 digests. [claim-654]
https://keyserver.ubuntu.com/pks/lookup?op=index&search=0x7A35090F&options=mr : claim-654; checker re-read retained from N2-claude.md: 256 x 8 = 2048; the key is RSA 4096 (keyserver); 32 rows of 8 tokens give eight 32-byte columns; SHA-256 digests are 32 bytes (RFC 6234) - CONFIRMED Fourteen readings of the grid, four block sizes, both endiannesses, 420 primality tests and not one prime. [claim-655]
research/cicada-3301/data/token-decodings.json : claim-655; checker re-read retained from N2-claude.md: orderings = 14; 14 readings x 15 chunks (1+2+4+8 over four block sizes) x 2 endiannesses = 420; verify.mjs 8g "14 readings tried", no prime - CONFIRMED No chunk repeats at any size. [claim-656]
research/cicada-3301/data/token-decodings.json : claim-656; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with token-decodings.json and the verify.mjs run at 12427dfa84 - CONFIRMED Not typesetting errors: the solved pages each decrypt under a rigid rule, so a typo would show as a position where the rule breaks, and they break at 0 of 2,963 positions, which caps the book's error rate at 0.10% where the leakage would need 0.66%. [claim-658]
research/cicada-3301/verify.mjs : claim-658; checker re-read retained from N2-claude.md: every figure in it appears in the verify.mjs run at 12427dfa84 (exit 0) - CONFIRMED For every language as written the model cannot even reach the book's repeat rate. [claim-660]
research/cicada-3301/data/interrupters.json : claim-660; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with interrupters.json and the verify.mjs run at 12427dfa84 - CONFIRMED So the alphabet changes at essentially every position, and the whole weight falls back on those one-in-two-million pairings. [claim-661]
research/cicada-3301/data/interrupters.json : claim-661; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with interrupters.json and the verify.mjs run at 12427dfa84 - CONFIRMED Word lengths and punctuation are not enciphered.
git show 12427dfa84:research/cicada-3301/data/word-structure.json : claim-662; checker re-read retained from N2-codex.md: claim-662; public/strata/liber-primus-measured/index.html:820; Read "unsolved": {"runes":12956,"sentences":176,"commas":4,"words":2900,"two":450}, plaintext 2977/102/37/727/175, control_p 0.7983611450316801, and p_two_rune 6.438874896139787e-08. Recomputed percentages, mean lengths and punctuation rates. The English array has 13 entries; the fourteen-text wording is separately flagged. - CONFIRMED They pass through any rune-wise substitution untouched, which the solved pages confirm: the solved ciphertext and its own plaintext have the same word-length distribution to p = 0.798.
git show 12427dfa84:research/cicada-3301/data/word-structure.json : claim-663; checker re-read retained from N2-codex.md: claim-663; public/strata/liber-primus-measured/index.html:820; Source-record repair: N1 cites research/cicada-3301/data/own-plaintext-floor.json. The original frequency-floor file has "plaintext_pairs": 2976. The replacement contains "words": 727, "two": 175, "control_p": 0.7983611450316801 and "p_two_rune": 6.438874896139787e-08, which are the relevant observations. The replacement record supports the observation or calculation; the source-pointer error is not a finding against the recorded event. - CONFIRMED It holds uniformly across all nine unsolved page groups. [claim-666]
research/cicada-3301/data/word-structure.json : claim-666; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with word-structure.json and the verify.mjs run at 12427dfa84 - CONFIRMED And they barely punctuate: 73.6 runes to a sentence against 29.2 in the book's own prose, and 0.31 commas per thousand runes against 12.43. [claim-667]
https://raw.githubusercontent.com/scream314/cicada3301/master/liber_primus.md : claim-667; checker re-read retained from N2-claude.md: excerpt found; data/red-passages.json 0_warning 170..183 FORALLISSACRED - CONFIRMED Across the 58 numbered pages as served from Cicada's own onion service, all 58 share one quantisation table and one ICC profile, and that profile reads "Artifex Software sRGB ICC Profile", Copyright Artifex Software 2011. [claim-672]
https://raw.githubusercontent.com/relikd/LiberPrayground/main/pages/p0.jpg : claim-672; checker re-read retained from N2-claude.md: recreated: p0.jpg (sha256 prefix 197e1e153958b9a2, size 695525, as data/page-provenance.json) embeds an ICC profile whose desc is "Artifex Software sRGB ICC Profile" and cprt "Copyright Artifex Software 2011"; unnumbered 0_warning.jpg carries none - CONFIRMED Artifex is Ghostscript, so the book was rendered from a document rather than scanned, which is also why its runes template-match to thirteen pixels of separation. [claim-673]
https://artifex.com/products : claim-673; checker re-read retained from N2-claude.md: Artifex makes Ghostscript; the 13 px template separation is recorded in the 1300Z log - CONFIRMED The shared ICC profile and luma table span all 58 numbered pages, including the 56 unsolved and two solved pages.
research/cicada-3301/data/page-provenance.json : claim-675; checker re-read retained from dependent copy updated with X10/X37: Re-read the saved fingerprints: numbered length 58, one luma hash and one ICC hash. This confirms shared settings, not a unique rendering operation. - CONFIRMED The shared image fingerprints do not establish one source file or one rendering operation.
research/cicada-3301/data/page-provenance.json : claim-676; checker re-read retained from dependent copy updated with X10/X37: Replaced the dependent single-document inference with the limit of what the measured fields establish. - CONFIRMED It does close off the easiest version of the no-message reading, the one where the unsolved pages were padding bolted on to a real book. [claim-678]
research/cicada-3301/data/page-provenance.json : claim-678; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with page-provenance.json and the verify.mjs run at 12427dfa84 - CONFIRMED Coset scores at multiples of a period are statistically dependent, so one fluctuation at 15 shows up six times and looks like corroboration.
git show 12427dfa84:research/cicada-3301/README.md; git show 12427dfa84:research/cicada-3301/data/aligned-periods.json : claim-681; checker re-read retained from N2-codex.md: claim-681; public/strata/liber-primus-measured/index.html:852; Source-record repair: N1 cites research/cicada-3301/data/aligned-periods.json. The cited JSON contains the four reset-position scans "page", "line", "word", "sentence". The claimed divisor-null result is instead recorded in the README: "9 of 120 controls beat the book" and "p = 0.075". The replacement record supports the observation or calculation; the source-pointer error is not a finding against the recorded event. - CONFIRMED The study, the traps, and the file list are in research/cicada-3301/README.md.
git show 12427dfa84:research/cicada-3301/README.md : claim-686; checker re-read retained from N2-codex.md: claim-686; public/strata/liber-primus-measured/index.html:864; Read the pinned study and its committed measurement record, including its controls and limitations; checked the corresponding data and the 280-assertion verifier. Source is the author's recorded experiment, under the stated corpus and models. - CONFIRMED Sources: page scans and one transcription, relikd/LiberPrayground; two more, rtkd/idkfa and Taiiwo/cicada, which agree with it exactly on all 12,956 unsolved runes. [claim-687]
https://raw.githubusercontent.com/Taiiwo/cicada/master/cicada/liber_primus.txt : claim-687; checker re-read retained from N2-claude.md: recreated: relikd pages p0-2 to p54-55, rtkd/idkfa data/liber and Taiiwo/cicada liber_primus.txt are identical on all 12,956 unsolved runes - CONFIRMED English reference: fourteen Project Gutenberg texts, 8.0M runes through the Gematria Primus. [claim-688]
research/cicada-3301/data/english-runic-stats.json : claim-688; checker re-read retained from N2-claude.md: source lists 14 Gutenberg numbers; runes = 8002702 - CONFIRMED This layer's check works the answer out again from scratch, independently of this page.
git show 12427dfa84:research/cicada-3301/verify.mjs : claim-689; checker re-read retained from N2-codex.md: claim-689; public/strata/liber-primus-measured/index.html:876; Recreated in the pinned scratch copy: "all checks passed", 280 ok assertions, exit 0. The core counts are "unsolved corpus is 12,956 runes", "known plaintext is 2,977 runes", "IoC=0.9999", and "1.8171%" for the English-reference additive model. This is a record of the study and its tested models, not proof about arbitrary plaintexts or keys. - CONFIRMED Not yet put to that test.
git show 12427dfa84:research/cicada-3301/verify.mjs : claim-690; checker re-read retained from N2-codex.md: claim-690; public/strata/liber-primus-measured/index.html:876; Recreated in the pinned scratch copy: "all checks passed", 280 ok assertions, exit 0. The core counts are "unsolved corpus is 12,956 runes", "known plaintext is 2,977 runes", "IoC=0.9999", and "1.8171%" for the English-reference additive model. This is a record of the study and its tested models, not proof about arbitrary plaintexts or keys. - CONFIRMED It is published to read.
git show 12427dfa84:research/cicada-3301/verify.mjs : claim-691; checker re-read retained from N2-codex.md: claim-691; public/strata/liber-primus-measured/index.html:876; Recreated in the pinned scratch copy: "all checks passed", 280 ok assertions, exit 0. The core counts are "unsolved corpus is 12,956 runes", "known plaintext is 2,977 runes", "IoC=0.9999", and "1.8171%" for the English-reference additive model. This is a record of the study and its tested models, not proof about arbitrary plaintexts or keys. - CONFIRMED Running it needs the repository around it.
git show 12427dfa84:research/cicada-3301/verify.mjs : claim-692; checker re-read retained from N2-codex.md: claim-692; public/strata/liber-primus-measured/index.html:876; Recreated in the pinned scratch copy: "all checks passed", 280 ok assertions, exit 0. The core counts are "unsolved corpus is 12,956 runes", "known plaintext is 2,977 runes", "IoC=0.9999", and "1.8171%" for the English-reference additive model. This is a record of the study and its tested models, not proof about arbitrary plaintexts or keys. - CONFIRMED two unread texts measured end to end; the runes avoid repeating themselves five times more than chance, the Voynich repeats itself more than chance [claim-695]
src/content/strata/is-the-voynich-manuscript-a-language.md : claim-695; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with is-the-voynich-manuscript-a-language.md and the verify.mjs run at 12427dfa84 - CONFIRMED English, no cipher 110.6 [claim-696]
research/cicada-3301/data/complete-model.json : claim-696; checker re-read retained from N2-claude.md: every figure in it appears in complete-model.json at 12427dfa84 or the verify.mjs run - CONFIRMED Vigenere, key of 20 73.8 [claim-697]
research/cicada-3301/data/complete-model.json : claim-697; checker re-read retained from N2-claude.md: every figure in it appears in complete-model.json at 12427dfa84 or the verify.mjs run - CONFIRMED Vigenere, key of 300 68.2 [claim-698]
research/cicada-3301/data/complete-model.json : claim-698; checker re-read retained from N2-claude.md: every figure in it appears in complete-model.json at 12427dfa84 or the verify.mjs run - CONFIRMED running key 2.2 [claim-699]
research/cicada-3301/data/complete-model.json : claim-699; checker re-read retained from N2-claude.md: every figure in it appears in complete-model.json at 12427dfa84 or the verify.mjs run - CONFIRMED one-time pad 2.0 [claim-700]
research/cicada-3301/data/complete-model.json : claim-700; checker re-read retained from N2-claude.md: every figure in it appears in complete-model.json at 12427dfa84 or the verify.mjs run - CONFIRMED the Liber Primus 2.3 [claim-701]
research/cicada-3301/data/complete-model.json : claim-701; checker re-read retained from N2-claude.md: every figure in it appears in complete-model.json at 12427dfa84 or the verify.mjs run - CONFIRMED 16 runes · 0 intr rank 2 [claim-702]
research/cicada-3301/data/key-attack.json : claim-702; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED 24 runes · 0 intr rank 1 [claim-703]
research/cicada-3301/data/key-attack.json : claim-703; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED 32 runes · 0 intr rank 1 [claim-704]
research/cicada-3301/data/key-attack.json : claim-704; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED 40 runes · 0 intr rank 1 [claim-705]
research/cicada-3301/data/key-attack.json : claim-705; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED 48 runes · 0 intr rank 1 [claim-706]
research/cicada-3301/data/key-attack.json : claim-706; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED 64 runes · 1 intr rank 1 [claim-707]
research/cicada-3301/data/key-attack.json : claim-707; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED 96 runes · 3 intr rank 1 [claim-708]
research/cicada-3301/data/key-attack.json : claim-708; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED whole page · 11 intr rank 81 [claim-709]
research/cicada-3301/data/key-attack.json : claim-709; checker re-read retained from N2-claude.md: every figure in it appears in key-attack.json at 12427dfa84 or the verify.mjs run - CONFIRMED Every cell is the same grey: the 812 off-diagonal counts pass a chi-square test for uniformity (841 on 811 degrees of freedom). [claim-710]
public/strata/liber-primus-measured/index.html : claim-710; checker re-read retained from N2-claude.md: every figure in it appears in index.html at 12427dfa84 or the verify.mjs run - CONFIRMED The diagonal is not.
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-711; checker re-read retained from N2-codex.md: claim-711; public/strata/liber-primus-measured/index.html:229; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED It is a hole five times deeper than it should be, and it is the only thing in the picture. [claim-712]
public/strata/liber-primus-measured/index.html : claim-712; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with index.html and the verify.mjs run at 12427dfa84 - CONFIRMED The diagonal is visible too: LL, SS, EE, OO.
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-715; checker re-read retained from N2-codex.md: claim-715; public/strata/liber-primus-measured/index.html:229; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED Any successful decryption of the book has to turn its picture into this one. [claim-716]
public/strata/liber-primus-measured/index.html : claim-716; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with index.html and the verify.mjs run at 12427dfa84 - CONFIRMED A twelve-rune key flattens the whole table, diagonal included. [claim-717]
public/strata/liber-primus-measured/index.html : claim-717; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with index.html and the verify.mjs run at 12427dfa84 - CONFIRMED This is what the book would look like if it were enciphered the way its own solved pages are, and it is not what the book looks like. [claim-718]
public/strata/liber-primus-measured/index.html : claim-718; checker re-read retained from N2-claude.md: the author's reasoning or a description of the apparatus; consistent with index.html and the verify.mjs run at 12427dfa84 - CONFIRMED Unbreakable, and still not it.
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-719; checker re-read retained from N2-codex.md: claim-719; public/strata/liber-primus-measured/index.html:663; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED An independent uniform random key gives a flat bigram table in expectation; finite samples vary.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-720; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED The repeat rate alone does not identify the cipher or how its key was chosen; constructed additive keys can give zero, 86 or 93 repeats on the test plaintext.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-721; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED The repeat rate alone does not identify the cipher or how its key was chosen; constructed additive keys can give zero, 86 or 93 repeats on the test plaintext.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-723; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED Below the additive floor of 1.82%, but still well above the book.
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-724; checker re-read retained from N2-codex.md: claim-724; public/strata/liber-primus-measured/index.html:383; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED The repeat rate alone does not identify the cipher or how its key was chosen; constructed additive keys can give zero, 86 or 93 repeats on the test plaintext.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-725; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED The repeat rate alone does not identify the cipher or how its key was chosen; constructed additive keys can give zero, 86 or 93 repeats on the test plaintext.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-726; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED The repeat rate alone does not identify the cipher or how its key was chosen; constructed additive keys can give zero, 86 or 93 repeats on the test plaintext.
research/cicada-3301/verify.mjs; research/cicada-3301/verify-assay-2026-10-01.mjs; research/cicada-3301/README.md : claim-727; Director repair: the earlier checker confirmation is superseded by this qualified statement. The conditional model and constructed-key counterexamples support it; the original judgment remains in N2 evidence. - CONFIRMED the first 1,400 runes of 12,956 [claim-728]
public/strata/liber-primus-measured/index.html : claim-728; checker re-read retained from N2-claude.md: every figure in it appears in index.html at 12427dfa84 or the verify.mjs run - CONFIRMED the book · 0.664%
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-730; checker re-read retained from N2-codex.md: claim-730; public/strata/liber-primus-measured/index.html:1170; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED enciphered 12,956 runes of English
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-731; checker re-read retained from N2-codex.md: claim-731; public/strata/liber-primus-measured/index.html:1169; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED Vigenere, 13-rune key
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-732; checker re-read retained from N2-codex.md: claim-732; public/strata/liber-primus-measured/index.html:1079; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED one-time pad
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-735; checker re-read retained from N2-codex.md: claim-735; public/strata/liber-primus-measured/index.html:219; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED progressive key
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-736; checker re-read retained from N2-codex.md: claim-736; public/strata/liber-primus-measured/index.html:312; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED shift by phi(prime)
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-737; checker re-read retained from N2-codex.md: claim-737; public/strata/liber-primus-measured/index.html:314; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED autokey (plaintext)
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-738; checker re-read retained from N2-codex.md: claim-738; public/strata/liber-primus-measured/index.html:1087; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED autokey (ciphertext)
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-739; checker re-read retained from N2-codex.md: claim-739; public/strata/liber-primus-measured/index.html:1088; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED affine, per position
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-740; checker re-read retained from N2-codex.md: claim-740; public/strata/liber-primus-measured/index.html:1089; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED 3-rotor machine
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-741; checker re-read retained from N2-codex.md: claim-741; public/strata/liber-primus-measured/index.html:298; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED 5-rotor machine
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-742; checker re-read retained from N2-codex.md: claim-742; public/strata/liber-primus-measured/index.html:1094; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED dynamic substitution
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-743; checker re-read retained from N2-codex.md: claim-743; public/strata/liber-primus-measured/index.html:1095; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED Chaocipher
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-744; checker re-read retained from N2-codex.md: claim-744; public/strata/liber-primus-measured/index.html:298; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED uniform random runes
git show 12427dfa84:public/strata/liber-primus-measured/index.html : claim-745; checker re-read retained from N2-codex.md: claim-745; public/strata/liber-primus-measured/index.html:1097; Read the pinned markup and inline script and executed its calculation code with a local DOM stub: node ui-audit.mjs. The initial bench has 16 comparison rows and the book at "0.664%". Dynamic readouts were reproduced in the sequence recorded by N1; exceptions are identified separately. - CONFIRMED The degenerate hits are visibly degenerate: p27-32's five read `UANPROCLIUITIESPRUT` and `GABCRYSTALLISEDCRAY`. [degenerate-second]
research/cicada-3301/data/crib-periods.json : degenerate-second; checker re-read retained from N2-claude.md: both readings are in crib-periods.json (p27-32 examples) and the README - CONFIRMED that is merely what you are, not who you are [koan-consciousness]
https://raw.githubusercontent.com/relikd/LiberPrayground/main/pages/solved_0_koan_1.txt : koan-consciousness; checker re-read retained from N2-claude.md: relikd's decryption reads "THAT IS NOT WHAT YOU ARE ... ONLY WHAT YOU ARE CALLED" and "THAT IS WHAT YOU DO ... NOT WHAT YOU ARE", the last two with WHO; the iddqd ciphertext quoted on the uncovering-cicada how-solved page has ᚪᛞᛠ (WHO) at the first; README correction table matches - CONFIRMED that is not who you are, that is only what you are called [koan-name]
https://raw.githubusercontent.com/relikd/LiberPrayground/main/pages/solved_0_koan_1.txt : koan-name; checker re-read retained from N2-claude.md: relikd's decryption reads "THAT IS NOT WHAT YOU ARE ... ONLY WHAT YOU ARE CALLED" and "THAT IS WHAT YOU DO ... NOT WHAT YOU ARE", the last two with WHO; the iddqd ciphertext quoted on the uncovering-cicada how-solved page has ᚪᛞᛠ (WHO) at the first; README correction table matches - CONFIRMED that is what you do, not who you are [koan-professor]
https://raw.githubusercontent.com/relikd/LiberPrayground/main/pages/solved_0_koan_1.txt : koan-professor; checker re-read retained from N2-claude.md: relikd's decryption reads "THAT IS NOT WHAT YOU ARE ... ONLY WHAT YOU ARE CALLED" and "THAT IS WHAT YOU DO ... NOT WHAT YOU ARE", the last two with WHO; the iddqd ciphertext quoted on the uncovering-cicada how-solved page has ᚪᛞᛠ (WHO) at the first; README correction table matches - CONFIRMED that is only your species, not who you are [koan-species]
https://raw.githubusercontent.com/relikd/LiberPrayground/main/pages/solved_0_koan_1.txt : koan-species; checker re-read retained from N2-claude.md: relikd's decryption reads "THAT IS NOT WHAT YOU ARE ... ONLY WHAT YOU ARE CALLED" and "THAT IS WHAT YOU DO ... NOT WHAT YOU ARE", the last two with WHO; the iddqd ciphertext quoted on the uncovering-cicada how-solved page has ᚪᛞᛠ (WHO) at the first; README correction table matches - CONFIRMED enciphered 12,956 runes of English · repeated runes: 0.139% · the book: 0.664% · chance: 3.448% [readout-avoid]
public/strata/liber-primus-measured/index.html : readout-avoid; checker re-read retained from N2-claude.md: recreated with the page script in node, key DIUINITY: vig 3.844, beau 4.369, prog 2.455, prime 3.173, totient 3.173, avoid 0.139 - CONFIRMED enciphered 12,956 runes of English · repeated runes: 4.369% · the book: 0.664% · chance: 3.448% [readout-beau]
public/strata/liber-primus-measured/index.html : readout-beau; checker re-read retained from N2-claude.md: recreated with the page script in node, key DIUINITY: vig 3.844, beau 4.369, prog 2.455, prime 3.173, totient 3.173, avoid 0.139 - CONFIRMED enciphered 12,956 runes of English · repeated runes: 3.173% · the book: 0.664% · chance: 3.448% [readout-prime]
public/strata/liber-primus-measured/index.html : readout-prime; checker re-read retained from N2-claude.md: recreated with the page script in node, key DIUINITY: vig 3.844, beau 4.369, prog 2.455, prime 3.173, totient 3.173, avoid 0.139 - CONFIRMED enciphered 12,956 runes of English · repeated runes: 2.455% · the book: 0.664% · chance: 3.448% [readout-prog]
public/strata/liber-primus-measured/index.html : readout-prog; checker re-read retained from N2-claude.md: recreated with the page script in node, key DIUINITY: vig 3.844, beau 4.369, prog 2.455, prime 3.173, totient 3.173, avoid 0.139 - CONFIRMED enciphered 12,956 runes of English · repeated runes: 3.173% · the book: 0.664% · chance: 3.448% [readout-totient]
public/strata/liber-primus-measured/index.html : readout-totient; checker re-read retained from N2-claude.md: recreated with the page script in node, key DIUINITY: vig 3.844, beau 4.369, prog 2.455, prime 3.173, totient 3.173, avoid 0.139 - CONFIRMED enciphered 12,956 runes of English · repeated runes: 3.844% · the book: 0.664% · chance: 3.448% [readout-vig]
public/strata/liber-primus-measured/index.html : readout-vig; checker re-read retained from N2-claude.md: recreated with the page script in node, key DIUINITY: vig 3.844, beau 4.369, prog 2.455, prime 3.173, totient 3.173, avoid 0.139 - CONFIRMED 9 repeats in the first 1,400 runes · 86 in the whole book of 12,955 chances [readout-w-dbl]
public/strata/liber-primus-measured/index.html : readout-w-dbl; checker re-read retained from N2-claude.md: recreated with the page script: 9 repeats in the first 1,400 and 86 in the book; 446.7 expected under shuffling - CONFIRMED Twenty-one red passages there have known plaintext; one is a single glyph and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [red-label-10: PRESERVATION]
research/cicada-3301/data/red-passages.json : red-label-10: PRESERVATION; checker re-read retained from N2-claude.md: the quoted label is in the README list and among the 21 red passages on solved pages in data/red-passages.json (20 of 5+ runes, 1 single glyph; verify.mjs 8h) - CONFIRMED Twenty-one red passages there have known plaintext; one is a single glyph and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [red-label-11: ADHERENCE]
research/cicada-3301/data/red-passages.json : red-label-11: ADHERENCE; checker re-read retained from N2-claude.md: the quoted label is in the README list and among the 21 red passages on solved pages in data/red-passages.json (20 of 5+ runes, 1 single glyph; verify.mjs 8h) - CONFIRMED Twenty-one red passages there have known plaintext; one is a single glyph and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [red-label-12: WISDOM]
research/cicada-3301/data/red-passages.json : red-label-12: WISDOM; checker re-read retained from N2-claude.md: the quoted label is in the README list and among the 21 red passages on solved pages in data/red-passages.json (20 of 5+ runes, 1 single glyph; verify.mjs 8h) - CONFIRMED Twenty-one red passages there have known plaintext; one is a single glyph and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [red-label-14: CONSUMPTION]
research/cicada-3301/data/red-passages.json : red-label-14: CONSUMPTION; checker re-read retained from N2-claude.md: the quoted label is in the README list and among the 21 red passages on solved pages in data/red-passages.json (20 of 5+ runes, 1 single glyph; verify.mjs 8h) - CONFIRMED Twenty-one red passages there have known plaintext; one is a single glyph and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [red-label-15: FOR ALL IS SACRED]
https://raw.githubusercontent.com/scream314/cicada3301/master/liber_primus.md : red-label-15: FOR ALL IS SACRED; checker re-read retained from N2-claude.md: excerpt found; data/red-passages.json 0_warning 170..183 FORALLISSACRED - CONFIRMED Twenty-one red passages there have known plaintext; one is a single glyph and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [red-label-16: COMMAND YOUR OWN SELF]
research/cicada-3301/data/red-passages.json : red-label-16: COMMAND YOUR OWN SELF; checker re-read retained from N2-claude.md: the quoted label is in the README list and among the 21 red passages on solved pages in data/red-passages.json (20 of 5+ runes, 1 single glyph; verify.mjs 8h) - CONFIRMED Twenty-one red passages there have known plaintext; one is a single glyph and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [red-label-1: A KOAN]
research/cicada-3301/data/red-passages.json : red-label-1: A KOAN; checker re-read retained from N2-claude.md: the quoted label is in the README list and among the 21 red passages on solved pages in data/red-passages.json (20 of 5+ runes, 1 single glyph; verify.mjs 8h) - CONFIRMED Twenty-one red passages there have known plaintext; one is a single glyph and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [red-label-2: AN INSTRUCTION]
research/cicada-3301/data/red-passages.json : red-label-2: AN INSTRUCTION; checker re-read retained from N2-claude.md: the quoted label is in the README list and among the 21 red passages on solved pages in data/red-passages.json (20 of 5+ runes, 1 single glyph; verify.mjs 8h) - CONFIRMED Twenty-one red passages there have known plaintext; one is a single glyph and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [red-label-3: KNOW THIS]
research/cicada-3301/data/red-passages.json : red-label-3: KNOW THIS; checker re-read retained from N2-claude.md: the quoted label is in the README list and among the 21 red passages on solved pages in data/red-passages.json (20 of 5+ runes, 1 single glyph; verify.mjs 8h) - CONFIRMED Twenty-one red passages there have known plaintext; one is a single glyph and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [red-label-4: AN END]
research/cicada-3301/data/red-passages.json : red-label-4: AN END; checker re-read retained from N2-claude.md: the quoted label is in the README list and among the 21 red passages on solved pages in data/red-passages.json (20 of 5+ runes, 1 single glyph; verify.mjs 8h) - CONFIRMED Twenty-one red passages there have known plaintext; one is a single glyph and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [red-label-5: PARABLE]
research/cicada-3301/data/red-passages.json : red-label-5: PARABLE; checker re-read retained from N2-claude.md: the quoted label is in the README list and among the 21 red passages on solved pages in data/red-passages.json (20 of 5+ runes, 1 single glyph; verify.mjs 8h) - CONFIRMED Twenty-one red passages there have known plaintext; one is a single glyph and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [red-label-6: WELCOME]
research/cicada-3301/data/red-passages.json : red-label-6: WELCOME; checker re-read retained from N2-claude.md: the quoted label is in the README list and among the 21 red passages on solved pages in data/red-passages.json (20 of 5+ runes, 1 single glyph; verify.mjs 8h) - CONFIRMED Twenty-one red passages there have known plaintext; one is a single glyph and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [red-label-7: A WARNING]
research/cicada-3301/data/red-passages.json : red-label-7: A WARNING; checker re-read retained from N2-claude.md: the quoted label is in the README list and among the 21 red passages on solved pages in data/red-passages.json (20 of 5+ runes, 1 single glyph; verify.mjs 8h) - CONFIRMED Twenty-one red passages there have known plaintext; one is a single glyph and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [red-label-8: SOME WISDOM]
research/cicada-3301/data/red-passages.json : red-label-8: SOME WISDOM; checker re-read retained from N2-claude.md: the quoted label is in the README list and among the 21 red passages on solved pages in data/red-passages.json (20 of 5+ runes, 1 single glyph; verify.mjs 8h) - CONFIRMED Twenty-one red passages there have known plaintext; one is a single glyph and the other twenty are, without exception, WELCOME, A WARNING, WISDOM, SOME WISDOM, KNOW THIS, A KOAN, PARABLE, AN END, AN INSTRUCTION three times, PRESERVATION, CONSUMPTION, ADHERENCE, THE LOSS OF DIVINITY, FOR ALL IS SACRED, and AN INSTRUCTION / COMMAND YOUR OWN SELF. [red-label-9: THE LOSS OF DIVINITY]
research/cicada-3301/data/red-passages.json : red-label-9: THE LOSS OF DIVINITY; checker re-read retained from N2-claude.md: the quoted label is in the README list and among the 21 red passages on solved pages in data/red-passages.json (20 of 5+ runes, 1 single glyph; verify.mjs 8h) - CONFIRMED 256 bytes is 2048 bits, exactly one prime factor of a 4096-bit RSA key [rsa-factor]
https://www.rfc-editor.org/rfc/rfc8017.txt : rsa-factor; checker re-read retained from N2-claude.md: excerpt found by assay/sources.mjs --online and read against the claim - CONFIRMED eight 32-byte chunks, the shape of eight SHA-256 digests. [sha-size]
https://www.rfc-editor.org/rfc/rfc6234.txt : sha-size; checker re-read retained from N2-claude.md: excerpt found by assay/sources.mjs --online and read against the claim
What was done
- [fixed] X1: The verifier recomputes core corpus measurements but also reads saved JSON and does not compare every prose number. Narrowed the checking promise; no dated correction for this MINOR.
- [fixed] X2: The floor is an expectation under independent key differences and a common plaintext difference distribution. A legal plaintext-dependent key gives 93/12955 = 0.718%, below 1.82%. Qualified the prose, metadata and diagram; finite samples and interrupter-selected pairs need those assumptions.
- [fixed] X3: The minimum cell holds 39 of 2976 pairs: 100*39/2976 = 1.310483870967742%. Replaced 1.3096% by 1.3105% in both copies and the study.
- [fixed] X4: The minimum cell holds 39 of 2976 pairs: 100*39/2976 = 1.310483870967742%. Replaced 1.3096% by 1.3105% in both copies and the study.
- [fixed] X5: The page said every key that misses the additive floor, and every bench machine, lands at 1/29. That is the expectation for uniform key differences independent of the plaintext; other differences can give other rates. The page's progressive key gives 2.300% on its initial plaintext, and its rotor models have no reflector; found by the assay line, 2026-10-01.
- [fixed] X6: The source names the interjection O. The actual dictionary search restricts one-rune words to A/I. Stated that search restriction and the omitted O; did not silently widen or rerun the search.
- [fixed] X7: 4B+d <= 255 gives d <= 11 at B=61 and d <= 7 at B=62. The observed 15 violates both; (16/B)^17 is a separate unrestricted-uniform-digit null. Corrected prose, script explanation and verifier assertion labels.
- [fixed] X8: The page described unresolved transcription disputes and said every published attempt used four wrong values. The community had already published five corrections. This study's grid still read 2s at p50, zero-based row 11, token 4; the glyph is capital S, so 2S gives 148 in base 60, not 174. The regenerated grid now matches all 256 community tokens; found by the assay line, 2026-10-01.
- [fixed] X9: The recorded observation is 3.404%; 100/29 = 3.4482758620689653%. Replaced exact equality with closeness to chance, retaining the recorded model results.
- [fixed] X10: The page said the seventeen unnumbered pages used three other quantisation tables and were not part of the numbered pages' render. They have no embedded ICC profile and use three luma tables, but eight pages share the numbered pages' table. These fingerprints do not establish a unique rendering history; found by the assay line, 2026-10-01.
- [fixed] X11: The page said nobody had checked the interrupter rule, every description placed it at ciphertext F, and this explained a decade of failed dictionary attacks. The 2021 LiberPrayground README already describes selected plaintext F positions, interrupt combinations and integer-sequence searches. The failed naive sweep documented here is this study's implementation; found by the assay line, 2026-10-01.
- [fixed] X12: The page said nobody had checked the interrupter rule, every description placed it at ciphertext F, and this explained a decade of failed dictionary attacks. The 2021 LiberPrayground README already describes selected plaintext F positions, interrupt combinations and integer-sequence searches. The failed naive sweep documented here is this study's implementation; found by the assay line, 2026-10-01.
- [fixed] X13: The page said every earlier account listed only plaintext, Atbash and word-key Vigenere. LiberPrayground already implements p56's prime-minus-one running key. The four-form description stands; the universal omission claim does not; found by the assay line, 2026-10-01.
- [fixed] X14: The page said the longest crib admitted no key at any period whatsoever. The dictionary search covered periods 1 through 11 for that crib; it did not cover longer periods; found by the assay line, 2026-10-01.
- [fixed] X15: The page said the ciphertext-F test needed no cipher assumption. Its prediction f + (1 - f)/29 assumes non-F plaintext encrypts to F with probability 1/29. In general that probability is q, giving f + (1 - f)q; the reported measurements test the stated uniform-output model; found by the assay line, 2026-10-01.
- [fixed] X16: The page said the ciphertext-F test needed no cipher assumption. Its prediction f + (1 - f)/29 assumes non-F plaintext encrypts to F with probability 1/29. In general that probability is q, giving f + (1 - f)q; the reported measurements test the stated uniform-output model; found by the assay line, 2026-10-01.
- [fixed] X17: Re-read the cached tutorial text: it discusses and demonstrates random substitution alphabets. Replaced the universal nobody claim with the common keyword construction.
- [fixed] X18: baseline_on_zero is 0.9103328553 and baseline_distinct is 16. Retained 91% on the baseline; replaced the exhaustive one-or-two-pixels claim by the sixteen recorded offsets.
- [fixed] X19: The page said nobody had checked the interrupter rule, every description placed it at ciphertext F, and this explained a decade of failed dictionary attacks. The 2021 LiberPrayground README already describes selected plaintext F positions, interrupt combinations and integer-sequence searches. The failed naive sweep documented here is this study's implementation; found by the assay line, 2026-10-01.
- [fixed] X20: The archive records a message signed 2017-04-04 and discovered 2017-04-29. Qualified the opening with the later signed message rather than claiming immediate silence.
- [fixed] X21: The floor is an expectation under independent key differences and a common plaintext difference distribution. A legal plaintext-dependent key gives 93/12955 = 0.718%, below 1.82%. Qualified the prose, metadata and diagram; finite samples and interrupter-selected pairs need those assumptions.
- [fixed] X22: The floor is an expectation under independent key differences and a common plaintext difference distribution. A legal plaintext-dependent key gives 93/12955 = 0.718%, below 1.82%. Qualified the prose, metadata and diagram; finite samples and interrupter-selected pairs need those assumptions.
- [fixed] X23: The page said every key that misses the additive floor, and every bench machine, lands at 1/29. That is the expectation for uniform key differences independent of the plaintext; other differences can give other rates. The page's progressive key gives 2.300% on its initial plaintext, and its rotor models have no reflector; found by the assay line, 2026-10-01.
- [fixed] X24: The PRNG starts at seed 3301 on page load. Progressive and prime shifts are deterministic for fixed plaintext. Replaced the every-machine-freshly-seeded claim.
- [fixed] X25: The bench and selector called a random F replacement model the solved pages' interrupter. That code replaces arbitrary plaintext symbols by F with probability 6%; the solved rule copies plaintext F and pauses the key there. Both controls now name the toy model; found by the assay line, 2026-10-01.
- [fixed] X26: The page said nobody had checked the interrupter rule, every description placed it at ciphertext F, and this explained a decade of failed dictionary attacks. The 2021 LiberPrayground README already describes selected plaintext F positions, interrupt combinations and integer-sequence searches. The failed naive sweep documented here is this study's implementation; found by the assay line, 2026-10-01.
- [fixed] X27: The page said every earlier account listed only plaintext, Atbash and word-key Vigenere. LiberPrayground already implements p56's prime-minus-one running key. The four-form description stands; the universal omission claim does not; found by the assay line, 2026-10-01.
- [fixed] X28: The page said the longest crib admitted no key at any period whatsoever. The dictionary search covered periods 1 through 11 for that crib; it did not cover longer periods; found by the assay line, 2026-10-01.
- [fixed] X29: The page said the ciphertext-F test needed no cipher assumption. Its prediction f + (1 - f)/29 assumes non-F plaintext encrypts to F with probability 1/29. In general that probability is q, giving f + (1 - f)q; the reported measurements test the stated uniform-output model; found by the assay line, 2026-10-01.
- [fixed] X30: The page said the ciphertext-F test needed no cipher assumption. Its prediction f + (1 - f)/29 assumes non-F plaintext encrypts to F with probability 1/29. In general that probability is q, giving f + (1 - f)q; the reported measurements test the stated uniform-output model; found by the assay line, 2026-10-01.
- [fixed] X31: baseline_on_zero is 0.9103328553 and baseline_distinct is 16. Retained 91% on the baseline; replaced the exhaustive one-or-two-pixels claim by the sixteen recorded offsets.
- [fixed] X32: The source names the interjection O. The actual dictionary search restricts one-rune words to A/I. Stated that search restriction and the omitted O; did not silently widen or rerun the search.
- [fixed] X33: 4B+d <= 255 gives d <= 11 at B=61 and d <= 7 at B=62. The observed 15 violates both; (16/B)^17 is a separate unrestricted-uniform-digit null. Corrected prose, script explanation and verifier assertion labels.
- [fixed] X34: The page described unresolved transcription disputes and said every published attempt used four wrong values. The community had already published five corrections. This study's grid still read 2s at p50, zero-based row 11, token 4; the glyph is capital S, so 2S gives 148 in base 60, not 174. The regenerated grid now matches all 256 community tokens; found by the assay line, 2026-10-01.
- [fixed] X35: The recorded observation is 3.404%; 100/29 = 3.4482758620689653%. Replaced exact equality with closeness to chance, retaining the recorded model results.
- [fixed] X36: All seventeen unnumbered JPEG records have icc=null. An embedded profile is optional; changed its embedded profile to any embedded profile in the served prose.
- [fixed] X37: The page said the seventeen unnumbered pages used three other quantisation tables and were not part of the numbered pages' render. They have no embedded ICC profile and use three luma tables, but eight pages share the numbered pages' table. These fingerprints do not establish a unique rendering history; found by the assay line, 2026-10-01.
- [fixed] X38: The verifier recomputes core corpus measurements but also reads saved JSON and does not compare every prose number. Narrowed the checking promise; no dated correction for this MINOR.
- [fixed] X39: The floor is an expectation under independent key differences and a common plaintext difference distribution. A legal plaintext-dependent key gives 93/12955 = 0.718%, below 1.82%. Qualified the prose, metadata and diagram; finite samples and interrupter-selected pairs need those assumptions.
- [fixed] X40: The bench and selector called a random F replacement model the solved pages' interrupter. That code replaces arbitrary plaintext symbols by F with probability 6%; the solved rule copies plaintext F and pauses the key there. Both controls now name the toy model; found by the assay line, 2026-10-01.
- [fixed] X41: The shuffle readout reported 447 repeats in the whole shuffled sequence. The page's seeded shuffle has 470; the readout now counts the sequence it displays; found by the assay line, 2026-10-01.
- [fixed] X42: Both instruments assume an additive model and use language information: an English dictionary versus an English bigram reference. Replaced the no-shared-assumptions claim in both page copies, study and verifier.
- [fixed] X43: Both instruments assume an additive model and use language information: an English dictionary versus an English bigram reference. Replaced the no-shared-assumptions claim in both page copies, study and verifier.
- [fixed] X44: The page could label a repeat rate up to 15% above the book as Under the book and infer how the key was built. The label now requires a rate strictly below the book's, and reports only what that rate establishes; found by the assay line, 2026-10-01.
- [fixed] K1: 86 adjacent repeats is suppression, not a prohibition. Reworded the relates note to suppression and the tested rotor models.
- [fixed] K2: The verifier recomputes core corpus measurements but also reads saved JSON and does not compare every prose number. Narrowed the checking promise; no dated correction for this MINOR.
- [fixed] K3: The source distinguishes 17 unnumbered LP1 pages and 58 numbered LP2 pages. Named both sets while retaining the nine solved sections and 56 unsolved numbered pages.
- [fixed] K4: The saved statistic is longest isomorph (repeat in differences), value 5. Five differences span six runes. Corrected the unit label; the null comparison remains in differences.
- [fixed] K5: The pooled solved ciphertext gives 46/1880 = 2.447%, while the verifier Vigenere bench gives 3.661%. Retained the pooled count, removed its claimed equality with ordinary Vigenere.
- [fixed] K6: The minimum cell holds 39 of 2976 pairs: 100*39/2976 = 1.310483870967742%. Replaced 1.3096% by 1.3105% in both copies and the study.
- [fixed] K7: The minimum cell holds 39 of 2976 pairs: 100*39/2976 = 1.310483870967742%. Replaced 1.3096% by 1.3105% in both copies and the study.
- [fixed] K8: The page said every key that misses the additive floor, and every bench machine, lands at 1/29. That is the expectation for uniform key differences independent of the plaintext; other differences can give other rates. The page's progressive key gives 2.300% on its initial plaintext, and its rotor models have no reflector; found by the assay line, 2026-10-01.
- [fixed] K9: The page said every key that misses the additive floor, and every bench machine, lands at 1/29. That is the expectation for uniform key differences independent of the plaintext; other differences can give other rates. The page's progressive key gives 2.300% on its initial plaintext, and its rotor models have no reflector; found by the assay line, 2026-10-01.
- [fixed] K10: The three transcription streams agree on 12956 unsolved runes, but independence is not established. Removed independent while retaining the agreement and OCR figures.
- [fixed] K11: The source names the interjection O. The actual dictionary search restricts one-rune words to A/I. Stated that search restriction and the omitted O; did not silently widen or rerun the search.
- [fixed] K12: p57_parable positions 0..6 contain PARABLE, seven runes. Removed the extra A in each list of red passages.
- [fixed] K13: The page counted 754 words and 300 distinct words in the known plaintext. Joining physical line wraps within each section gives 727 words and 269 distinct words, still 2,977 runes; found by the assay line, 2026-10-01.
- [fixed] K14: Joining physical wraps gives distinct vocabulary counts 21, 42, 63, 31, 32 at lengths 2,3,4,5,6. Replaced the range 27..67 by 21..63 and the study table values; eleven-rune words remain three.
- [fixed] K15: The page described unresolved transcription disputes and said every published attempt used four wrong values. The community had already published five corrections. This study's grid still read 2s at p50, zero-based row 11, token 4; the glyph is capital S, so 2S gives 148 in base 60, not 174. The regenerated grid now matches all 256 community tokens; found by the assay line, 2026-10-01.
- [fixed] K16: Four corrections concern bare bars, but the fifth is S/s. Limited the bare-bar description to those four; retained the measured 44/67/75-pixel ruler.
- [fixed] K17: The page described unresolved transcription disputes and said every published attempt used four wrong values. The community had already published five corrections. This study's grid still read 2s at p50, zero-based row 11, token 4; the glyph is capital S, so 2S gives 148 in base 60, not 174. The regenerated grid now matches all 256 community tokens; found by the assay line, 2026-10-01.
- [fixed] K18: The page described unresolved transcription disputes and said every published attempt used four wrong values. The community had already published five corrections. This study's grid still read 2s at p50, zero-based row 11, token 4; the glyph is capital S, so 2S gives 148 in base 60, not 174. The regenerated grid now matches all 256 community tokens; found by the assay line, 2026-10-01.
- [fixed] K19: english_two_rune contains thirteen values. Replaced fourteen by thirteen and made the verifier print the array length. The separate 14-text bigram reference is unchanged.
- [fixed] K20: The page said nobody had checked the interrupter rule, every description placed it at ciphertext F, and this explained a decade of failed dictionary attacks. The 2021 LiberPrayground README already describes selected plaintext F positions, interrupt combinations and integer-sequence searches. The failed naive sweep documented here is this study's implementation; found by the assay line, 2026-10-01.
- [fixed] K21: The page said nobody had checked the interrupter rule, every description placed it at ciphertext F, and this explained a decade of failed dictionary attacks. The 2021 LiberPrayground README already describes selected plaintext F positions, interrupt combinations and integer-sequence searches. The failed naive sweep documented here is this study's implementation; found by the assay line, 2026-10-01.
- [fixed] K22: subst_controls true_z are 4.7066761831 and 8.7105198014. The page now explicitly reports the committed run as +4.71/+8.71; earlier unkept values are not declared disproved.
- [fixed] K23: summary.subst_min_p is 0.2. Replaced p=0.32 by p=0.20 and identified the committed run; no new sweep was run.
- [fixed] K24: The committed offset-100 passage control records +10.1286627488 with the hypothesis and -9.9348465817 without. Reported +10.13/-9.93 explicitly as that run, without denying earlier observations.
- [fixed] K25: The committed passage z values are HUMMINGBIRD 1.7933001012 and ELSA 0.9631584478. Successful passage-control true_z values span 9.0579050238..10.6129264202. Reported +1.79/+0.96 and +9.06..+10.61 as the committed run.
- [fixed] K26: The page said every earlier account listed only plaintext, Atbash and word-key Vigenere. LiberPrayground already implements p56's prime-minus-one running key. The four-form description stands; the universal omission claim does not; found by the assay line, 2026-10-01.
- [fixed] K27: The p3-7 and p40-53 table rows printed 1.3 times 10^13 key streams for periods 1 through 11. The sum of 29^1 through 29^11 is 12,636,242,257,338,179, which rounds to 1.3 times 10^16; found by the assay line, 2026-10-01.
- [dated] K28: The p54-55 row's 1,441 survivors was the recorded result on 2026-08-24. The 2026-08-30 dictionary run records 93 survivors below the anchor; the table now shows that run; found by the assay line, 2026-10-01.
- [fixed] K29: The p3-7 and p40-53 table rows printed 1.3 times 10^13 key streams for periods 1 through 11. The sum of 29^1 through 29^11 is 12,636,242,257,338,179, which rounds to 1.3 times 10^16; found by the assay line, 2026-10-01.
- [fixed] K30: Re-read the cached tutorial text: it discusses and demonstrates random substitution alphabets. Replaced the universal nobody claim with the common keyword construction.
- [fixed] K31: The page said nobody had checked the interrupter rule, every description placed it at ciphertext F, and this explained a decade of failed dictionary attacks. The 2021 LiberPrayground README already describes selected plaintext F positions, interrupt combinations and integer-sequence searches. The failed naive sweep documented here is this study's implementation; found by the assay line, 2026-10-01.
- [fixed] K32: The archive records a message signed 2017-04-04 and discovered 2017-04-29. Qualified the opening with the later signed message rather than claiming immediate silence.
- [fixed] K33: The page said every key that misses the additive floor, and every bench machine, lands at 1/29. That is the expectation for uniform key differences independent of the plaintext; other differences can give other rates. The page's progressive key gives 2.300% on its initial plaintext, and its rotor models have no reflector; found by the assay line, 2026-10-01.
- [fixed] K34: The prime option adds prime+k[0], while p56 uses prime-1. Removed the p56 attribution from the prime option; the phi(prime) option retains it.
- [fixed] K35: The page said nobody had checked the interrupter rule, every description placed it at ciphertext F, and this explained a decade of failed dictionary attacks. The 2021 LiberPrayground README already describes selected plaintext F positions, interrupt combinations and integer-sequence searches. The failed naive sweep documented here is this study's implementation; found by the assay line, 2026-10-01.
- [fixed] K36: subst_controls true_z are 4.7066761831 and 8.7105198014. The page now explicitly reports the committed run as +4.71/+8.71; earlier unkept values are not declared disproved.
- [fixed] K37: summary.subst_min_p is 0.2. Replaced p=0.32 by p=0.20 and identified the committed run; no new sweep was run.
- [fixed] K38: The committed offset-100 passage control records +10.1286627488 with the hypothesis and -9.9348465817 without. Reported +10.13/-9.93 explicitly as that run, without denying earlier observations.
- [fixed] K39: The committed passage z values are HUMMINGBIRD 1.7933001012 and ELSA 0.9631584478. Successful passage-control true_z values span 9.0579050238..10.6129264202. Reported +1.79/+0.96 and +9.06..+10.61 as the committed run.
- [fixed] K40: The committed passage z values are HUMMINGBIRD 1.7933001012 and ELSA 0.9631584478. Successful passage-control true_z values span 9.0579050238..10.6129264202. Reported +1.79/+0.96 and +9.06..+10.61 as the committed run.
- [fixed] K41: The committed passage z values are HUMMINGBIRD 1.7933001012 and ELSA 0.9631584478. Successful passage-control true_z values span 9.0579050238..10.6129264202. Reported +1.79/+0.96 and +9.06..+10.61 as the committed run.
- [fixed] K43: The page said every earlier account listed only plaintext, Atbash and word-key Vigenere. LiberPrayground already implements p56's prime-minus-one running key. The four-form description stands; the universal omission claim does not; found by the assay line, 2026-10-01.
- [fixed] K44: The p3-7 and p40-53 table rows printed 1.3 times 10^13 key streams for periods 1 through 11. The sum of 29^1 through 29^11 is 12,636,242,257,338,179, which rounds to 1.3 times 10^16; found by the assay line, 2026-10-01.
- [dated] K45: The p54-55 row's 1,441 survivors was the recorded result on 2026-08-24. The 2026-08-30 dictionary run records 93 survivors below the anchor; the table now shows that run; found by the assay line, 2026-10-01.
- [fixed] K46: The p3-7 and p40-53 table rows printed 1.3 times 10^13 key streams for periods 1 through 11. The sum of 29^1 through 29^11 is 12,636,242,257,338,179, which rounds to 1.3 times 10^16; found by the assay line, 2026-10-01.
- [fixed] K47: p57_parable positions 0..6 contain PARABLE, seven runes. Removed the extra A in each list of red passages.
- [fixed] K48: The page counted 754 words and 300 distinct words in the known plaintext. Joining physical line wraps within each section gives 727 words and 269 distinct words, still 2,977 runes; found by the assay line, 2026-10-01.
- [fixed] K49: Four corrections concern bare bars, but the fifth is S/s. Limited the bare-bar description to those four; retained the measured 44/67/75-pixel ruler.
- [fixed] K50: The page described unresolved transcription disputes and said every published attempt used four wrong values. The community had already published five corrections. This study's grid still read 2s at p50, zero-based row 11, token 4; the glyph is capital S, so 2S gives 148 in base 60, not 174. The regenerated grid now matches all 256 community tokens; found by the assay line, 2026-10-01.
- [fixed] K51: english_two_rune contains thirteen values. Replaced fourteen by thirteen and made the verifier print the array length. The separate 14-text bigram reference is unchanged.
- [fixed] K52: The verifier recomputes core corpus measurements but also reads saved JSON and does not compare every prose number. Narrowed the checking promise; no dated correction for this MINOR.
- [fixed] K53: The verifier recomputes core corpus measurements but also reads saved JSON and does not compare every prose number. Narrowed the checking promise; no dated correction for this MINOR.
- [fixed] K54: The layer was extended after 24 August and this pass reruns its verifier. Set last verified and JSON-LD dateModified to 2026-10-01; no extra Updated line for this metadata revision.
- [fixed] K55: Sorting bigramEN gives TH-E, E-R, A-N, N-D, E-D, R-E as the top six pairs. Replaced the mislabeled TH/HE/EA/ING cells with actual pairs.
- [fixed] K56: The row uses mod(x+rint(29)), the same uniform random-key construction as the pad row. Renamed it uniform random key in the page and verifier.
- [fixed] K57: p57_parable positions 0..6 contain PARABLE, seven runes. Removed the extra A in each list of red passages.
- [fixed] K58: The shuffle readout reported 447 repeats in the whole shuffled sequence. The page's seeded shuffle has 470; the readout now counts the sequence it displays; found by the assay line, 2026-10-01.