# WEB002-LAB1 — راهنمای learner

هدف: تشخیص direct Node ESM resolution در یک fixture محلی و غیرمخرب. شبکه لازم نیست.

**runtime فریز‌شده:** Node `v22.16.0`. قبل از ثبت evidence، `node --version` را اجرا کنید. اگر خروجی دقیقاً `v22.16.0` نیست، توقف کنید؛ آن اجرا برای این lab فریز‌شده evidence معتبر محسوب نمی‌شود.

۱. در evidence هم `required_node_version` = `v22.16.0` و هم نسخه مشاهده‌شده از `node --version` را ثبت کنید.
۲. در `starter` فایل‌های `package.json`، `main.js` و `node_modules/demo-pkg/package.json` را بررسی و قبل از اجرا first failure را پیش‌بینی کنید.
۳. `node main.js` را اجرا کنید و هر بار فقط یک boundary متعلق به درس را repair کنید تا baseline موفق شود.
۴. از root آزمایش، `python mutation_probe.py --submission-dir learner/starter` را اجرا کنید. probe فقط temporary copy را mutate می‌کند. حداقل یک prediction/observation ثبت کنید و در صورت ارتباط، `stderr_classification` را به‌عنوان runtime evidence نگه دارید.
۵. fixture مستقل `transfer` را بدون copy کردن literal fixهای baseline repair و مستقیم با Node اجرا کنید.
۶. `evidence/learner_evidence.json` را طبق schema عمومی trace کامل کنید.

برای ساکت‌کردن خطا package-interface metadata را حذف نکنید و موفقیت editor/TypeScript/bundler را جای direct Node evidence نگذارید.
