Özgün REODE karakterinin rötuşlanmış hâli: lacivert kulaklık ve camgöbeği lensler takmış, gülümseyen krem-pembe bir aksolotl yüzü
Salona dön

REODE

Code migration

Düzeltmeden önce ortak nedeni bul.

Bir Java/Spring kod geçişi ajanı.

2026.03 — 2026.04

İş projesi · geçiş ve doğrulama sistemi

  • CLIUygulandı · iş projesi

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

Onarım kanıtını kabulden ayrı tutan bir geçiş döngüsü.

Özgün build durumu kaydedilir ve kurala dayalı dönüşüm uygulanır; ardından onarımdan önce kaynak ve POM kanıtı toplanır. Bir modelin düzenlemesinden sonra build, test ve test bütünlüğü yeniden kontrol edilir; bir sınırda biten ya da takılan çalıştırmalar başarıdan ayrı raporlanır.

Kurala dayalı dönüşümü model destekli onarımla birleştirir ve değişen kodu build ve test ile kontrol eder. Bir iş projesi.

Depodaki REODE çalışması; pinxlab katılımı March 16, 2026 to May 26, 2026

İşte kullanılan bir CLI aracı.

Onarım döngüsü haritası · gizli uygulama kayıtlarından
REODE geçiş onarım döngüsüÖzgün build durumu temel çizgi olarak saklanır, kurala dayalı dönüşüm uygulanır ve build ile test sonucu doğrular. Başarısızlıkta herhangi bir düzeltmeden önce kaynak, annotation ve POM kanıtı toplanır; bilinen kalıplar deterministik olarak düzeltilip yeniden derlenir. Yeniden derleme geçerse hiçbir model çağrılmaz; başarısız olursa bir model toplanan kanıt ve düzeltme talimatlarıyla onarır ve sonuç yeniden doğrulanır. Yineleme sınırında biten ya da takılan çalıştırmalar ölçüme gider ama başarı sayılmaz; puan kartı yalnızca beş kabul kapısının hepsi geçtiğinde not verir.Kaynak · POMGizli geçiş girdisiPuan kartı · notBir dağıtım değilHata · takılma raporuBaşarı sayılmazÖzgün kontrolÖzgün durum · compileÇalıştırma durumuTemel çizgi · bilinmeyenler ölçülmezKurtarma kayıtlarıDüzeltmeden önce checkpointAynı hata için önceki düzeltmeDönüşümPlan → kurala dayalı dönüşümDüzeltmeden önce keşifNeden kanıtı · 3 kaynak · POMDeterministik düzeltmeBilinen kalıpları düzeltYeniden derleme kontrolüModel onarımıKanıt · talimatlarla düzeltDoğrulamabuild · test · yineleme +1Sonraki adımDevam · ölç · en fazla 3ÖlçümKural payı · testler · kapsam5 kabul kapısıGirdi · temel çizgiKurtarma kayıtlarıDönüşüm · onarımDoğrulama · çıkış1kaynak · POM2özgün compile3 kural dönüşümü · Özgün durum · compile → Plan → kurala dayalı dönüşüm34build · test5sonuç · yinelemeler6geçti · sınır · takılma7temel çizgi karşılaştırması8not verme1sonuç · yinelemeler2 başarısız · yeniden dene · Devam · ölç · en fazla 3 → Neden kanıtı · 3 kaynak · POM23düzeltmeden önce kaydet4kanıt · gruplanmış hatalar5geçti · LLM atlandı6yeniden derleme başarısız7 önceki düzeltme · Aynı hata için önceki düzeltme → Kanıt · talimatlarla düzelt78yeniden doğrula1geçti · sınır · takılma2temel çizgi karşılaştırması3not verme4silindi · dışlandı · başarısız5sınır · takılma çıkışı

Kural dönüşümü

