
REODE
Code migration
قبل الإصلاح، ابحث عن السبب المشترك.
وكيل لترحيل شيفرة Java/Spring.
جعل وكيل الإصلاح يقرأ الإعداد أولًا
الوكيل الذي حاول التعديل setter بعد setter هو وكيل الإصلاح داخل منتج REODE، وما غيّره التطوير هو مُدخلاته. والشيفرة ومعلومات العملاء خاصة.
March 21, 2026
صارت مجموعات الأخطاء وbuild الأصلي وإعداد Lombok مُدخلات الإصلاح
قيد التطويروكيل الإصلاح في REODE
ملاحظة · نتيجةمحاولة تعديلات فردية لنحو 40 خطأ setter · لم يُفحص @Data / POM
- أُعيدفاته السبب المشترك→ قراءة المصدر وإعداد build قبل الإصلاح (المطوّر)
شخصالمطوّر
فعلقراءة المصدر وإعداد build قبل الإصلاح
- تسليمتغيّرت مُدخلات الإصلاح→ بناء خط الأساس الأصلي · تجميع الأخطاء ذات النمط نفسه (تغييرات التطوير)
جلسة العملتغييرات التطوير
فعلبناء خط الأساس الأصلي · تجميع الأخطاء ذات النمط نفسه
- تسليم→ جمع الأدلة: المسارات · 3 عيّنات من المصدر · annotations · POM (تغييرات التطوير)
قاعدة مكتوبةسياسة المساهمين
قاعدة · غير متحقَّق منهاخطة المهمة · worktree مملوك
- ليس تنفيذًا مسجّلًاتقتضيه السياسة→ بناء خط الأساس الأصلي · تجميع الأخطاء ذات النمط نفسه (تغييرات التطوير)
جلسة العملتغييرات التطوير
فعلجمع الأدلة: المسارات · 3 عيّنات من المصدر · annotations · POM
- تسليم→ إصلاح Lombok الحتمي أولًا · تخطّي LLM إذا نجحت إعادة البناء (تغييرات التطوير)
قاعدة مكتوبةسياسة المساهمين
قاعدة · غير متحقَّق منهامراجعة zero-context: الخطة ↔ diff
- ليس تنفيذًا مسجّلًاتقتضيه السياسة→ جمع الأدلة: المسارات · 3 عيّنات من المصدر · annotations · POM (تغييرات التطوير)
جلسة العملتغييرات التطوير
فعلإصلاح Lombok الحتمي أولًا · تخطّي LLM إذا نجحت إعادة البناء
- تسليمفشلت إعادة البناء→ إذا فشلت إعادة البناء، إصلاح النموذج بالأدلة وتعليمات الإصلاح (وكيل الإصلاح في REODE)
قيد التطويروكيل الإصلاح في REODE
ملاحظة · نتيجةإذا فشلت إعادة البناء، إصلاح النموذج بالأدلة وتعليمات الإصلاح
- تسليمإشارات التحقق→ بطاقة التقييم: build · test · الاختبارات المحذوفة · استثناءات surefire (المُخرَجات)
المُخرَجاتالمُخرَجات
مُخرَجبطاقة التقييم: build · test · الاختبارات المحذوفة · استثناءات surefire
- أُعيدالإخفاقات المتبقية→ تعود الإخفاقات المتبقية إلى جمع الأدلة (تغييرات التطوير)
جلسة العملتغييرات التطوير
فعلتعود الإخفاقات المتبقية إلى جمع الأدلة
- السياق
- حاول وكيل الإصلاح إصلاح نحو 40 خطأ من نوع setMsg() not found واحدًا تلو الآخر دون النظر إلى @Data أو إصدار Lombok في pom.xml. ولم يُميَّز المُدخل المعطوب أصلًا عن الأخطاء التي أدخلها الترحيل.
- النتيجة
- تقرأ بطاقة التقييم نتائج build وtest مع عدد الاختبارات المحذوفة واستثناءات surefire، وتتخطى بند التغطية حين يكون خط الأساس مجهولًا. والنجاح بحذف الاختبارات يظل إخفاقًا.
- الحد
- يأخذ جمع الأدلة عيّنة من ثلاثة مصادر على الأكثر، فهو ليس فهمًا للشيفرة كلها. ولا يوجد سجل بأن worktree السياسة أو المراجعة المستقلة أو طابور الدمج في develop قد طُبّقت فعلًا على هذه الحالة، ولم يتأكد وكيل البرمجة ولا النموذج في هذه الحالة. ولا توجد نتائج نهائية لاختبارات العميل أو التغطية.
المصادر والحدود المتبقية
- انتقلت مهمة خط الأساس ومهمة الاستكشاف قبل الإصلاح من «قيد التنفيذ» إلى «منجزة»، وتوجد إيداعات للتطبيق. ولم تُجلب نتائج فحوص GitHub جديدة.
- تحدد سياسة هذا المستودع طابور دمج feature → develop → main، لكن الإجراء نفسه لا يُطبَّق على مشاريع أخرى.
- وكلاء التحقق الاختياريون آلية في التطبيق، لا دليل على استخدامهم في كل تسليم. ولا تُدرج أرقام مثل حجم التسليم أو النِّسب لتعذّر تأكيد أدلتها الأصلية.
- حين تفشل إعادة البناء، يظل إصلاح النموذج يتلقى خطأ build الأصلي، لا الخطأ الجديد من إعادة البناء.