# FND010-LAB1 — کنترل تغییر آگاه از انتشار در محیط محلی

1. با `python run_lab.py` fixture اصلی محلی را بساز. اگر عمداً می‌خواهی workspace متعلق به همین Lab را حذف و بازسازی کنی، `python run_lab.py --reset` را اجرا کن.
2. `workspace/fixture_metadata.json` و `task_brief.json` را بخوان و با `python inspect_state.py` graph و refها را ببین.
3. تغییر درخواستی را برای target line ارزیابی کن. می‌توانی بر اساس context میان merge/rebase/cherry-pick/reconstruction/reversal مقایسه کنی؛ Lab یک history aesthetic واحد تحمیل نمی‌کند.
4. بعد از هر candidate change، `python run_checks.py` را اجرا کن. نتیجهٔ Git و نتیجهٔ behavior را جدا ثبت کن.
5. target واقعی `v1.4.1-candidate` را resolve کن. tag را deployment proof فرض نکن.
6. `simulate_external_effect.py` یک وضعیت مصنوعی خارج از repository ایجاد می‌کند تا مرز Git revert و operational recovery قابل مشاهده باشد.
7. `release_aware_change_control_record.csv` و `submission_notes.md` را کامل کن.

برای transfer، ارزیاب پیش از تحویل به learner، `transfer_workspace` را provision می‌کند. همان fixture تحویل‌شده را مصرف کن؛ ساختن fixture توسط learner لازم نیست. شبکه یا credential لازم نیست.