Özgün durum temel çizgi olarak saklanır; kural dönüşümünden sonra build ve test doğrular ve çalıştırma ölçüme geçer.

  1. Kaynak · POMVeri: kaynak · POMÖzgün durum · compileÖzgün kontrol

    Geçirilecek Java/Spring kaynağını ve POM'u alır. Müşteri kodu ve ekranları gösterilmez.

  2. Özgün durum · compileÖzgün kontrolVeri: özgün compileTemel çizgi · bilinmeyenler ölçülmezÇalıştırma durumu

    Dönüşümden önce çalışma zamanı seçilir ve özgün kod compile edilir; böylece zaten bozuk olan bir build temel çizgide tutulur. Temel çizgideki varsayılan test ve kapsam değerleri ölçüm değildir.

  3. Özgün durum · compileÖzgün kontrolÇalıştırma · yargı: kural dönüşümüPlan → kurala dayalı dönüşümDönüşüm

    Çalıştırma grafiği şöyle ilerler: özgün kontrol → dönüşüm planı → kurala dayalı dönüşüm → doğrulama. Kuralların taşıyabildiği dönüşümler önce uygulanır.

  4. Plan → kurala dayalı dönüşümDönüşümÇalıştırma · yargı: build · testbuild · test · yineleme +1Doğrulama

    Build ve test dönüştürülen kodu doğrular ve yineleme sayısı bir artar. Sonuçlar çalıştırma durumuna döner.

  5. build · test · yineleme +1DoğrulamaVeri: sonuç · yinelemelerDevam · ölç · en fazla 3Sonraki adım

    Build başarısı, test geçme oranı ve yineleme sayısı sonraki adımı belirler.

  6. Devam · ölç · en fazla 3Sonraki adımÇalıştırma · yargı: geçti · sınır · takılmaKural payı · testler · kapsamÖlçüm

    Build ve test ikisi de geçtiğinde, yineleme sınırına ulaşıldığında ya da bir takılma algılandığında (henüz denenmediyse bir kurtarma denemesinden sonra) çalıştırma ölçüme gider. Ölçüme gitmek başarı anlamına gelmez.

  7. Temel çizgi · bilinmeyenler ölçülmezÇalıştırma durumuVeri: temel çizgi karşılaştırmasıKural payı · testler · kapsamÖlçüm

    Ölçüm, çalıştırma durumunda tutulan temel çizgiyi okur. Yeni bir temel çizgi çalıştırması değildir.

  8. 5 kabul kapısıÖlçümVeri: not vermePuan kartı · not

    Build başarısı, %100 test geçme oranı, −5 ya da daha iyi bir kapsam değişimi (yalnızca temel çizgi biliniyorsa), sıfır silinmiş test, sıfır surefire dışlaması. Not ancak beşi de geçerse verilir.

Nedene dayalı onarım

Düzeltmeden önce kanıt toplanır ve önce deterministik düzeltmeler gelir. Yeniden derleme geçerse model atlanır; geçmezse model kanıt ve talimatlarla onarır ve sonuç yeniden doğrulanır.

  1. build · test · yineleme +1DoğrulamaVeri: sonuç · yinelemelerDevam · ölç · en fazla 3Sonraki adım

    Build başarısı, test geçme oranı ve yineleme sayısı sonraki adımı belirler.

  2. Devam · ölç · en fazla 3Sonraki adımÇalıştırma · yargı: başarısız · yeniden deneNeden kanıtı · 3 kaynak · POMDüzeltmeden önce keşif

    Build başarısızsa ya da test geçme oranı %100'ün altındaysa ve yineleme sınırına (varsayılan 3) ulaşılmadıysa çalıştırma onarıma gider.

  3. Neden kanıtı · 3 kaynak · POMDüzeltmeden önce keşifGözlem · rapor: düzeltmeden önce kaydetDüzeltmeden önce checkpointKurtarma kayıtları

    Düzeltmeden önce bir checkpoint kaydedilir. Bu best-effort'tur: başarısız bir kayıt onarımı durdurmaz ve kayıt başarının kanıtı değildir.

  4. Neden kanıtı · 3 kaynak · POMDüzeltmeden önce keşifVeri: kanıt · gruplanmış hatalarBilinen kalıpları düzeltDeterministik düzeltme

    Başarısız Java dosyalarını, en fazla üç kaynağın ilk satırlarını, annotation, POM ve annotation processor ayarlarını ve 2 derinliğe kadar import'ları toplar. Sınırlı bir örnektir; tüm kod tabanının anlaşılması değildir.

  5. Yeniden derleme kontrolüDeterministik düzeltmeÇalıştırma · yargı: geçti · LLM atlandıbuild · test · yineleme +1Doğrulama

    Bilinen bir kalıbın (örneğin Lombok kurulumu) deterministik düzeltmesi yeniden derlemeyi geçirirse hiçbir model çağrılmaz. Çalıştırma yine de doğrulamaya döner; dolayısıyla bu nihai kabul değildir.

  6. Yeniden derleme kontrolüDeterministik düzeltmeHata · sınır: yeniden derleme başarısızKanıt · talimatlarla düzeltModel onarımı

    Yeniden derleme başarısız olursa toplanan kanıt ve düzeltme talimatları model onarımına gider. Kod okunduğunda iletilen hata metninin yeniden derlemenin yeni hatası değil, özgün build hatası olduğu görülür; bu yüzden bu, “yalnızca kalan hatalar iletilir” diye okunmamalıdır. Bir çalıştırmada yeniden üretilmiş bir kusur değildir.

  7. Aynı hata için önceki düzeltmeKurtarma kayıtlarıVeri: önceki düzeltmeKanıt · talimatlarla düzeltModel onarımı

    Aynı hata imzası altında kaydedilmiş önceki düzeltmeler aranır ve eklenir. Girdiye eklenen bir kayıttır; model eğitimi değildir.

  8. Kanıt · talimatlarla düzeltModel onarımıÇalıştırma · yargı: yeniden doğrulabuild · test · yineleme +1Doğrulama

    Model yapılandırılmış bir architect/editor yoluyla, bu yol kullanılamıyorsa ya da kurtarma sırasında bir araç kullanımı istemiyle düzeltir; build ve test yeniden doğrular. Bir modelin düzenlemesi kendi başına geçen bir build değildir.

