Karakter REODE asli yang disempurnakan: wajah axolotl krem-merah muda yang tersenyum dengan headset biru dongker dan lensa sian
Kembali ke ruang pamer

REODE

Code migration

Sebelum memperbaiki, temukan penyebab bersama.

Agen migrasi kode Java/Spring.

2026.03 — 2026.04

Proyek kerja · sistem migrasi dan verifikasi

  • CLIDiimplementasikan · proyek kerja

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

Loop migrasi yang memisahkan bukti perbaikan dari penerimaan.

Status build asli dicatat dan konversi berbasis aturan diterapkan, lalu bukti sumber dan POM dikumpulkan sebelum perbaikan. Setelah model mengedit, build, test, dan integritas test diperiksa lagi, dan eksekusi yang berakhir di batas atau macet dilaporkan terpisah dari keberhasilan.

Agen ini memadukan konversi berbasis aturan dengan perbaikan berbantuan model dan memeriksa kode yang berubah dengan build dan test. Proyek kerja.

Pekerjaan REODE di repositori; keterlibatan dengan pinxlab March 16, 2026 hingga May 26, 2026

Alat CLI yang dipakai di tempat kerja.

Peta loop perbaikan · dari catatan implementasi privat
Loop perbaikan migrasi REODEStatus build asli disimpan sebagai baseline, konversi berbasis aturan diterapkan, dan build serta test memverifikasi hasilnya. Bila gagal, bukti sumber, anotasi, dan POM dikumpulkan sebelum perbaikan apa pun, dan pola yang dikenal diperbaiki secara deterministik lalu di-build ulang. Bila build ulang lolos, tidak ada model yang dipanggil; bila gagal, model memperbaiki dengan bukti yang dikumpulkan dan instruksi perbaikan, lalu hasilnya diverifikasi lagi. Eksekusi yang berakhir di batas iterasi atau macet tetap lanjut ke pengukuran tetapi tidak dihitung sebagai keberhasilan, dan scorecard hanya memberi nilai bila kelima gerbang penerimaan lolos.Sumber · POMInput migrasi privatScorecard · nilaiBukan deploymentLaporan kegagalan · macetTidak dihitung sebagai keberhasilanPemeriksaan asliStatus asli · compileStatus eksekusiBaseline · yang tidak diketahui tidak diukurCatatan pemulihanCheckpoint sebelum perbaikanPerbaikan sebelumnya, kesalahan samaKonversiRencana → konversi berbasis aturanEksplorasi sebelum memperbaikiBukti penyebab · 3 sumber · POMPerbaikan deterministikPerbaiki pola yang dikenalPemeriksaan build ulangPerbaikan modelPerbaiki dengan bukti · instruksiVerifikasibuild · test · iterasi +1Langkah berikutnyaLanjut · ukur · maks 3PengukuranPorsi aturan · test · cakupan5 gerbang penerimaanInput · baselineCatatan pemulihanKonversi · perbaikanVerifikasi · keluar1 sumber · POM · Sumber · POM → Status asli · compile12compile asli3 konversi aturan · Status asli · compile → Rencana → konversi berbasis aturan34build · test5hasil · iterasi6lolos · batas · macet7perbandingan baseline8 pemberian nilai · 5 gerbang penerimaan → Scorecard · nilai81hasil · iterasi2 gagal · coba ulang · Lanjut · ukur · maks 3 → Bukti penyebab · 3 sumber · POM23simpan sebelum perbaikan4bukti · kesalahan dikelompokkan5lolos · LLM dilewati6build ulang gagal7 perbaikan sebelumnya · Perbaikan sebelumnya, kesalahan sama → Perbaiki dengan bukti · instruksi78verifikasi lagi1lolos · batas · macet2perbandingan baseline3 pemberian nilai · 5 gerbang penerimaan → Scorecard · nilai34dihapus · dikecualikan · gagal5keluar karena batas · macet

Konversi aturan

