شخصية REODE الأصلية بعد تنقيحها: وجه أكسولوتل مبتسم بلون كريمي ووردي، بسمّاعة رأس كحلية وعدسات سماوية
العودة إلى القاعة

REODE

Code migration

قبل الإصلاح، ابحث عن السبب المشترك.

وكيل لترحيل شيفرة Java/Spring.

2026.03 — 2026.04

مشروع عمل · منظومة الترحيل والتحقق

  • CLIمُطبَّق · مشروع عمل

REODE vocabulary

Lens
Migration Graph
Read First
Change and Check
Run Harness
Toolchain
Run Control
  1. assess
  2. plan
  3. explore
  1. transform
  2. validate
  3. fix
  4. measure
  1. recipes
  2. docker isolation
  3. equivalence
  1. escalation
  2. checkpoint
  3. learnings

Assess: assess_node · assessment_report · frameworks_detected · SOCRATIC RISK ANALYSIS · clarity_score · BASELINE BUILD · baseline_build_success · detect_spring_features · SpringAssessment · memory_context · get_local_jdk_versionPlan: plan_node · migration_plan · incremental_recipe_chain · get_recipe_chain · project_constraints · llm_structural · get_migration_strategy · is_fw_to_boot_migration · hitl_level · memory_contextExplore: _explore_before_fix · AFFECTED FILES · read_file · @Data · pom.xml · classify_build_error · ErrorCategory · get_category_prompt_hint · _batch_errors · _detect_fix_patterns · CANNOT FIND SYMBOL · compute_error_signatureTransform: llm_structural · transform_node · rewrite-maven-plugin · _ensure_openrewrite_plugin · rewrite:run · java_openrewrite_run · recipes_applied · _BATCH_SIZE · source_path_backup · structural_changes · resume_from_batchValidate: BASELINE BUILD · validate_node · java_build · java_test · java_lint · build_error_output · test_error_output · test_pass_rate · _route_after_validate · build_verification_tasks · verify-compat-check · SubAgentManager · _BackpressureExecutor · docker_maven_command · max_iterationsFix: memory_context · _explore_before_fix · @Data · pom.xml · get_category_prompt_hint · _detect_fix_patterns · build_error_output · test_error_output · fix_node · _fix_deterministic_pass · _apply_deterministic_fixes · LOMBOK 1.18.34 · annotationProcessorPaths · _fix_architect_editor_pass · FixPlan · _execute_llm_fix · _BackpressureExecutor · fix_attempts · java-migration-diagnostic · _determine_escalation · _build_full_project_context · fix-iter-{iteration} · AUTO-LEARNINGSMeasure: baseline_build_success · recipes_applied · test_pass_rate · measure_node · MigrationScorecard · G1 BUILD SUCCESS · G2 TEST EQUIVALENCE · G3 COVERAGE PRESERVATION · G4 TEST INTEGRITY · G5 NO TEST EXCLUSION · _count_deleted_test_files · _count_surefire_excludes · automation_ratio · S/A/B/C GRADERecipes: detect_spring_features · incremental_recipe_chain · get_recipe_chain · rewrite-maven-plugin · java_openrewrite_run · UpgradeToJava17 · UpgradeToJava21 · JavaxMigrationToJakarta · UpgradeSpringBoot_3_2 · UpgradeSpringSecurity_6_2 · JUnit4to5Migration · rewrite-migrate-java · rewrite-spring · SPRING_RECIPE_CHAINS · java_openrewrite_listDocker Isolation: JDK_DOCKER_IMAGES · maven:3.9-eclipse-temurin-22 · needs_docker_build · docker_maven_command · get_local_jdk_version · is_docker_available · docker_build_mode · local_jdk_version · _maven_cache_dir · JDK MISMATCHEquivalence: source_path_backup · verify-compat-check · java_app_start · e2e_smoke_test · java_app_stop · run_jar_comparison · detect_jar_type · deploy_dual_stack · discover_endpoints · api_equivalence_rate · api_breaking_changes · teardown_dual_stackEscalation: _route_after_validate · fix_attempts · _determine_escalation · claude-opus-4-6 · _build_full_project_context · _is_stuck · CONVERGENCE · CIRCUIT BREAKER · recovery_attempted · max_iterations · budget_usd · _check_budget_gateCheckpoint: _BATCH_SIZE · PipelineCheckpoint · reode/checkpoint · fix-iter-{iteration} · resume_from_batch · _resume_skip_nodes · MigrationProgressTracker · migration_progress.json · _save_node_progress · --resumeLearnings: FixPlan · FixEventLog · FixEvent · fix_events.jsonl · query_by_signature · format_learnings · compute_error_signature · AUTO-LEARNINGS · LEARNINGS.md · _append_learning · AVOID THIS APPROACH

