# گزارش کنترل کیفیت — Zero-Input Isolation

## تست‌های انجام‌شده

- بررسی نحوی همه فایل‌های PHP اختصاصی پروژه
- بررسی نحوی JavaScript پنل
- تست تولید ۱۰۰۰ پیشوند یکتا
- تست عدم وابستگی به کانفیگ‌های قدیمی cPanel
- تست نگاشت SQL برای تمام جدول‌های شناخته‌شده قالب
- تست JOIN، INSERT IGNORE، DELETE، ALTER و SHOW TABLES
- تست عدم دوباره‌پیشوندگذاری جدول فیزیکی
- تست عدم تغییر ستون backtick شده با نام مشابه جدول
- جست‌وجوی procedural `mysqli_query` خارج از Wrapper
- جست‌وجوی اتصال خام PDO در سورس اجراشونده فرزند
- بررسی حذف Installer قدیمی از Deployment
- بررسی حذف اجرای `mysqldump` از بکاپ ربات
- بررسی ساخت Manifest بدون ذخیره رمز دیتابیس
- بررسی سازگاری schema و Runtime Migration با `table_namespace`
- بررسی نحوی ۱۲۱ فایل PHP و JavaScript پنل
- عبور ۱۴۷۹ رشته SQL قالب از بازنویسی و فایروال بدون خطا
- تست مسدودشدن جدول مادر، namespace دیگر، cross-database، چند statement و کامنت اجرایی
- تست جلوگیری از برخورد namespace با جدول‌های موجود
- بررسی نبود Installer فرزند و وابستگی اجرایی cPanel در بسته
- بررسی محدودبودن reset و backup به فضای همان ربات

## تست روی هاست مقصد

محیط ساخت بسته MySQL زنده ندارد. بعد از آپلود روی هاست اجرا شود:

```bash
php tools/upgrade_zero_input.php
php tools/check_isolation.php
```

`check_isolation.php` روی همان دیتابیس مادر یک جدول موقت با پیشوند اختصاصی می‌سازد، عملیات خواندن/نوشتن را آزمایش می‌کند و آن را حذف می‌کند. خروجی موفق با `OK:` شروع می‌شود.
