مهاجرت کامل به نظر میرسید
Jekyll به Astro، ۴۵ صفحه، بیلد قبول. اگه با AI کد تولید میکنی، شکل این قصه رو میشناسی: چیزی که کامپایل میشه، همونی نیست که کار میکنه. بازسازیای که هیچکس حسابرسی نکرده، مهاجرت نیست؛ حادثهی در حال حرکته.
سایت از Jekyll به Astro مهاجرت کرد. بیلد پاس شد. صفحهها رندر شدن. و لایلایهی داخل خروجی، شکستهایی خوابیده بودن که فقط یه حسابرسی میتونست رو کنارشون بگذاره: یه ریدایرکت جاوااسکریپتی خراب، متادیتای SEO مقالاتی که بیصدا حذف شده بود، لینکهای ناقص، ارجاعهای مرده و آیکونهایی که دیگه وجود نداشتن.
بیلد سبز شروع بررسی است، نه پایانش. بیلد کد رو کامپایل میکنه؛ حسابرسی محصول رو بررسی میکنه.
حرکت واقعاً چی رو خراب کرد
هر مهاجرتی به یه پاس دوم نیاز داره. اینه چیزی که پاس دوم پیدا کرد.
حسابرسی صفحهبهصفحه و خطبهخط پیش رفت: ساختار HTML، کامپوننتها، تایپوگرافی، آیکونها، ساختار محتوا، CTAها و رعایت سیستم طراحی توی هر المان. هدف فقط درستکردن صفحهها نبود — هدف پیدا کردن دستههای آسیبی بود که یه مهاجرت به بار میاره.
ریدایرکت جاوااسکریپتی خراب یه template literal که هیچوقت resolve نشد — صفحهای که قرار بود ریدایرکت بشه، کلاً هیچ کاری نمیکرد.
از دست رفتن بیصدای SEO متادیتای مقالات — ogType، publishedTime، modifiedTime، tags — بهخاطر اینکه لایهآوت فورواردش نمیکرد، حذف شده بود.
لینکهای ناقص سه مقاله anchorهایی داشتند که وسطِ یه attribute قطع شده بودن و با متن خراب جایگزین شده بودن.
ارجاعهای مرده
هفت ارجاع خراب /scripts/ و یه ارجاع خراب /styles/ که از استک قدیمی جا مونده بودن.
هیچچیز توی مهاجرت بلند نمیشکنه. همهچیز آروم میشکنه. حسابرسی همونه که شکست آروم رو به یه لیست واقعی تبدیل میکنه.
سریع مهاجرت کن، آرومتر حسابرسی کن. پاس دوم جاییست که محصول نجات پیدا میکنه.
معماری رو حسابرسی کن، نه فقط صفحهها رو
اصلاح صفحهها سطح کار بود. کار واقعی، پاکسازی کانفیگمحور توی زیرساخت بود.
یه حسابرسی دوم و عمیقتر به کل کدبیس نگاه کرد: معماری، کد مرده، مقادیر هاردکد، وابستگیها و داکها. دستور مطلق این بود: صفر هاردکد، و استک سبک و سریع. چیزی که پیدا کرد، اسکلتی از عصر Jekyll بود که هنوز لباس Astro به تن داشت.
الگو همون درسه: مهاجرتی که فقط فریمورک رو عوض میکنه، عادتهای بد رو حفظ میکنه. رفتن از Jekyll به Astro بیفایده بود مگه این که کدبیس طبق استانداردهای Astro بازسازی میشد — تایپشده، کانفیگمحور و فارغ از بقایای استک قدیمی.
مهاجرت فریمورکی که معماری رو هم پاک نکنه، فقط آشغال رو به کامپایلر سریعتر منتقل میکنه.
حسابرسیها دروازهی کیفیتن
این همون منطق دروازهییه که داخل SpielOS هم اجرا میشه: قبل از این که چیزی جلو بره — کد، محتوا، یه اجرای ایجنت — باید از بازرسی رد بشه.
حسابرسی مهاجرت، ارزیابی به قدیمیترین معناشه: دروازهای بین یه وضعیت خراب و یه وضعیت کارا. همونه که موتور محتوا روی پیشنویسها اعمال میکنه — قواعد سخت، بدون مذاکره، قبول یا رد.
پایپلاین محتوا همون تفکر رو روی نوشتن اعمال میکنه. مهاجرت همون رو روی زیرساخت اعمال میکنه. هارنس همون رو روی ایجنتها اعمال میکنه. شکل توی همهی موارد یکیه: تولید ارزونه، بررسی محصوله.
اگه با AI کد تولید میکنی، درس اینه: بیلد همون چیزی رو کامپایل میکنه که خواستی؛ حسابرسی همون چیزی رو بررسی میکنه که واقعاً لازم داشتی. بررسی رو رد کنی، باگ جلو میبری.
فرقی نمیکنه کد باشه یا محتوا؛ الگو یکیه: بساز، بعد بررسی کن، بعد جلو برو. بررسی رو رد کنی، باگ جلو میبری.
هر چیزی که تولید میکنی رو حسابرسی کن
چکهایی که این کلاس از باگ رو گرفتن، همون چکهاییان که باید روی هر خروجی AI اجرا کنی.
متادیتای بیصدا رو بررسی کن. HTML بیلدشده رو باز کن و مطمئن شو تگهای SEO، ریدایرکتها و structured data جان به در بردن. کامپایلر به og:image تو کاری نداره.
دنبال استک قدیمی grep کن. دنبال مسیرهای قدیمی، کلاسهای قدیمی و کتابخانههای آیکون قدیمی بگرد. استک قدیمی رد پا میذاره؛ پاکشون کن.
هر مقدار هاردکد رو به کانفیگ ببر. اگه یه URL، کلید یا اسم بیشتر از یه بار اومد، جایِش توی یه ماژول کانفیگه. مهاجرت بهترین بهانه برای متمرکزکردنه.
مهاجرت وقتی کاملست که حسابرسی پاس بشه، نه وقتی که بیلد پاس بشه.
بیلد گفت ۴۵ صفحه، صفر خطا. حسابرسی خطاهایی رو پیدا کرد که بیلد نمیتونست ببینه.
ریدایرکتهای خراب، متادیتای حذفشده، ارجاعهای مرده، کلیدهای هاردکد. بررسی محصوله؛ تولید فقط پیشنویس اوله.
دربارهی دروازهها بخون