# TOL002-LAB1

1. Run `python setup_fixture.py` and `python inspect_closure.py`. Record the bounded execution-context snapshot: resolved Python/Node/pnpm identity where available, platform, cwd, manifest/lock hashes, and the named artifact/store boundary.
2. In an environment with pnpm available, reset to baseline and run `python run_pnpm_probe.py`. The probe provisions only the fixture-local isolated pnpm store from the packaged local tarball, then runs `pnpm install --frozen-lockfile --offline --ignore-scripts --store-dir <fixture-local-store>`. Do not treat `PNPM_UNAVAILABLE` as success.
3. Reset before each mutation: `manifest-drift`, `delete-store-artifact`, and `remove-workspace-member`. The artifact deletion removes the actual local tarball used to provision the assessed isolated store.
4. Classify only the smallest supported failure layer and complete `dependency_closure_record.csv`; attach the exact command output that supports the classification.
5. Run `python setup_fixture.py --transfer` for AS4. The transfer fixture intentionally presents more than one changed boundary; no answer sequence is supplied.

Safety boundary: reset/probe scripts may mutate only `TOL002-LAB1/learner/work` and its fixture-local `prepared_store/pnpm-store`. They do not modify the host/global pnpm store, credentials, or privileged configuration.

The packaged tarball and its recorded integrity make artifact sufficiency causally reviewable. Actual pnpm behavior remains learner-runtime evidence; missing pnpm is missing evidence, never simulated success.
