﻿# MVUEH completion evidence — 15 September 2026 UTC

Start with [the current findings report](completion-report.md). It explains the recovered message, supporting evidence, completed search scope and remaining uncertainties. This guide provides the commands for checking the key and reproducing the computations in the complete audit archive. The recovery package is in `original-discovery/`.

Keep this directory as received and write new experiment output elsewhere. Commands below run from this directory, except where a subdirectory is explicitly entered. Python assertions must remain enabled; do not use `python -O` or compile with `-DNDEBUG`.

## 1. Check the delivered bytes and exact key

Requirements: Python 3.10 or later, standard library only.

```sh
python3 -I verify_inventory.py
python3 -I original-discovery/verify.py
```

The first command checks every file in the release inventory. The second checks the literal body, recorded header and known-answer controls. Neither needs a network connection or the original workspace.

## 2. Verify all retained batches and deferred families

The score check uses the C library's `logf`. Use macOS or a Linux/POSIX environment with libm; Windows users should use WSL. This release was executed and tested on macOS. Native Windows execution is not verified.

```sh
python3 -I coverage-audit/portable_verify.py \
  --bundle portable-final/batches.jsonl.gz \
  --supplements portable-final/supplements.jsonl \
  --allowed portable-final/allowed.txt \
  --frequencies portable-final/TrigramFrequency1941.txt \
  --domain all60 --output /tmp/mvueh-all60-verification.json
```

This checks the 43,016 original scopes, raw input/output/manifest hashes, every candidate and symbolic family, finite-reading optima, contiguous coverage and the exact supplemental board sets. It uses bundled Py-Enigma and Python checkers. The required success status is `PASS_COMPLETE_DECLARED_DOMAIN`, `domain: all60`, with zero unresolved families. A `subset` PASS would not establish full-domain coverage. See `coverage-audit/PACKED-SCHEMA.md` and the retained fresh-directory receipt in `portable-final/clean-check/`.

## 3. Recollect and independently audit every candidate

Requirements: Python 3.11 or later, NumPy and a C++17 compiler. The recorded NumPy version is 2.4.4; numerical behavior and versions are logged. A virtual environment can isolate the dependency.

```sh
python3 -m venv /tmp/mvueh-candidate-env
/tmp/mvueh-candidate-env/bin/python -m pip install numpy==2.4.4
/tmp/mvueh-candidate-env/bin/python candidate-audit/collect_packed.py \
  --packed-root portable-final --out /tmp/mvueh-recollected
/tmp/mvueh-candidate-env/bin/python candidate-audit/run_audit.py \
  --reuse-collection /tmp/mvueh-recollected --out /tmp/mvueh-candidate-reproduction
```

Use output directories that do not exist. The collector verifies exact raw records and supplements, preserves every origin and deduplicates body keys before physical expansion. The audit rebuilds two separately implemented complete header filters, scalar body/header replay, all finite reading lattices and brute-force reading-score checks. It also repeats explicitly post-discovery phrase and language diagnostics, including training with the related SIPVX message removed. Every accepted optimum and competing key is in `candidate-audit/final-union/`; no language threshold silently discards candidates.

## 4. Repeat the numerical search

The source and inputs are self-contained in `search-replay/`. A POSIX system, Python 3.10+, a C++17 compiler and at least 8 GiB free disk are required. No original absolute paths or network access are needed.

```sh
python3 search-replay/replay.py --all --workers 3 --output /tmp/mvueh-continuation-replay
python3 search-replay/replay.py --job 431-o03-q09216-10240 \
  --completion-cap 3150 --output /tmp/mvueh-supplement-replay
```

The first command replays the frozen 19,810-row continuation. The second closes its 3,150-board family without changing original scope coverage. `search-replay/README.md` documents row selection, resume, comparison tolerance and source hashes.

To rebuild and replay **all 43,016 original scopes and both supplements** from the packed exact inputs:

```sh
python3 packed-reproduction/prepare_packed_replay.py \
  --engine-source search-replay \
  --bundle portable-final/batches.jsonl.gz \
  --supplements portable-final/supplements.jsonl \
  --output /tmp/mvueh-all60-replay --all --workers 3 --run
```

For a small check, replace `--all` with `--select original:253-o39-q06144-07168` to repeat the original winning batch. The materializer validates each exact packed input and reuses the existing frozen replay implementation. It does not introduce another search engine. See `packed-reproduction/README.md` for selection, generated groups and comparison evidence. The original discovery batch also has its own preserved replay in `original-discovery/search-reproduction/`.

## 5. Recover from the unchanged received ciphertext

```sh
python3 unchanged-source-recovery/reproduce.py /tmp/mvueh-unchanged-source-replay
```

This rebuilds and executes the full 1,080-batch experiment, then independently verifies it. It assumes the seventeen-letter phrase at positions 55–71, discovered earlier. It supplies no source-letter alternatives or known key to the search and must not be described as blind rediscovery. Like the score verifier, it requires a POSIX environment with C `logf`. Its reproduction command deliberately compares complete native streams byte for byte, including floating-point score fields. That comparison passed on the recorded macOS host; a different compiler or libm may differ in harmless score last bits and fail the strict check. Investigate any such difference explicitly rather than silently weakening the checks. The continuation replay separately documents its narrow scoring tolerance.

## 6. Repeat the independent SAT sample

```sh
python3 -m venv /tmp/mvueh-sat-env
/tmp/mvueh-sat-env/bin/python -m pip install -r sat-crosscheck/requirements.txt
/tmp/mvueh-sat-env/bin/python sat-crosscheck/reproduce.py /tmp/mvueh-sat-replay
```

The version is pinned to z3-solver 4.13.3.0 (Z3 engine 4.13.3). `requirements-lock.txt` records the original Mac arm64 wheel hash; it is not a universal platform lock. The archive includes the license, solver/source provenance, all 48 predeclared probes, SMT-LIB problems and complete witness sets. The 48 probes cover 42 distinct states, not the entire search domain. `UNKNOWN` is never accepted as `UNSAT`.

## Preservation and provenance

`FILE-SHA256.json` is the inventory of this delivered package. Component inventories and original manifests preserve historical hashes and paths, sometimes including original workspace files or disposable environments not copied into the release. Those paths are provenance, not requirements for the portable commands above. Local original hashes and timestamps are not an externally trusted record of when inputs were chosen.

The package excludes the installed SAT virtual environment and downloaded platform wheel, transient Python caches, and superseded candidate checkpoints. It retains final raw records, source code, final candidate alternatives, source references, original research history, runtime modules, licenses, costs and failed-attempt evidence. `build_release.py` and `pack_evidence.py` document packaging from the research workspace; use the portable verification/replay entry points above after download.

All completion labels remain conditional on standard Enigma I with reflector B, exactly ten plugboard pairs, the supplied finite source alternatives and the specified crib. This research does not establish discovery priority, external endorsement, every original handwritten character, or a globally unique message without those assumptions.