حلقة ترحيل تفصل أدلة الإصلاح عن القبول.

تُسجَّل حالة build الأصلية ويُطبَّق التحويل القائم على القواعد، ثم تُجمع أدلة المصدر وPOM قبل الإصلاح. وبعد تعديل النموذج، يُفحص build وtest وسلامة الاختبارات مجددًا، وتُبلَّغ عمليات التشغيل التي تنتهي عند حد أو تتعثر بمعزل عن النجاح.

يجمع التحويل القائم على القواعد مع الإصلاح بمساعدة النموذج، ويفحص الشيفرة المتغيّرة بـ build وtest. مشروع عمل.

عمل REODE في المستودع، وفترة المشاركة في pinxlab من March 16, 2026 to May 26, 2026

أداة CLI تُستخدم في العمل.

خريطة حلقة الإصلاح · من سجلات التطبيق الخاصة
حلقة إصلاح الترحيل في REODEتُحفظ حالة build الأصلية خطَّ أساس، ويُطبَّق التحويل القائم على القواعد، ويتحقق build وtest من النتيجة. وعند الإخفاق، تُجمع أدلة المصدر وannotation وPOM قبل أي إصلاح، وتُصلح الأنماط المعروفة إصلاحًا حتميًا ويُعاد البناء. وإذا نجحت إعادة البناء فلا يُستدعى أي نموذج، وإذا فشلت يُصلح نموذج بالأدلة المجمّعة وتعليمات الإصلاح، ثم يُتحقق من النتيجة مرة أخرى. وتنتقل عمليات التشغيل التي تنتهي عند حد التكرار أو تتعثر إلى القياس دون أن تُحسب نجاحًا، ولا تمنح بطاقة التقييم درجة إلا حين تنجح بوابات القبول الخمس كلها.المصدر · POMمُدخلات ترحيل خاصةبطاقة التقييم · الدرجةليس نشرًاتقرير الإخفاق · التعثرلا يُحسب نجاحًاالفحص الأصليالحالة الأصلية · compileحالة التشغيلخط الأساس · المجاهيل غير مقيسةسجلات الاستعادةcheckpoint قبل الإصلاحإصلاح سابق للخطأ نفسهالتحويلالخطة → التحويل القائم على القواعدالاستكشاف قبل الإصلاحأدلة السبب · 3 مصادر · POMالإصلاح الحتميإصلاح الأنماط المعروفةفحص إعادة البناءإصلاح النموذجإصلاح بالأدلة · التعليماتالتحققbuild · test · التكرار +1الخطوة التاليةمتابعة · قياس · 3 كحد أقصىالقياسحصة القواعد · الاختبارات · التغطية5 بوابات قبولالمُدخلات · خط الأساسسجلات الاستعادةالتحويل · الإصلاحالتحقق · الخروج1المصدر · POM2compile الأصلي3 تحويل القواعد · الحالة الأصلية · compile → الخطة → التحويل القائم على القواعد34build · test5النتيجة · التكرارات6نجاح · حد · تعثّر7المقارنة بخط الأساس8 منح الدرجة · 5 بوابات قبول → بطاقة التقييم · الدرجة81النتيجة · التكرارات2 فشل · إعادة محاولة · متابعة · قياس · 3 كحد أقصى → أدلة السبب · 3 مصادر · POM23الحفظ قبل الإصلاح4الأدلة · الأخطاء المجمّعة5نجح · تخطّي LLM6فشلت إعادة البناء7إصلاح سابق8التحقق مجددًا1نجاح · حد · تعثّر2المقارنة بخط الأساس3 منح الدرجة · 5 بوابات قبول → بطاقة التقييم · الدرجة34محذوف · مستثنى · فاشل5خروج عند الحد · التعثّر