Status asli disimpan sebagai baseline; setelah konversi aturan, build dan test memverifikasi, dan eksekusi lanjut ke pengukuran.

  1. Sumber · POMData: sumber · POMStatus asli · compilePemeriksaan asli

    Menerima sumber Java/Spring dan POM yang akan dimigrasikan. Kode dan layar pelanggan tidak ditampilkan.

  2. Status asli · compilePemeriksaan asliData: compile asliBaseline · yang tidak diketahui tidak diukurStatus eksekusi

    Sebelum konversi, runtime dipilih dan sumber asli di-compile, sehingga build yang sudah rusak sejak awal tetap tercatat di baseline. Nilai bawaan test dan cakupan di baseline bukan hasil pengukuran.

  3. Status asli · compilePemeriksaan asliEksekusi · penilaian: konversi aturanRencana → konversi berbasis aturanKonversi

    Graf eksekusi berjalan pemeriksaan asli → rencana konversi → konversi berbasis aturan → verifikasi. Konversi yang dapat ditangani aturan diterapkan lebih dahulu.

  4. Rencana → konversi berbasis aturanKonversiEksekusi · penilaian: build · testbuild · test · iterasi +1Verifikasi

    Build dan test memverifikasi kode hasil konversi dan jumlah iterasi bertambah satu. Hasilnya kembali ke status eksekusi.

  5. build · test · iterasi +1VerifikasiData: hasil · iterasiLanjut · ukur · maks 3Langkah berikutnya

    Keberhasilan build, tingkat kelulusan test, dan jumlah iterasi menentukan langkah berikutnya.

  6. Lanjut · ukur · maks 3Langkah berikutnyaEksekusi · penilaian: lolos · batas · macetPorsi aturan · test · cakupanPengukuran

    Bila build dan test sama-sama lolos, batas iterasi tercapai, atau kemacetan terdeteksi (setelah satu upaya pemulihan bila belum dicoba), eksekusi menuju pengukuran. Menuju pengukuran tidak berarti berhasil.

  7. Baseline · yang tidak diketahui tidak diukurStatus eksekusiData: perbandingan baselinePorsi aturan · test · cakupanPengukuran

    Pengukuran membaca baseline yang disimpan di status eksekusi. Ini bukan eksekusi baseline baru.

  8. 5 gerbang penerimaanPengukuranData: pemberian nilaiScorecard · nilai

    Build berhasil, tingkat kelulusan test 100%, perubahan cakupan −5 atau lebih baik (hanya bila baseline diketahui), nol test yang dihapus, nol pengecualian surefire. Nilai hanya diberikan bila kelimanya lolos.

Perbaikan berbasis penyebab

Bukti dikumpulkan sebelum memperbaiki dan perbaikan deterministik didahulukan. Bila build ulang lolos, model dilewati; bila tidak, model memperbaiki dengan bukti dan instruksi lalu hasilnya diverifikasi lagi.

  1. build · test · iterasi +1VerifikasiData: hasil · iterasiLanjut · ukur · maks 3Langkah berikutnya

    Keberhasilan build, tingkat kelulusan test, dan jumlah iterasi menentukan langkah berikutnya.

  2. Lanjut · ukur · maks 3Langkah berikutnyaEksekusi · penilaian: gagal · coba ulangBukti penyebab · 3 sumber · POMEksplorasi sebelum memperbaiki

    Bila build gagal atau tingkat kelulusan test di bawah 100%, dan batas iterasi (bawaan 3) belum tercapai, eksekusi menuju perbaikan.

  3. Bukti penyebab · 3 sumber · POMEksplorasi sebelum memperbaikiObservasi · laporan: simpan sebelum perbaikanCheckpoint sebelum perbaikanCatatan pemulihan

    Checkpoint disimpan sebelum perbaikan. Sifatnya best-effort: penyimpanan yang gagal tidak menghentikan perbaikan, dan penyimpanan bukan bukti keberhasilan.

  4. Bukti penyebab · 3 sumber · POMEksplorasi sebelum memperbaikiData: bukti · kesalahan dikelompokkanPerbaiki pola yang dikenalPerbaikan deterministik

    Mengumpulkan berkas Java yang gagal, baris-baris awal dari paling banyak tiga sumber, pengaturan anotasi, POM, dan annotation processor, serta import hingga kedalaman 2. Sampel terbatas, bukan pemahaman atas seluruh codebase.

  5. Pemeriksaan build ulangPerbaikan deterministikEksekusi · penilaian: lolos · LLM dilewatibuild · test · iterasi +1Verifikasi

    Bila perbaikan deterministik untuk pola yang dikenal (misalnya penyiapan Lombok) membuat build ulang lolos, tidak ada model yang dipanggil. Eksekusi tetap kembali ke verifikasi, jadi ini bukan penerimaan akhir.

  6. Pemeriksaan build ulangPerbaikan deterministikKegagalan · batas: build ulang gagalPerbaiki dengan bukti · instruksiPerbaikan model

    Bila build ulang gagal, bukti yang dikumpulkan dan instruksi perbaikan diteruskan ke perbaikan model. Membaca kode menunjukkan bahwa teks kesalahan yang ikut diteruskan adalah kesalahan build awal, bukan kesalahan baru dari build ulang, sehingga ini tidak boleh dibaca sebagai “hanya kesalahan yang tersisa yang diteruskan”. Bukan cacat yang direproduksi dalam eksekusi.

  7. Perbaikan sebelumnya, kesalahan samaCatatan pemulihanData: perbaikan sebelumnyaPerbaiki dengan bukti · instruksiPerbaikan model

    Perbaikan sebelumnya yang tercatat dengan tanda tangan kesalahan yang sama dicari dan dilampirkan. Catatan yang ditambahkan ke input, bukan pelatihan model.

  8. Perbaiki dengan bukti · instruksiPerbaikan modelEksekusi · penilaian: verifikasi lagibuild · test · iterasi +1Verifikasi

    Model memperbaiki melalui jalur architect/editor terstruktur, atau prompt tool-use bila jalur itu tidak tersedia atau sedang dalam pemulihan, lalu build dan test memverifikasi lagi. Editan model tidak dengan sendirinya merupakan build yang lolos.