Geçiş ve takılma

Not için beş kapının hepsi gerekir; silinmiş ya da dışlanmış testler ve sınır ya da takılma çıkışları başarı sayılmaz.

  1. Devam · ölç · en fazla 3Sonraki adımÇalıştırma · yargı: geçti · sınır · takılmaKural payı · testler · kapsamÖlçüm

    Build ve test ikisi de geçtiğinde, yineleme sınırına ulaşıldığında ya da bir takılma algılandığında (henüz denenmediyse bir kurtarma denemesinden sonra) çalıştırma ölçüme gider. Ölçüme gitmek başarı anlamına gelmez.

  2. Temel çizgi · bilinmeyenler ölçülmezÇalıştırma durumuVeri: temel çizgi karşılaştırmasıKural payı · testler · kapsamÖlçüm

    Ölçüm, çalıştırma durumunda tutulan temel çizgiyi okur. Yeni bir temel çizgi çalıştırması değildir.

  3. 5 kabul kapısıÖlçümVeri: not vermePuan kartı · not

    Build başarısı, %100 test geçme oranı, −5 ya da daha iyi bir kapsam değişimi (yalnızca temel çizgi biliniyorsa), sıfır silinmiş test, sıfır surefire dışlaması. Not ancak beşi de geçerse verilir.

  4. 5 kabul kapısıÖlçümHata · sınır: silindi · dışlandı · başarısızHata · takılma raporu

    Test silerek ya da surefire dışlamalarıyla elde edilen geçişler ile başarısız build ya da testler başarısızlık olarak kalır. Silme ve dışlama kontrolleri Git ya da POM okunamadığında sıfır sayar; dolayısıyla her ihlalin yakalandığının kanıtı değildir.

  5. Devam · ölç · en fazla 3Sonraki adımGözlem · rapor: sınır · takılma çıkışıHata · takılma raporu

    Sınırda biten ya da takılan bir çalıştırma yine de ölçümden geçer, ama başarı olarak raporlanmaz. Bu, nasıl raporlandığını belirler; ölçümü atlayan bir kestirme değildir.

Her bağlantı aynı kalınlıkta. Yalnızca yolunu numaralı adımlarla vurgulamak için bir akış seçin.

  • Düz çizgi · girdi, sonuç ve kayıtların yönü
  • Kesikli · çalıştırma, yargı, istek
  • Uzun noktalar · gözlem ve raporlama, yargıdan ayrı
  • Kısa kesikler · hata, durma, sınır
  • Kalın siyah çizgi · seçilen akış; numaralar sırayı verir
  • Kutu · bir kod ya da durum sınırı, adı başlığında
  • İç çip · o sınırın bir bileşeni
  • Noktalı kutu · o sınırın dışı
  • Turuncu çerçeve · bir modelin karar verdiği yer
  • Hat adımları · onarım
  • Doğrulama · yönlendirme · kabul
  • Durum · kayıtlar
  • Düzeltmeden önce keşif

Gizli uygulama ve geliştirme kayıtlarından çizildi. Adlar genel, kamuya açık adlardır; kod yolları ya da müşteri bilgileri gösterilmez.

Başarısız yeniden derlemeden sonraki girdi
Model onarımı toplanan kanıtı ve düzeltme talimatlarını alır, ama iletilen hata metni yeniden derlemenin yeni hatası değil, özgün build hatasıdır. Kod okunarak tespit edildi; bir çalıştırmada yeniden üretilmedi ve kaynak değiştirilmedi.
Kapıların sınırları
Kapsam temel çizgisi bilinmiyorsa o kapı atlanır. Surefire kontrolü temel çizgiden farkı değil, güncel POM'daki dışlamaları sayar. Silme ve dışlama kontrolleri Git ya da POM okunamadığında sıfır sayar.
Vaka ve rakamları
Yaklaşık 40 setter hatasının tek bir nedene, Lombok ve POM kurulumuna bağlanması o sırada kaydedilmiş bir teşhistir. Bir iş hacmi, doğruluk ya da nihai teslimat rakamı değildir.