تحويل القواعد

تُحفظ الحالة الأصلية خطَّ أساس، وبعد تحويل القواعد يتحقق build وtest، ثم ينتقل التشغيل إلى القياس.

  1. المصدر · POMبيانات: المصدر · POMالحالة الأصلية · compileالفحص الأصلي

    يأخذ مصدر Java/Spring وPOM المراد ترحيلهما. ولا تُعرض شيفرة العملاء ولا شاشاتهم.

  2. الحالة الأصلية · compileالفحص الأصليبيانات: compile الأصليخط الأساس · المجاهيل غير مقيسةحالة التشغيل

    قبل التحويل، تُختار بيئة التشغيل ويُترجَم الأصل بـ compile، فيبقى build المعطوب أصلًا ضمن خط الأساس. والقيم الافتراضية للاختبارات والتغطية في خط الأساس ليست قياسات.

  3. الحالة الأصلية · compileالفحص الأصليتشغيل · حكم: تحويل القواعدالخطة → التحويل القائم على القواعدالتحويل

    يسير مخطط التشغيل: الفحص الأصلي → خطة التحويل → التحويل القائم على القواعد → التحقق. وتُطبَّق أولًا التحويلات التي تستطيع القواعد حملها.

  4. الخطة → التحويل القائم على القواعدالتحويلتشغيل · حكم: build · testbuild · test · التكرار +1التحقق

    يتحقق build وtest من الشيفرة المحوَّلة ويزيد عدد التكرارات واحدًا. وتعود النتائج إلى حالة التشغيل.

  5. build · test · التكرار +1التحققبيانات: النتيجة · التكراراتمتابعة · قياس · 3 كحد أقصىالخطوة التالية

    يحدد نجاح build ونسبة نجاح الاختبارات وعدد التكرارات الخطوةَ التالية.

  6. متابعة · قياس · 3 كحد أقصىالخطوة التاليةتشغيل · حكم: نجاح · حد · تعثّرحصة القواعد · الاختبارات · التغطيةالقياس

    حين ينجح build وtest كلاهما، أو يُبلغ حد التكرار، أو يُكتشف تعثّر (بعد محاولة استعادة واحدة إن لم تُجرَّب بعد)، ينتقل التشغيل إلى القياس. والانتقال إلى القياس لا يعني النجاح.

  7. خط الأساس · المجاهيل غير مقيسةحالة التشغيلبيانات: المقارنة بخط الأساسحصة القواعد · الاختبارات · التغطيةالقياس

    يقرأ القياس خط الأساس المحفوظ في حالة التشغيل. وليس تشغيلًا جديدًا لخط الأساس.

  8. 5 بوابات قبولالقياسبيانات: منح الدرجةبطاقة التقييم · الدرجة

    نجاح build، ونسبة نجاح اختبارات 100%، وتغيّر في التغطية بمقدار −5 أو أفضل (فقط حين يكون خط الأساس معروفًا)، وصفر اختبارات محذوفة، وصفر استثناءات surefire. ولا تُمنح درجة إلا حين تنجح الخمسة كلها.

إصلاح قائم على السبب

