| T41 generation 1: lattice EM, planted control and structure-preserving null (pw 0.25, alpha 0.05) | Held-out dictionary coverage (bar 0.7 x true plaintext's) / key accuracy by use / character similarity | control 0.324 / 0.364 / 0.083 (bar 0.488; true plaintext 0.697); permuted-key 0.282 (p 0.19). Pseudo-Latin null: 0.309 and 0.351 decoded coverage (their own plaintexts 0.359, 0.337) | M-T40 rung B (learned boundaries, element solver): key 0.114-0.228, coverage 0.232-0.271 · rung A (true boundaries): key 0.706, coverage 0.336 | Fails the control gate (0.324 < 0.488), so the manuscript was not decoded. Key accuracy with learned boundaries rises from T40's 11-23 % to 36 %, but the decoded control is Latin-like letter soup, no better on coverage than a permuted key. The pseudo-Latin null decodes to the same coverage as the control: with a bigram element model, coverage cannot tell a real key from structure. |
| T41 generation 1 variant: lattice EM control with sparser prior and more nulls (pw 0.3, alpha 0.01) | Held-out dictionary coverage (bar 0.7 x true plaintext's) / key accuracy by use / character similarity | control 0.325 / 0.071 / 0.047 (bar 0.488; true 0.697); permuted key 0.291 (p 0.14) | G1a (alpha 0.05, pw 0.25): key 0.364 | Fails the control gate; the sparser prior collapses the key (7 %). Branch killed. |
| T42 generation 1: neural posterior estimation on the T39 draws, calibrated against rejection ABC | SBC coverage of 90 % sets per setting; mean log posterior of the true setting (NPE vs ABC); posterior predictive misses on held-out pages | every setting covered on 96-100 % of draws; mean log score NPE -0.784 vs ABC -0.968. Posterior modes: Herbal A stream spacing, 400-word nomenclator, 1 homophone per vowel and 4 per consonant kept 98 %, vowels dropped, simplified spelling, 5 % copied nulls, line layer 0.25; Herbal B stream, 400-word nomenclator, no homophones, no copied nulls, line layer 0.5. Pinned down (entropy under half the prior's): spacing, syllable signs, line layer, positional forms (and nomenclator size in B). Posterior predictive on held-out pages: 2/12 held-out statistics missed (A), 1/12 (B) | T39 rejection ABC best settings: 5/12 (A), 3/12 (B) on held-out pages with one setting and 10 seeds | Passes its gate (calibrated, beats ABC on the planted settings). The posterior predictive misses fewer held-out statistics than T39's best, but a posterior predictive spreads over many settings and so is easier to fall inside than one setting's 10 seeds; the like-for-like check (mode setting, 10 seeds) is generation 2. SBC rank test flags p_break (p 0.002) as miscalibrated. Remaining misses in both sections: glyph predictability (h2) and one-off words (hapax), as in T39. |
| T43 generation 1: Gromov-Wasserstein word alignment, planted controls (N 300, epsilon 0.005) | Held-out word accuracy of the coupling's word map (bar 0.5) | word-spacing control 0.003 (GW 0.034); stream-spacing control 0.0014 (GW 0.037) | Gate 0.5 | Fails its own control by two orders of magnitude, so the manuscript was not aligned. With homophones (4 per consonant), copied nulls and a different Latin text on the target side, co-occurrence spaces of ~5,000 words are too sparse for GW to find the word map even when one exists. |
| T42 generation 2: NPE posterior-mode settings confirmed like-for-like with T39 (10 seeds, held-out herbal pages) | Held-out statistics missed (|z| > 2, of 12) and of all 30, on held-out pages; one setting, seeds 5000-5009 (T39's confirmation exactly) | Herbal A 3/12, 13/30 (training pages 6/12, 15/30); Herbal B 2/12, 6/30 (training 1/12, 4/30) | T39 best settings, same scoring: Herbal A 5/12, 15/30 · Herbal B 3/12, 9/30 | Closest fit to held-out pages in the programme for both sections, with the like-for-like scoring. Still not a fit: Herbal A misses glyph predictability (h2, z -10.7), one-off words (hapax -7.4), TTR, held-out bigram gain and form-function coupling (+7.1); Herbal B misses h2 (-2.2), order gain and held-out bigram gain. The settings that moved most from T39: a 400-word nomenclator in both sections and almost no copied nulls; Herbal B with no homophones at all. |
| T43 generation 2: Gromov-Wasserstein word alignment with a homophone-free word code (N 150, epsilon 0.01); method dropped | Held-out word accuracy of the coupling's word map (bar 0.5) | word-spacing control 0.039; stream-spacing control 0.0007 | Generation 1: 0.003 | Fails its control in a second generation, with the easiest case it is built for (one plaintext word per written word, no homophones, 400-word nomenclator, Herbal B's NPE setting with word spacing). Dropped per the brief. A word-level map can't be detected by co-occurrence at this text length, so the absence of one on the manuscript would say nothing; the method is not run on it. |
| T41 generation 2: lattice EM followed by trigram key polish (element solver), two rounds; branch killed | Held-out dictionary coverage (bar 0.7 x true plaintext's) / key accuracy by use | control: coverage 0.239 (bar 0.488), key 0.306 after polish (EM alone 0.319); pseudo-Latin nulls 0.234 and 0.248 | Generation 1 (EM alone): coverage 0.324, key 0.364 | Fails the control gate; polishing the EM key with M-T40's trigram element solver on the EM's Viterbi segmentation does not raise key accuracy and pushes the decode towards vowel runs (the solver's frequency term). Branch killed; the manuscript was not decoded. |
| T41 generation 3: difficulty ladder for lattice EM on the planted control (no homophones, homophones, copied nulls) | Held-out key accuracy by use / dictionary coverage (bar 0.7 x true plaintext's) per rung | L1 one sign per letter, no nulls, no line layer: key 0.376, coverage 0.312 (bar 0.483). L2 four homophones per consonant: key 0.556, coverage 0.334 (bar 0.487). L3 plus 30 % copied nulls: key 0.247, coverage 0.327 (bar 0.488). (L4 = full setting with line layer, generation 1: key 0.364, coverage 0.324.) | Permuted-key coverage 0.25-0.29 per rung · M-T40 rung A (true boundaries): key 0.706 | No rung passes, not even a one-sign-per-letter key with no nulls. The limit is not homophones or nulls but the sign set itself: signs are overlapping glyph chunks (o, ok, oke...), so many segmentations read as Latin-like letter sequences under a bigram element model, and coverage stays at the permuted-key level whatever the key accuracy. At Herbal A's length (4,700 training words) this family's key cannot be recovered with learned boundaries by T40's solver or by lattice EM. |
| T41 diagnostic: the true key's basin has higher likelihood than any random EM restart (a search problem) | Training log-likelihood and key accuracy: EM started from the true key vs 10 random restarts, on the planted control | one sign per letter, no nulls: EM from truth -40,505 (key 0.777), best random restart -41,315 (key 0.186). Full T39 setting: EM from truth -53,462 (key 0.851), best random restart -53,957 (key 0.250) | The true channel itself, before EM: -41,654 and -55,406 (key 0.777, 0.850 · the rest are nomenclator words of the control's plaintext that the Latin element model doesn't have) | The model is right and the search is wrong: a key close to the truth is a better optimum of the lattice likelihood than anything random restarts find, by 500-800 nats. This justifies spending the fresh-idea slot on annealing and population annealing, not on a new model. |
| T42 generation 3: truncated-prior NPE round 2 (300 new draws per section); the round-1 gain over T39 does not hold | Out-of-fold 90 % coverage in the truncated region; held-out statistics missed by the new posterior mode (10 seeds, T39 scoring) | coverage at least 0.954 for every setting in both sections. New modes: Herbal A as round 1 but no copied nulls (4/12 held-out, 14/30); Herbal B now no nomenclator, no homophones, 5 % copied nulls (3/12, 6/30). The 99.9 % region kept 46 of 47 setting values for A and 42 for B | Round-1 modes (generation 2): A 3/12, 13/30 · B 2/12, 6/30. T39: A 5/12, 15/30 · B 3/12, 9/30 | Calibration holds, but more simulations move the posterior mode and its fit falls back to T39's level: the round-1 improvement was within the posterior's spread, not a robust better setting. What is robust across both rounds and both sections: stream spacing, no syllable signs, no positional sign forms, the line layer present, simplified spelling. Nomenclator size, homophone counts and copied nulls are not pinned down by these 19 statistics. The remaining misses are the same in every fit: glyph predictability (h2), one-off words (hapax) and form-function coupling in Herbal A; line-position measures in Herbal B. |
| T41 ceiling: held-out coverage with a near-true key, planted control (one sign per letter vs full T39 setting) | Held-out dictionary coverage decoded with the true channel and with EM started from it, against the gate bar | one sign per letter, no nulls: 0.518 (true channel), 0.518 (EM from truth); bar 0.483. Full T39 setting: 0.433 and 0.441; bar 0.488 | Best random-restart decodes: 0.312 and 0.324 | For the simplest system the gate is reachable if search finds the key; for the full T39 setting (homophones, 30 % copied nulls, line layer) even the true key decodes below the bar with a bigram element model, so no search can pass that control with this decoder. Generation 4 therefore tests annealing on the simple system first. |
| Generation 4: deterministic annealing and population annealing of the lattice EM; both fall into a degenerate basin | Training log-likelihood, key accuracy by use, held-out dictionary coverage (bar 0.7 x true plaintext's), on the planted control | One sign per letter, no nulls: deterministic annealing ll -42,066, key 0.000, coverage 0.477 (bar 0.483); population annealing ll -42,067, key 0.000, coverage 0.496 (above the bar), 55 % of words read as nulls. Full T39 setting: deterministic annealing ll -55,506, key 0.000, coverage 0.457; population annealing ll -55,598, key 0.000, coverage 0.414 (bar 0.488). Pseudo-Latin null under deterministic annealing: coverage 0.432 | Independent restarts on the same controls: ll -41,322 (key 0.376) and -53,904 (key 0.364) · EM from the true key -40,505 and -53,462 | Annealing does worse than independent restarts on likelihood and on key recovery: at low beta every member is pulled into one symmetric solution that reads half the words as copied nulls and maps signs to common Latin fragments. That solution raises dictionary coverage without reading anything (key 0 %, character similarity 0.06), so the one-sign-per-letter population-annealing control clears the coverage bar on paper. By the fixed rule the manuscript is decoded under that system in generation 5 and must then beat the structure-preserving null with permutation p < 0.01; the pseudo-Latin null's 0.432 coverage under the same scheme shows how little the coverage figure means here. The full-setting runs were stopped after their controls failed (their nulls were not finished). |
| T41 generation 2: lattice EM under the NPE Herbal A setting (400-word nomenclator, vowels dropped); control passes the coverage bar spuriously, manuscript fails the null | Held-out dictionary coverage (bar 0.7 x true plaintext's); manuscript gate: coverage(manuscript) - coverage(null) > coverage(control) - coverage(null), and key-permutation p < 0.01 | control 0.250 (bar 0.248; key accuracy 0.022, character similarity 0.099); pseudo-Latin nulls 0.236 and 0.270 (their own plaintexts 0.079, 0.074); Herbal A held-out 0.214, permuted keys mean 0.216, p 0.545 | Control's margin over the null: 0.250 - 0.253 = -0.003 | Fails. The control clears the coverage bar by 0.002 while recovering 2 % of the key: with a 400-word nomenclator the decoder scores coverage by emitting Latin nomenclator words (the null decodes include 'piperligusticumcoriandrum', Apicius' recipe words), and the nulls, whose plaintexts have 7-8 % coverage, decode to 24-27 %. The manuscript decodes below the null and no better than permuted keys. Nothing is read. |
| Generation 5: Herbal A decoded under the population-annealed one-sign-per-letter system (its control met the coverage bar); fails the structure-preserving null | Held-out dictionary coverage; manuscript gate: coverage(Herbal A) - mean coverage(nulls) > coverage(control) - mean coverage(nulls), and key-permutation p < 0.01 (100 permutations) | control 0.497 (bar 0.483; key 0.000, character similarity 0.062, permutation p 0.03); pseudo-Latin nulls 0.398 and 0.340 (mean 0.369; their own plaintexts 0.352, 0.346); Herbal A held-out 0.282, permuted keys mean 0.289, p 0.584 | Control margin over the null: 0.497 - 0.369 = 0.128 · Herbal A margin: 0.282 - 0.369 = -0.087 | Fails the manuscript gate on both counts: Herbal A decodes below the structure-preserving null and no better than permuted keys. The control passed the coverage bar only through a degenerate solution (key 0 %), and the null decodes to more coverage than its own plaintext has, which is the reason the null gate exists. No reading. |
| T41 generation 5: 200 independent EM restarts on the one-sign-per-letter control reach 70 % of the key | Best restart's training log-likelihood; key accuracy by use; held-out dictionary coverage (bar 0.483); character similarity | best of 200 restarts: ll -40,969 (spread -41,982 to -40,969), key 0.698, coverage 0.374, character similarity 0.471; permuted keys 0.307 | Best of 30 restarts (generation 3): ll -41,322, key 0.376, similarity 0.069 · EM from the true key: ll -40,505, coverage ceiling 0.518 | Fails the gate (0.374 < 0.483) but is the first learned-boundary decode in the programme that partly reads its control: 'aerapusatusenundentuepuniaqumquiamlalisporilauderi' for 'aberenoncontigitcumteporisarboresabundentibipunicaeficiqueiammalietpirilaudati'. More restarts move the best likelihood towards the true key's basin, as Berg-Kirkpatrick & Klein found [@bergkirkpatrick2013decipherment]. Generation 6 scales the restarts. |
| Generation 5: population annealing from a higher starting beta (0.6); method dropped after two generations | Training log-likelihood and key accuracy on the one-sign-per-letter control, against independent restarts | ll -41,455 (all 32 members converge to one state), key 0.218, coverage 0.328 | 200 independent restarts, same control: ll -40,969, key 0.698 | Population annealing loses to independent restarts on the planted control in both generations (beta from 0.2: ll -42,067, key 0; from 0.6: ll -41,455, key 0.22). Resampling drives the population onto one state, which removes the diversity that restarts depend on. Dropped, with deterministic annealing. |
| T41 generation 6: 400 restarts on the one-sign-per-letter control; better likelihood, still under the bar | Best restart's training log-likelihood; key accuracy; held-out dictionary coverage (bar 0.483) | ll -40,852 (best restart 205, seed 6205), key 0.623, coverage 0.340, character similarity 0.254 | 200 restarts: ll -40,969, key 0.698, coverage 0.374 · EM from the true key: ll -40,505, coverage 0.518 | Fails the control gate. Doubling the restarts gains 117 nats of likelihood but not key accuracy or coverage; the gap to the true key's basin (350 nats) shrinks only logarithmically with restarts. Generation 7 searches around the best restart instead (basin hopping). |
| T41 generation 6: Herbal B under NPE's Herbal B setting (no homophones, no nomenclator); control fails, manuscript not decoded | Held-out dictionary coverage (bar 0.7 x true plaintext's) / key accuracy by use | control 0.341 (bar 0.469), key 0.000, character similarity 0.099; pseudo-Latin nulls 0.283 and 0.304 | Herbal A one-sign-per-letter control, 300-400 restarts: key 0.62-0.70 | Fails the control gate, so Herbal B was not decoded. With 12 training pages (1,302 words) the key is not recovered even for the simplest system the NPE fit allows; Herbal B is too short for this attack. |
| T41 generation 7: basin hopping from the best restart; the control reads in places but stays under the bar | Training log-likelihood; key accuracy; held-out dictionary coverage (bar 0.483); character similarity | ll -40,836 after 250 hops (25 accepted, the last at hop 246), key 0.691, coverage 0.407, character similarity 0.558; permuted keys 0.269 | Best of 400 restarts: ll -40,852, coverage 0.340, similarity 0.254 · true key's basin: ll -40,505, coverage 0.518 | Fails the control gate (0.407 < 0.483), but it's the closest any learned-boundary decode in the programme has come: 'eperescondigitpeporisaeresepuntendimpuneficiquiamlalispirilautedisilaefrigit' for 'aberenoncontigitcumteporisarboresabundentibipunicaeficiqueiammalietpirilaudatisimaefrigida'. Hops were still being accepted when it stopped. Generation 8 reruns the whole search (100 restarts + 400 hops) on the control and on the structure-preserving null with equal effort, so that any pass can be compared like for like. |
| T41 generation 8: equal-effort search (100 restarts + 400 hops) on the control and the structure-preserving null; control fails, programme stops | Held-out dictionary coverage (bar 0.483) and permutation p (100 permutations); key accuracy; training log-likelihood | control: coverage 0.376, p 0.02, key 0.440, character similarity 0.149, ll -41,159. Pseudo-Latin null, same search: coverage 0.306 (its plaintext 0.352), p 0.42, key 0.591 | Generation 7 (best of 400 restarts + 250 hops): coverage 0.407, key 0.691, ll -40,836 | Fails the control gate. With a search budget that can be repeated on the null and the manuscript, the control lands well short of the generation-7 run, so search outcomes vary more than the margin needed. Batches 2 and 3 produced nothing that passes a gate other than coverage-bar passes with 0-2 % key accuracy that then failed the null, so the programme stops here under the brief's stopping rule. |