# Session 7: joint decoding of the 34-rune overlap

No verified new plaintext. The selected pair does not score unusually well under the tested shared-stream hypothesis, and the language model does not reliably recover known plaintext from similarly short pairs.

## Hypothesis and data

The six-rune repeated phrase on LP2 pages 27 and 55 is aligned with the 28 preceding runes. Global rune slices are [6527,6561) and [12922,12956), zero-based in the unsolved LP2 corpus. Both slices start at actual word boundaries. Their word lengths are respectively 3/12/4/7/2/3/3 and 4/2/7/7/2/6/3/3.

Tested assumption: C_A=P_A+K and C_B=P_B+K modulo 29 throughout these 34 positions. Subtraction then removes K, giving P_A-P_B=C_A-C_B. Also tested the reversed difference, covering the corresponding K-P convention. The repeated phrase alone does not establish that either assumption holds.

An exact dynamic program maximizes the sum of two word-boundary trigram scores, retaining the previous two plaintext-A runes as its state. Plaintext B follows from A and the difference. Actual word boundaries are respected. For control excerpts starting inside a word, unavailable left-context terms are omitted. Scoring uses the existing LP1 language model. This is an exact optimum for that limited model, not an exact decryption.

## Verification and limitations

- For each of two signs, independently enumerated all 24,389 possible three-rune plaintext-A sequences. The dynamic-program score matches the exhaustive maximum, using different word layouts for A and B.
- Tested three 34-rune pairs drawn from the known koan plaintext, each ending in YOU ARE. Excluded the entire koan group from the scoring model. The pairs use anchor offsets (143,279), (411,556), and (568,716).
- None of the three true pairs was recovered exactly. Best candidates matched only 11, 9, and 7 of 34 runes in each stream. The wrong candidates outscored the actual plaintext. These controls expose model ambiguity rather than validate a decryption capability.
- No cross-word syntax is modeled. In the real pair, the optimizer selects WHO WHO for the common ending; in the held-out controls it selects AND AND. These are scoring artifacts, not proposed translations. With the final two word lengths and zero differences held fixed, that ending contributes a constant optimum to all real and randomized comparisons.

## Randomized comparison

Each randomized trial keeps the true word layouts and final six zero differences. It repeats the full optimization for both signs and retains the better score, just as for the real pair. Seed: 3301007. Higher score means a better fit to this language model.

| Comparison | Trials | Trials scoring at least as well as real pair | Plus-one comparison fraction |
|---|---:|---:|---:|
| Permute the first 28 observed differences | 999 | 567 | 0.568 |
| Generate 28 independent uniform differences modulo 29 | 999 | 413 | 0.414 |

The real best score is -1.7689906843 per scoring event (83 events), under the reversed-difference convention. Neither comparison shows an exceptional fit. The uniform experiment is a sensitivity check, not a second independent discovery test. Both comparisons are conditional on this already selected alignment and word layout; neither is a probability that the hypothesis is true.

## Interpretation

An unrestricted shared stream leaves 29^34 plaintext-A choices before language constraints; each fixes plaintext B and a compatible stream. Optimizing a small language model can therefore produce familiar fragments without discovering the original text. These results do not disprove stream reuse, but provide no positive evidence for it. No candidate is promoted to a translation, and no key is verified against additional text.

Reproduce with the primary runtime Python and `joint_stream_pass.py` from this directory. The script needs NumPy and the archived sources; it performs no network access. All scores, candidates, controls, and randomized trial scores are in `joint_stream_results.json`. No background computation remains running.
