# تمرین آمادگی میزبانی
نیاز: Python 3.10 یا بالاتر؛ بدون کتابخانهٔ بیرونی. همهٔ ورودی‌ها مصنوعی‌اند.

1. `python run_checks.py --inventory` را اجرا کنید.
2. قواعد `policy.json` و درس فارسی را بخوانید.
3. `python run_checks.py --template fixtures/missing_env.json submission.json` را اجرا کنید.
4. تصمیم، علت‌ها، ارجاع‌ها و استدلال خود را در فایل خروجی بنویسید.
5. `python run_checks.py --check fixtures/missing_env.json submission.json` را اجرا کنید.

نتیجهٔ STRUCTURE_PASS_SEMANTICS_UNREVIEWED فقط کنترل ساختاری است. برای درستی تصمیم، ارزیابی معنایی و دفاع از شواهد لازم است. ابزار پاسخ نهایی را پر نمی‌کند. فایل خروجی موجود بازنویسی نمی‌شود.

پس از مثال هدایت‌شده، همهٔ حالت‌های منفی و `transfer_changed` را بررسی کنید. `stale_review` و `failed_request` تمرین تکمیلی‌اند. فایل‌های ورودی را تغییر ندهید؛ تعمیر پیشنهادی را در پاسخ شرح دهید. برای آزمایش یک تغییر دلخواه نسخه‌ای جدا بسازید و آن را شاهد اجرای واقعی ننامید.

`dotnet/README.fa.md` اجرای تکمیلی C# را توضیح می‌دهد. موفقیت Python هیچ تست C# یا میزبانی واقعی را اثبات نمی‌کند.

قالب، تاریخ ارزیابی و هش قواعد را ثبت می‌کند. برای مثال تاریخی از `--as-of 2026-09-12` همراه `--template` استفاده کنید؛ حالت پیش‌فرض تاریخ امروز است. `evidence_field_map.csv` محل ۲۱ بُعد شواهد را نشان می‌دهد. قرارداد ثابت policy قابل حذف نیست؛ ورودی خراب باید UNKNOWN/HOLD بماند.


منابع همراه: [CSV](resources/NET-004-T1.csv), [rubric](resources/rubric.md), [source links](resources/source_links.md).