Lolos versus macet

Peringkat memerlukan kelima gerbang; test yang dihapus atau dikecualikan serta keluar karena batas atau macet tidak dihitung sebagai keberhasilan.

  1. Lanjut · ukur · maks 3Langkah berikutnyaEksekusi · penilaian: lolos · batas · macetPorsi aturan · test · cakupanPengukuran

    Bila build dan test sama-sama lolos, batas iterasi tercapai, atau kemacetan terdeteksi (setelah satu upaya pemulihan bila belum dicoba), eksekusi menuju pengukuran. Menuju pengukuran tidak berarti berhasil.

  2. Baseline · yang tidak diketahui tidak diukurStatus eksekusiData: perbandingan baselinePorsi aturan · test · cakupanPengukuran

    Pengukuran membaca baseline yang disimpan di status eksekusi. Ini bukan eksekusi baseline baru.

  3. 5 gerbang penerimaanPengukuranData: pemberian nilaiScorecard · nilai

    Build berhasil, tingkat kelulusan test 100%, perubahan cakupan −5 atau lebih baik (hanya bila baseline diketahui), nol test yang dihapus, nol pengecualian surefire. Nilai hanya diberikan bila kelimanya lolos.

  4. 5 gerbang penerimaanPengukuranKegagalan · batas: dihapus · dikecualikan · gagalLaporan kegagalan · macet

    Kelulusan yang diperoleh dengan menghapus test atau dengan pengecualian surefire, serta build atau test yang gagal, tetap dihitung gagal. Pemeriksaan penghapusan dan pengecualian menghitung nol bila Git atau POM tidak dapat dibaca, jadi bukan bukti bahwa setiap pelanggaran tertangkap.

  5. Lanjut · ukur · maks 3Langkah berikutnyaObservasi · laporan: keluar karena batas · macetLaporan kegagalan · macet

    Eksekusi yang berakhir di batas atau macet tetap melewati pengukuran tetapi tidak dilaporkan sebagai keberhasilan. Ini menandai cara pelaporan; bukan jalan pintas yang melewati pengukuran.

Setiap koneksi dengan bobot yang sama. Pilih alur untuk menyorot hanya jalurnya, dengan langkah bernomor.

  • Garis utuh · arah input, hasil, dan catatan
  • Garis putus · eksekusi, penilaian, permintaan
  • Titik panjang · observasi dan pelaporan, terpisah dari penilaian
  • Strip pendek · kegagalan, berhenti, batas
  • Garis hitam tebal · alur yang dipilih; angka menunjukkan urutan
  • Kotak · batas kode atau status, namanya di bagian kepala
  • Chip dalam · komponen dari batas itu
  • Kotak bertitik · di luar batas itu
  • Garis tepi oranye · tempat model memutuskan
  • Langkah pipeline · perbaikan
  • Verifikasi · perutean · penerimaan
  • Status · catatan
  • Eksplorasi sebelum memperbaiki

Digambar dari catatan implementasi dan pengembangan privat. Nama-nama adalah nama publik umum; tidak ada path kode atau informasi pelanggan yang ditampilkan.

Input setelah build ulang gagal
Perbaikan model menerima bukti yang dikumpulkan dan instruksi perbaikan, tetapi teks kesalahan yang ikut diteruskan adalah kesalahan build awal, bukan kesalahan baru dari build ulang. Ditetapkan dengan membaca kode; tidak direproduksi dalam eksekusi, dan sumbernya tidak diubah.
Batas gerbang
Bila baseline cakupan tidak diketahui, gerbang itu dilewati. Pemeriksaan surefire menghitung pengecualian di POM saat ini, bukan selisih dari baseline. Pemeriksaan penghapusan dan pengecualian menghitung nol bila Git atau POM tidak dapat dibaca.
Kasus dan angkanya
Sekitar 40 kesalahan setter yang ditelusuri ke satu penyebab, penyiapan Lombok dan POM, adalah diagnosis yang dicatat saat itu. Ini bukan angka throughput, akurasi, atau penyerahan akhir.