﻿# MVUEH: reading from the native scan

This is a provisional ciphertext transcription, not a decryption. It follows a new inspection of the PDF's embedded 3110 × 4618 image using conventional channel separation and background normalization. No generative image output was used for the decisions below.

## Working reading

```text
1220 - 87 - GTA KCI

MVUEH ICRVS ORMCC WQTAT
YEVFX DBZGG SMXWL PSYWZ
YTCBS WURRT BTCVG ODVJU
SLSOO MJQJZ SXSEB ZPEYM
DNXJY TC
```

The first five-letter group is excluded from encryption, leaving 82 body positions. The working line above retains the published R at body position 43; L is now an additional plausible reading, yielding `WULRT` at that group.

## What changed in the reading

| Location | Present preference | Alternatives retained | Reason |
|---|---|---|---|
| Indicator final letter | I | C | A separate mark above the short stroke resembles the writer's dotted i. |
| Body 2 | C | D | Open short curve, with no clear ascender comparable to the writer's d. |
| Body 3 | R | E, N | Angular form resembles the next group's r; an e elsewhere is differently shaped. |
| Body 6 | O | A | Closed loop remains the preferred reading. |
| Body 11 | W | U, N | The doubled lower stroke supports w; interpretation remains provisional. |
| Body 20 | X | C | Crossing strokes persist in the original and all channel views. |
| Body 43 | R or L | Both | The loop resembles l; this newly flagged position was fixed as R in the first campaign. |
| Body 47 | T | Z | A crossing stroke supports t, but the published Z remains an alternative. |
| Body 80 | Y | F | The long descending fork supports y. |

These are visual judgments, not independently certified corrections. The conventional processing makes source strokes easier to examine; it cannot undo compression, restore missing graphite, or correct reception errors. Exact image processing and output hashes are in [the processing manifest](../data/derived/scan-review/processing-manifest.json).

## Compare the evidence

- [Original ciphertext crop at native pixel size](../data/derived/scan-review/cipher-original.png)
- [Red-channel contrast view](../data/derived/scan-review/cipher-red.png)
- [Blue-channel contrast view](../data/derived/scan-review/cipher-blue.png)
- [Uncertainty comparison sheet](../data/derived/scan-review/comparison-contact-sheet.png)
- [Whole embedded source image](../data/derived/scan-review/native-001.png)
- [Header and annotations](../data/derived/scan-review/annotations-red.png)
- [Writing below the ciphertext](../data/derived/scan-review/footer-red.png)

The recipient field appears to include **Ib**. The short annotation below the ciphertext has roughly four letter-like marks. Its reading and function are unresolved; it was not added to the 82-letter ciphertext or treated as a three-letter message key.

## Other archival forms

The [9 July No. 58 / 43 form](https://cryptocellar.org/bgac/spruch/09071941-058-043-out-nf.pdf) is a duplicate of WNFGI. Its small upright radio script and operator signature resemble the target's, making it a useful comparison, though common authorship is not established. Its `WUELD VARQL` groups can be compared with the [published WNFGI transcription](https://cryptocellar.org/bgac/g-army-july-1941.html). The [9 July No. 70 form](https://cryptocellar.org/bgac/spruch/09071941-070-out-nf.pdf) uses visibly different, strongly slanted script and is a weaker handwriting reference.

The inspected public index links the NF duplicate for MVUEH but does not link the original received No. 172 facsimile. Targeted searches returned the published transcription, key table and consolidated transcription PDF, not that original scan. No maintainer has been contacted.

## Reproduce

Use Poppler `pdfimages` to decode the second embedded image of [the source PDF](https://cryptocellar.org/bgac/spruch/10071941-088-061-out-nf.pdf), then run `src/process_scan.py` with Pillow 12.3.0 and NumPy 2.3.5. The script records its environment and exact formula. It does not remove the printed grid, sharpen strokes, synthesize detail or perform OCR.

The first campaign's inputs remain separate. The new inputs are [phase2-target-variants.json](../data/derived/phase2-target-variants.json) and [phase2-allowed-letters.txt](../data/derived/phase2-allowed-letters.txt).
