# TOL004-LAB1

1. `python setup_fixture.py`
2. `python inspect_context.py` to record launcher/tool identity and the canonical artifact inventory hash.
3. `python run_uv_probe.py baseline`; retain both `requested_python_identity` and `selected_environment_python_identity`. The probe binds uv with `--python` to the invoking Python.
4. Reset. Run `python mutate_fixture.py stale-lock`, then `python run_uv_probe.py stale-locked`.
5. Reset. Run baseline, `python mutate_fixture.py remove-wheel`, then `python run_uv_probe.py warm-import`; finally run `python run_uv_probe.py clean-after-remove`.

Use no network. `UV_UNAVAILABLE` is missing runtime evidence and exits non-zero; do not convert it to PASS. The artifact inventory hash is SHA-256 of sorted UTF-8 lines `name<TAB>sha256<LF>`. Do not treat warm import as reconstruction evidence.
