# خطای مرزی checkout — Lab اشکال‌زدایی علّی

هدف: یک Root Cause Record v1 قابل دفاع بسازید. کار را با ویرایش تازه‌ترین فایل شروع نکنید.

## رفتار معلوم

- `python tools/reproduce.py` یک mismatch مرزی کوپن/مالیات را بازتولید می‌کند.
- `python run_tests.py` تست‌های baseline فعلی را اجرا می‌کند.
- سه ناحیه عمداً plausible هستند: discount calculation، tax calculation و wiring/state در checkout.
- `context/recent_commit_marker.txt` و `logs/checkout.log` cueهایی دارند که ممکن است علّی باشند یا نباشند.
- یک compatibility option می‌تواند symptom را پنهان کند؛ پنهان‌شدن symptom برای closure کافی نیست.

## شواهد لازم

۱. reproduction دقیق و نزدیک‌ترین boundaryهای pass را ثبت کنید.
۲. پیش از تغییر production code حداقل دو hypothesis با `phase=PRE_MODIFICATION` ثبت کنید.
۳. حداقل یک alternative plausible را با probe تمایزدهنده رد و همان ledger row را از Root Cause Record ارجاع دهید.
۴. case را با حفظ mismatch reduce کنید.
۵. correction محدود اعمال کنید، non-claim را صریح بنویسید و نتیجهٔ reproduction اصلی پس از correction را ثبت کنید.
۶. recurrence sensor اضافه کنید.
۷. mutation description، نتیجهٔ mutation/pre-fix و نتیجهٔ post-fix را جدا ثبت کنید.
۸. documentation، AI/tool support، validation خودتان، residual uncertainty و تصمیم نهایی ACCEPT/MODIFY/REJECT/BOUNDED_DEFER را ثبت کنید.

**مرز زمانی پشتیبانی:** AI/documentation فقط پس از بسته‌شدن retrieval/first-diagnosis probe لازم می‌تواند search/probe option بعدی پیشنهاد دهد. تمام evidenceهای blocking، validation، claim boundary و تصمیم sufficiency نهایی باید مستقل توسط شما قابل دفاع باشد.

مسیر Foundation: پوشهٔ `evidence/foundation_guided/` اولین گذر نیمه‌ساخت‌یافته با یک next probe پیشنهادی است. آن cue را حذف کنید و پیش از کار مستقل به template خالی locale/canonical بروید. در transfer مربوط به shipping از scaffold guided استفاده نکنید.

شبکه و package خارجی لازم نیست.
