# Session 58: Does the repeat deficit survive an image-first reading?

**Yes, in the six-page sample.** After checking the original images, 1,598 runes contain **11 identical adjacent pairs**, compared with **54.19 expected** under a shuffle that preserves each page's rune counts. That is about **80% fewer repeats**. We found no verified correction to the master rune sequence, but did document one discrepancy in its separator classification. No plaintext was recovered.

## What was fixed before comparison

The [plan](image_first_plan.json) fixed LP2 pages **4, 11, 18, 25, 34 and 46**, using zero-based LP2 numbering. These correspond to archive JPEGs 21, 28, 35, 42, 51 and 63. The pages were chosen as a spread through the book, not a random sample.

The assistant visually transcribed all 72 text lines from original-image crops, recording rune tokens, separators and line breaks. The standard [Gematria Primus chart](gematria_primus_2013_source.jpg) supplied the glyph labels. The [chart's archive location](https://github.com/scream314/cicada3301/blob/master/gematria_primus.md) is separate from the target transcription.

The six readings were saved and [hashed before opening the master or derived rune sequences for these pages](image_first_freeze.json). One provisional B was marked uncertain. Line-end punctuation fragments and the apostrophe on page 4 were retained.

**This was image-first, not fully blind or independent.** The same assistant had prior research context and had seen page images before. In particular, the earlier page-34 A–A observation was known. A web search for the chart returned a solved LP1 excerpt, not one of the six target pages. The freeze records these limitations. Later comparison and correction necessarily used the visible master text.

## What changed during review

The first reading had **20 substitutions, two omitted runes and two extra runes** relative to the master. Each disagreement was revisited in the source pixels. The master reading was supported at all 24 positions, so the corrections apply to the fresh reading. The frozen files were not overwritten.

Most errors involved W/TH, M/D and A/O. On page 18, confusing D with M created a false M–M pair. This reduced the sample's repeat count from **12 in the frozen reading to 11 after review**. Enlarging the source resolved the provisional B as B, without affecting a repeated pair. Even treating that initial glyph as any of the 29 symbols would give only 12–13 repeats in the otherwise unchanged frozen reading.

The [decision log](image_first_review_decisions.json) explains every correction. The [initial comparison](image_first_initial_comparison.json) retains the disagreements, including offset shifts caused by added or omitted runes. All 12 line sequences on each reviewed page then match the master.

![Source rows showing W/TH and M/D disagreements on page 18, including the false double](image_first_review_p18.png)

## The repeat count

We count consecutive runes within each page, including pairs across line breaks and punctuation. We do not join the six separated pages to each other. Thus 1,598 runes supply **1,592 eligible adjacent pairs**.

| LP2 page | Reviewed runes | Repeated pairs in frozen reading | Repeated pairs after review | Expected after pagewise shuffle |
|---|---:|---:|---:|---:|
| 4 | 261 | 2 | 2 | 9.09 |
| 11 | 273 | 1 | 1 | 9.53 |
| 18 | 260 | 2 | 1 | 8.81 |
| 25 | 273 | 3 | 3 | 9.05 |
| 34 | 261 | 3 | 3 | 8.67 |
| 46 | 270 | 1 | 1 | 9.04 |
| **Total** | **1,598** | **12** | **11** | **54.19** |

For a page containing n runes, with c_r occurrences of each rune, the exact shuffled expectation is **sum of c_r(c_r − 1), divided by n**. Expectations are calculated separately for the six pages and added. No simulation is required for this mean.

The frozen reading, before any master comparison, gave 12 repeats against an expectation of 54.49. The result therefore does not depend on making the later corrections. The reviewed 11 pairs comprise **six inside transcribed words and five across printed boundaries**. The [results](image_first_results.json) give every pair's rune, offset and line-boundary status.

This is a source check of the previously measured effect in [Session 29](../sessions/29.html), not a new formal significance test or a newly discovered cipher property. Shuffling is a reference model, not a claim that the cipher should produce independent random symbols.

## A punctuation discrepancy worth keeping

All **354 distinct separator gaps** and the one apostrophe position agree after the rune corrections. The exact separator classes require two qualifications:

- On page 11, three squares at the end of line 11 and one at the beginning of line 12 occupy the same rune gap. The master encodes `;-` before the line break. Our physical record preserves the two fragments. This does not establish their semantic role.
- On **page 46, line 5, after 96 runes**, the master has a single-dot word separator (`-`). The source shows **three isolated squares in a group**. The frozen reading marked it as a four-dot separator, which was also too definite. We now record **multi-dot, three isolated squares visible** (`@M3` in the reviewed reading), with the possibility of a fourth square overlapping the adjacent rune left unresolved.

![Original source crop around the multi-dot separator on LP2 page 46](image_first_p46_separator.png)

The three isolated squares are stable at grayscale thresholds 80, 100 and 120; their source coordinates are retained in the decision log. This supports a discrepancy in the master separator class, not an extra word boundary or a changed rune sequence. It cannot alter the adjacent-repeat count. Analyses that distinguish clause separators from word separators should carry this uncertainty explicitly.

The pinned master file remains intact; the source annotation is a separate record. This is newly documented in this project, **not established as new to the wider solving community**.

## Inspect or reproduce the check

| Page | Original JPEG | Frozen reading | Reviewed reading | Disagreement crops |
|---|---|---|---|---|
| 4 | [21.jpg](21.jpg) | [Initial](image_first_reading_p04.txt) | [Reviewed](image_first_reviewed_p04.txt) | [Crops](image_first_review_p04.png) |
| 11 | [28.jpg](28.jpg) | [Initial](image_first_reading_p11.txt) | [Reviewed](image_first_reviewed_p11.txt) | [Crops](image_first_review_p11.png) |
| 18 | [35.jpg](35.jpg) | [Initial](image_first_reading_p18.txt) | [Reviewed](image_first_reviewed_p18.txt) | [Crops](image_first_review_p18.png) |
| 25 | [42.jpg](42.jpg) | [Initial](image_first_reading_p25.txt) | [Reviewed](image_first_reviewed_p25.txt) | [Crops](image_first_review_p25.png) |
| 34 | [51.jpg](51.jpg) | [Initial](image_first_reading_p34.txt) | [Reviewed](image_first_reviewed_p34.txt) | [Crops](image_first_review_p34.png) |
| 46 | [63.jpg](63.jpg) | [Initial](image_first_reading_p46.txt) | [Reviewed](image_first_reviewed_p46.txt) | [Crops](image_first_review_p46.png) |

The [audit script](image_first_audit.py) uses Python's standard library. Run it beside the retained readings, manifests, decision log, images and master text. It verifies hashes, reproduces the reviewed text from the frozen text plus recorded decisions, compares rune and boundary sequences, and recomputes the counts. The [crop-sheet script](image_first_review_sheets.py) uses Pillow and NumPy; [row coordinates](image_first_row_boxes.json) are retained. The original image hashes are also listed in the existing [source manifest](jpeg_source_manifest.json).

Plan SHA-256: `c3e2c77226f50450b3c00473df70700a82887613f77569ec8fad1592da0057ab`.

Freeze SHA-256: `7b280095b42403f18ab85c4e7326ae6dd38aa46bc8c11094013cddffd61c2e79`.

## What this justifies next

The repeat deficit remains a usable constraint for cipher ideas. It has survived a fresh image reading of these six pages, including the errors in that reading. This does not verify every rune in the book, establish author intent, or identify a cipher family.

The immediate source follow-up is to audit separator classes before extending clause-reset theories. Any future cipher candidate should explain both the shortage of repeats and why some repeats still occur, including across printed boundaries, then succeed on text not used to choose its settings.
