# Host provisioning and evaluator-only access

## Solver machine: provision before the attempt

The host supplies Windows, Mindustry v159, native Windows Computer Use, the
required offline document viewer, and OBS Studio. The host checks that the map
loads in the installed Mindustry build and that capture and native GUI control
work before handing over the paused, all-zero map. These are host setup duties;
the video checker does not attest to the installed Mindustry build or map
compatibility.

OBS Studio is explicitly authorized and host-operated. Start the capture before
agent control and stop after completion. Save the unedited recording as
`D:\Benchmark\deliverables\run_recording.mp4`. The agent does not operate the
recorder. Keep a constant capture canvas during each video, readable English UI,
and the reactor landmarks visible; different runs may use different resolutions.

Stage only these task inputs for the solver:

- `test.msav`, loaded by the host;
- `Mindustry_Basic_Reference.md`;
- `switch_index_legend.png`;
- `RECORDING_INSTRUCTIONS.txt`.

## Enforce the access boundary

The default deployment is a separate evaluator machine or isolated host workspace
that is not mounted, shared, synchronized, or exposed to the solver session.
Keep all checker code/assets, test fixtures/results, reference videos, answer
strings/images, reference JSON/provenance/logs, and failed prior-run artifacts
there. Transfer only the candidate recording from the solver output to the
trusted evaluator after the attempt.

If using one physical machine, use separate OS accounts with enforced access
permissions or equivalent isolation. A folder name, an evaluator-only label, a
prompt prohibition, or placing files elsewhere under the same readable account
is not an access boundary. Before starting, verify from the actual solver account
that evaluator directories and artifacts cannot be listed or read. Do not expose
a host file-read, shell, or connector route that bypasses this separation.

The full checker ZIP and this HOST_SETUP.md are evaluator-only. From the checker
package, copy only RECORDING_INSTRUCTIONS.txt into solver-visible inputs.
Historical failed-attempt evidence belongs in ALE's Difficulty Self-Test section,
not in solver inputs or the successful reference section.

## Evaluator machine: Python AND native FFmpeg tools

The host must install both the Python packages and the actual `ffmpeg` and
`ffprobe` executables before validation. `requirements.txt` installs Python
packages only. A Python FFmpeg wrapper is not a replacement for the executables.
Use one active evaluator environment consistently for all commands.

For the contributor's existing Conda environment, from the extracted checker
folder:

```powershell
python -m pip install -r requirements.txt
conda install conda-forge::ffmpeg
```

Installation is a host action, separate from the solver's GUI-only workflow.
If those dependencies are already provisioned, perform the checks below instead
of reinstalling them. FFmpeg installation source: [conda-forge FFmpeg](https://anaconda.org/conda-forge/ffmpeg).

```powershell
python -c "import sys,numpy,scipy,PIL; print(sys.executable); print(numpy.__version__,scipy.__version__,PIL.__version__)"
python -c "import shutil; print('ffmpeg:',shutil.which('ffmpeg')); print('ffprobe:',shutil.which('ffprobe'))"
ffmpeg -version
ffprobe -version
python check_video.py --version
```

Both executable lookups must return usable paths, the version commands must
succeed, and check_video.py must report 3.0.0. Run the same setup for the reference
and candidate. The reference validation wrapper records these runtime versions.
Missing dependencies are an environment blockage, not gameplay failure.

## Validate evidence

Reference, including provenance and logs:

```powershell
python validate_reference.py "C:\Users\12097\Pictures\Screenshots\reference_run_recording.mp4"
```

Candidate score:

```powershell
python check_video.py "D:\Benchmark\deliverables\run_recording.mp4" --output evaluation_result.json
$LASTEXITCODE
```

The video-only scoring conditions are in Verification.txt. Provenance collection
supports reference reproducibility and adds no gameplay criterion. A result from
an older checker contract cannot substitute for the sampled 3.0.0 reference.