تُجمع الأدلة قبل الإصلاح وتأتي الإصلاحات الحتمية أولًا. وإذا نجحت إعادة البناء يُتخطّى النموذج، وإلا يُصلح النموذج بالأدلة والتعليمات ويُتحقق من النتيجة مجددًا.

  1. build · test · التكرار +1التحققبيانات: النتيجة · التكراراتمتابعة · قياس · 3 كحد أقصىالخطوة التالية

    يحدد نجاح build ونسبة نجاح الاختبارات وعدد التكرارات الخطوةَ التالية.

  2. متابعة · قياس · 3 كحد أقصىالخطوة التاليةتشغيل · حكم: فشل · إعادة محاولةأدلة السبب · 3 مصادر · POMالاستكشاف قبل الإصلاح

    إذا فشل build أو كانت نسبة نجاح الاختبارات دون 100%، ولم يُبلغ حد التكرار (3 افتراضيًا)، ينتقل التشغيل إلى الإصلاح.

  3. أدلة السبب · 3 مصادر · POMالاستكشاف قبل الإصلاحملاحظة · إبلاغ: الحفظ قبل الإصلاحcheckpoint قبل الإصلاحسجلات الاستعادة

    يُحفظ checkpoint قبل الإصلاح. وهو best-effort: فشل الحفظ لا يوقف الإصلاح، والحفظ ليس دليلًا على النجاح.

  4. أدلة السبب · 3 مصادر · POMالاستكشاف قبل الإصلاحبيانات: الأدلة · الأخطاء المجمّعةإصلاح الأنماط المعروفةالإصلاح الحتمي

    يجمع ملفات Java الفاشلة، والأسطر الأولى من ثلاثة مصادر على الأكثر، وإعدادات annotation وPOM وannotation processor، والـ imports حتى العمق 2. عيّنة محدودة، لا فهم للشيفرة كلها.

  5. فحص إعادة البناءالإصلاح الحتميتشغيل · حكم: نجح · تخطّي LLMbuild · test · التكرار +1التحقق

    إذا جعل الإصلاح الحتمي لنمط معروف (إعداد Lombok مثلًا) إعادة البناء تنجح، فلا يُستدعى أي نموذج. ومع ذلك يعود التشغيل إلى التحقق، فهذا ليس قبولًا نهائيًا.

  6. فحص إعادة البناءالإصلاح الحتميإخفاق · حد: فشلت إعادة البناءإصلاح بالأدلة · التعليماتإصلاح النموذج

    إذا فشلت إعادة البناء، تذهب الأدلة المجمّعة وتعليمات الإصلاح إلى إصلاح النموذج. وتُظهر قراءة الشيفرة أن نص الخطأ المُمرَّر هو خطأ build الأصلي، لا الخطأ الجديد من إعادة البناء، فلا ينبغي قراءة هذا على أنه «تُمرَّر الأخطاء المتبقية فقط». وليس عيبًا أُعيد إنتاجه في تشغيل.

  7. إصلاح سابق للخطأ نفسهسجلات الاستعادةبيانات: إصلاح سابقإصلاح بالأدلة · التعليماتإصلاح النموذج

    يُبحث عن الإصلاحات السابقة المسجّلة تحت توقيع الخطأ نفسه وتُرفق. سجل يُضاف إلى المُدخلات، لا تدريب للنموذج.

  8. إصلاح بالأدلة · التعليماتإصلاح النموذجتشغيل · حكم: التحقق مجددًاbuild · test · التكرار +1التحقق

    يُصلح النموذج عبر مسار architect/editor منظّم، أو عبر موجّه استخدام الأدوات حين يتعذر ذلك المسار أو أثناء الاستعادة، ثم يتحقق build وtest مجددًا. وتعديل النموذج ليس في حد ذاته build ناجحًا.

النجاح مقابل التعثّر

