﻿# Reproduce the MVUEH winning batch

This directory contains the exact frozen C++ search source and its language table, the original finite ciphertext sets, and the unchanged input/output of the winning batch. No header, ring settings, initial display or plugboard was supplied to that search. The supplied phrase was `ROSENOWROSENOW`, a source-attested hypothesis, at zero-based offset 39.

Requirements: a C++17 compiler and Python 3. The verifier uses only the Python standard library. All active paths below are relative to this directory; absolute paths in provenance files describe the original research workspace and are not required to run this bundle.

Run from this directory:

```sh
python3 reproduce.py --output replay-local
python3 verification/verify.py
```

`reproduce.py` creates a fresh output directory, builds the unchanged source, and runs exactly order 253, window-anchor range `[6144,7168)`, canonical full-body classes `[0,107)`, completion cap 1,000, and node cap 80,000,000. These coordinates refer to the first crib character, not the body's first character. The script compares all output records with `original/source-records.jsonl` and requires the exact winning candidate once. This is a replay of an already completed job and adds **zero new search coverage**. Use a different `--output` directory for another replay; existing outputs are never overwritten.

The equivalent direct commands are:

```sh
mkdir replay-manual
c++ -std=c++17 -O3 src/body_window_bombe.cpp -o replay-manual/body_window_bombe
./replay-manual/body_window_bombe 253 6144 7168 0 107 allowed.txt 1000 80000000 < input.txt > replay-manual/records.jsonl 2> replay-manual/stderr.txt
```

The C++ program expects the table at `data/raw/frequencies/TrigramFrequency1941.txt` relative to its working directory. Run it from this bundle directory. `src/search.cpp` is an included dependency, not a second separately compiled translation unit.

Our separate rebuild produced the same binary SHA-256 as the frozen engine (`017ab299be1aa60e3ca252fe3ada45824be97af68c1eb871749821867bcf17d0`) and all 49 output records were byte-identical. The output SHA-256 is `214d92d09f17625b60d0a3b04102d34012e291eea434a05b57a188796df9c5b1`; the winning candidate is line 28. Other compiler or platform versions may change binary bytes or last-bit floating-point values; the preserved result records and physical key verifier provide separate checks.

The recovered body trajectory is order 253, `q1=KKZ`, full class 33, with plugboard `AC BE DG FH KN MO PR SU TV XZ`. Independent reconstruction yields 26 physical ring/start alternatives. Exactly one also decodes the original `GTA / KCI` indicator: reflector B, left-to-right rotors **II V III**, rings **H M F** (08 13 06), message start **RWD**. The independently written `verification/verify.py` checks that key against a standard Enigma vector, an explicit double-step, the full 82-letter body in both directions, the original indicator in both directions, and the original finite-reading constraints.

Exact decrypted text:

```text
BTTEUMANGABEDESMARSQWEGESXBEFINDEMIQINXROSENOWROSENOWXSOFORTFUNKANTWORTXWASCHBBSCH
```

Exact selected ciphertext:

```text
ICRVSORMCCWQTATYEVFXDBZGGSNXWLPSYWZYTCBSWULRTBZCVGODVJUSLSOOMJQJZSXSEBZPEYMDNXJYTC
```

`Q` represents `CH` in the message's spelling convention. The apparent opening `BTTE` and closing `WASCHBBSCH` garbles are deliberately preserved. Suggested readings such as “Bitte” and “Waschbusch” are editorial interpretation, not substitutions used by the cryptographic checks. All original transcription variants remain in `verification/evidence.json` and are replayed independently.

`PROVENANCE.json` pins the copied search material; `KEY-VERIFIER-PROVENANCE.json` separately pins the independent verifier copied after discovery. No engine or historical reference file was modified for this reproduction.
