# WEB014-LAB1 — learner instructions

Goal: make the fixture correct for a `/portal/` production mount, trace the imported image through the Vite build, preserve an intentional lazy module boundary, and record evidence without depending on an exact chunk filename.

1. State the contract before editing.
2. Configure Vite for the intended base.
3. Import the source asset instead of relying on the broken root URL.
4. Load `inspector.js` with dynamic `import()` only when the button is used.
5. In a course runtime that already provides the pinned Vite toolchain, run the build and preview commands.
6. Inspect generated HTML/assets and exercise the lazy path.
7. Complete the evidence record.
8. Run one mutation and repair it.
9. Complete the `/course/` transfer fixture independently.

`run_checks.py` validates public structure and evidence shape. It does not fabricate browser observations. If the local Vite dependency is unavailable, build execution is reported as an environment dependency rather than faked.

Evidence rule: `runtime_observation.claimed` stays `false` until you actually serve/preview and exercise the built output. When claimed, record the environment, tested URL, initial-path observation, and lazy-path observation. Keep `interpretation.what_observations_support` separate from `interpretation.what_they_do_not_prove`. The `/course/` transfer changes the optional module to `course-helper.js`; do not reuse the guided `inspector.js` or any emitted chunk filename.