تحتاج الدرجة إلى البوابات الخمس كلها، ولا تُحسب الاختبارات المحذوفة أو المستثناة ولا الخروج عند الحد أو التعثّر نجاحًا.

  1. متابعة · قياس · 3 كحد أقصىالخطوة التاليةتشغيل · حكم: نجاح · حد · تعثّرحصة القواعد · الاختبارات · التغطيةالقياس

    حين ينجح build وtest كلاهما، أو يُبلغ حد التكرار، أو يُكتشف تعثّر (بعد محاولة استعادة واحدة إن لم تُجرَّب بعد)، ينتقل التشغيل إلى القياس. والانتقال إلى القياس لا يعني النجاح.

  2. خط الأساس · المجاهيل غير مقيسةحالة التشغيلبيانات: المقارنة بخط الأساسحصة القواعد · الاختبارات · التغطيةالقياس

    يقرأ القياس خط الأساس المحفوظ في حالة التشغيل. وليس تشغيلًا جديدًا لخط الأساس.

  3. 5 بوابات قبولالقياسبيانات: منح الدرجةبطاقة التقييم · الدرجة

    نجاح build، ونسبة نجاح اختبارات 100%، وتغيّر في التغطية بمقدار −5 أو أفضل (فقط حين يكون خط الأساس معروفًا)، وصفر اختبارات محذوفة، وصفر استثناءات surefire. ولا تُمنح درجة إلا حين تنجح الخمسة كلها.

  4. 5 بوابات قبولالقياسإخفاق · حد: محذوف · مستثنى · فاشلتقرير الإخفاق · التعثر

    النجاح الذي يُنال بحذف الاختبارات أو باستثناءات surefire، وفشل build أو الاختبارات، يظل إخفاقًا. وفحصا الحذف والاستثناء يعدّان صفرًا حين يتعذر قراءة Git أو POM، فليسا دليلًا على اكتشاف كل مخالفة.

  5. متابعة · قياس · 3 كحد أقصىالخطوة التاليةملاحظة · إبلاغ: خروج عند الحد · التعثّرتقرير الإخفاق · التعثر

    التشغيل الذي ينتهي عند الحد أو يتعثر يمر بالقياس مع ذلك، لكنه لا يُبلَّغ نجاحًا. وهذا يحدد طريقة الإبلاغ، وليس طريقًا مختصرًا يتجاوز القياس.

كل الروابط بالسماكة نفسها. اختر مسارًا لإبراز طريقه وحده، مع خطوات مرقّمة.

  • خط متصل · اتجاه المُدخلات والنتائج والسجلات
  • خط متقطع · تشغيل، حكم، طلب
  • نقاط طويلة · الملاحظة والإبلاغ، بمعزل عن الحكم
  • شرطات قصيرة · إخفاق، توقف، حد
  • خط أسود سميك · المسار المختار، والأرقام تبيّن الترتيب
  • مربع · حدّ شيفرة أو حالة، واسمه في الترويسة
  • شريحة داخلية · مكوّن من ذلك الحد
  • مربع منقّط · خارج ذلك الحد
  • إطار برتقالي · حيث يقرر نموذج
  • خطوات المسار · الإصلاح
  • التحقق · التوجيه · القبول
  • الحالة · السجلات
  • الاستكشاف قبل الإصلاح

مرسومة من سجلات التطبيق والتطوير الخاصة. والأسماء أسماء عامة للنشر، ولا تُعرض مسارات شيفرة ولا معلومات عملاء.

المُدخلات بعد فشل إعادة البناء
يتلقى إصلاح النموذج الأدلة المجمّعة وتعليمات الإصلاح، لكن نص الخطأ المُمرَّر هو خطأ build الأصلي، لا الخطأ الجديد من إعادة البناء. ثبت ذلك بقراءة الشيفرة، ولم يُعَد إنتاجه في تشغيل، ولم يُغيَّر المصدر.
حدود البوابات
إذا كان خط أساس التغطية مجهولًا، تُتخطّى تلك البوابة. ويعدّ فحص surefire الاستثناءات في POM الحالي، لا الفرق عن خط الأساس. ويعدّ فحصا الحذف والاستثناء صفرًا حين يتعذر قراءة Git أو POM.
الحالة وأرقامها
ردّ نحو 40 خطأ setter إلى سبب واحد، هو إعداد Lombok وPOM، تشخيصٌ سُجّل حينها. وليس رقمًا للإنتاجية أو الدقة أو التسليم النهائي.