Az eredeti REODE-figura finomítva: mosolygó, krém- és rózsaszínű axolotlarc sötétkék fejhallgatóval és ciánkék lencsékkel
Vissza a terembe

REODE

Code migration

Javítás előtt a közös ok.

Java/Spring kódmigrációs ágens.

2026.03 — 2026.04

Munkaprojekt · migrációs és ellenőrzési rendszer

  • CLIMegvalósítva · munkaprojekt

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

Migrációs ciklus, amely a javítás bizonyítékait elkülöníti az elfogadástól.

Rögzíti az eredeti buildállapotot és alkalmazza a szabályalapú átalakítást, majd a javítás előtt forrás- és POM-bizonyítékot gyűjt. Egy modell szerkesztése után a buildet, a tesztet és a tesztek integritását újra ellenőrzi, a korlátnál vagy elakadással záruló futtatásokat pedig a sikertől elkülönítve jelenti.

A szabályalapú átalakítást modellsegítette javítással kapcsolja össze, a megváltoztatott kódot pedig builddel és teszttel ellenőrzi. Munkaprojekt.

REODE-munka a tárolóban; a pinxlab-megbízás időtartama 2026. március 16. – 2026. május 26.

Munkahelyi használatú CLI-eszköz.

Javítási ciklus térképe · nem nyilvános megvalósítási feljegyzések alapján
A REODE migrációs javítási ciklusaAz eredeti buildállapot alapvonalként megmarad, a szabályalapú átalakítás lefut, a build és a teszt pedig ellenőrzi az eredményt. Hiba esetén bármilyen javítás előtt forrás-, annotációs és POM-bizonyítékot gyűjt, az ismert mintákat determinisztikusan javítja és újraépíti. Ha az újraépítés sikerül, nem hív modellt; ha elbukik, egy modell az összegyűjtött bizonyítékokkal és javítási utasításokkal javít, és az eredményt újra ellenőrzi. Az iterációs korlátnál vagy elakadással záruló futtatások továbbmennek a mérésre, de nem számítanak sikernek, a scorecard pedig csak akkor ad minősítést, ha mind az öt elfogadási kapu teljesül.Forrás · POMNem nyilvános migrációs bemenetScorecard · minősítésNem telepítésHiba · elakadási jelentésNem számít sikernekEredeti ellenőrzéseEredeti állapot · fordításFuttatási állapotAlapvonal · ismeretlenek méretlenülHelyreállítási feljegyzésekEllenőrzőpont javítás előttKorábbi javítás, ugyanaz a hibaÁtalakításTerv → szabályalapú átalakításFeltárás javítás előttOkbizonyíték · 3 forrás · POMDeterminisztikus javításIsmert minták javításaÚjraépítés ellenőrzéseModelljavításJavítás bizonyítékokkal · utasításokkalEllenőrzésbuild · teszt · iteráció +1Következő lépésFolytatás · mérés · max. 3MérésSzabályarány · tesztek · lefedettség5 elfogadási kapuBemenet · alapvonalHelyreállítási feljegyzésekÁtalakítás · javításEllenőrzés · kilépés1forrás · POM2eredeti fordítás3 szabályalapú átalakítás · Eredeti állapot · fordítás → Terv → szabályalapú átalakítás34build · test5eredmény · iterációk6siker · korlát · elakadás7összevetés az alapvonallal8minősítés1eredmény · iterációk2 sikertelen · újrapróbálás · Folytatás · mérés · max. 3 → Okbizonyíték · 3 forrás · POM23mentés javítás előtt4bizonyítékok · csoportosított hibák5sikeres · LLM kihagyva6az újraépítés elbukott7 korábbi javítás · Korábbi javítás, ugyanaz a hiba → Javítás bizonyítékokkal · utasításokkal78újbóli ellenőrzés1siker · korlát · elakadás2összevetés az alapvonallal3minősítés4törölve · kizárva · elbukott5kilépés korlátnál · elakadáskor

Szabályalapú átalakítás

Az eredeti állapot alapvonalként megmarad; a szabályalapú átalakítás után a build és a teszt ellenőriz, a futtatás pedig továbbmegy a mérésig.

  1. Forrás · POMAdat: forrás · POMEredeti állapot · fordításEredeti ellenőrzése

    A migrálandó Java/Spring forrást és POM-ot veszi át. Ügyfélkód és -képernyők nem jelennek meg.

  2. Eredeti állapot · fordításEredeti ellenőrzéseAdat: eredeti fordításAlapvonal · ismeretlenek méretlenülFuttatási állapot

    Az átalakítás előtt kiválasztja a futtatókörnyezetet, és lefordítja az eredetit, így a már eleve hibás build az alapvonalban marad. Az alapvonal alapértelmezett teszt- és lefedettségi értékei nem mérések.

  3. Eredeti állapot · fordításEredeti ellenőrzéseFuttatás · megítélés: szabályalapú átalakításTerv → szabályalapú átalakításÁtalakítás

    A futtatási gráf menete: eredeti ellenőrzése → átalakítási terv → szabályalapú átalakítás → ellenőrzés. Előbb a szabályokkal megoldható átalakítások kerülnek alkalmazásra.

  4. Terv → szabályalapú átalakításÁtalakításFuttatás · megítélés: build · testbuild · teszt · iteráció +1Ellenőrzés

    A build és a teszt ellenőrzi az átalakított kódot, az iterációszám pedig eggyel nő. Az eredmények visszakerülnek a futtatási állapotba.

  5. build · teszt · iteráció +1EllenőrzésAdat: eredmény · iterációkFolytatás · mérés · max. 3Következő lépés

    A build sikere, a tesztsikerességi arány és az iterációszám határozza meg a következő lépést.

  6. Folytatás · mérés · max. 3Következő lépésFuttatás · megítélés: siker · korlát · elakadásSzabályarány · tesztek · lefedettségMérés

    Ha a build és a teszt is sikeres, eléri az iterációs korlátot, vagy elakadást észlel (egy helyreállítási kísérlet után, ha még nem történt), a futtatás a méréshez kerül. A mérésre kerülés nem jelent sikert.

  7. Alapvonal · ismeretlenek méretlenülFuttatási állapotAdat: összevetés az alapvonallalSzabályarány · tesztek · lefedettségMérés

    A mérés a futtatási állapotban tárolt alapvonalat olvassa. Ez nem új alapvonal-futtatás.

  8. 5 elfogadási kapuMérésAdat: minősítésScorecard · minősítés

    Sikeres build, 100%-os tesztsikerességi arány, −5 vagy jobb lefedettségváltozás (csak ismert alapvonalnál), nulla törölt teszt, nulla surefire-kizárás. Minősítés csak mind az öt teljesülésekor jár.

Okalapú javítás

Javítás előtt bizonyítékgyűjtés történik, és a determinisztikus javítások jönnek előbb. Ha az újraépítés sikerül, a modell kimarad; ha nem, a modell bizonyítékokkal és utasításokkal javít, és az eredmény újra ellenőrzésre kerül.

  1. build · teszt · iteráció +1EllenőrzésAdat: eredmény · iterációkFolytatás · mérés · max. 3Következő lépés

    A build sikere, a tesztsikerességi arány és az iterációszám határozza meg a következő lépést.

  2. Folytatás · mérés · max. 3Következő lépésFuttatás · megítélés: sikertelen · újrapróbálásOkbizonyíték · 3 forrás · POMFeltárás javítás előtt

    Ha a build elbukott vagy a tesztsikerességi arány 100% alatt van, és az iterációs korlát (alapértelmezés szerint 3) nincs elérve, a futtatás javításra kerül.

  3. Okbizonyíték · 3 forrás · POMFeltárás javítás előttMegfigyelés · jelentés: mentés javítás előttEllenőrzőpont javítás előttHelyreállítási feljegyzések

    Javítás előtt ellenőrzőpont mentődik. Ez nem garantált: a sikertelen mentés nem állítja le a javítást, és a mentés nem bizonyítja a sikert.

  4. Okbizonyíték · 3 forrás · POMFeltárás javítás előttAdat: bizonyítékok · csoportosított hibákIsmert minták javításaDeterminisztikus javítás

    Összegyűjti a hibás Java-fájlokat, legfeljebb három forrás kezdősorait, az annotációs, POM- és annotációfeldolgozó-beállításokat, valamint az importokat 2-es mélységig. Korlátozott minta, nem a teljes kódbázis megértése.

  5. Újraépítés ellenőrzéseDeterminisztikus javításFuttatás · megítélés: sikeres · LLM kihagyvabuild · teszt · iteráció +1Ellenőrzés

    Ha egy ismert minta (például a Lombok-beállítás) determinisztikus javítása után az újraépítés sikerül, nem hív modellt. A futtatás így is visszatér az ellenőrzéshez, tehát ez nem végső elfogadás.

  6. Újraépítés ellenőrzéseDeterminisztikus javításHiba · korlát: az újraépítés elbukottJavítás bizonyítékokkal · utasításokkalModelljavítás

    Ha az újraépítés elbukik, az összegyűjtött bizonyítékok és javítási utasítások a modelljavításhoz kerülnek. A kódból kiderül, hogy a továbbadott hibaszöveg az eredeti buildhiba, nem az újraépítés új hibája, ezért nem értelmezhető úgy, hogy „csak a fennmaradó hibák kerülnek tovább”. Ez nem futtatásban reprodukált hiba.

  7. Korábbi javítás, ugyanaz a hibaHelyreállítási feljegyzésekAdat: korábbi javításJavítás bizonyítékokkal · utasításokkalModelljavítás

    Az ugyanazon hibaszignatúra alatt rögzített korábbi javításokat kikeresi és csatolja. Ez a bemenethez adott feljegyzés, nem modelltanítás.

  8. Javítás bizonyítékokkal · utasításokkalModelljavításFuttatás · megítélés: újbóli ellenőrzésbuild · teszt · iteráció +1Ellenőrzés

    A modell strukturált architect/editor úton javít, vagy ha ez nem érhető el, illetve helyreállítás közben, eszközhasználati prompttal, majd a build és a teszt újra ellenőriz. Egy modell szerkesztése önmagában nem sikeres build.

Siker és elakadás

A minősítéshez mind az öt kapu kell; a törölt vagy kizárt tesztek, illetve a korláttal vagy elakadással zárult kilépések nem számítanak sikernek.

  1. Folytatás · mérés · max. 3Következő lépésFuttatás · megítélés: siker · korlát · elakadásSzabályarány · tesztek · lefedettségMérés

    Ha a build és a teszt is sikeres, eléri az iterációs korlátot, vagy elakadást észlel (egy helyreállítási kísérlet után, ha még nem történt), a futtatás a méréshez kerül. A mérésre kerülés nem jelent sikert.

  2. Alapvonal · ismeretlenek méretlenülFuttatási állapotAdat: összevetés az alapvonallalSzabályarány · tesztek · lefedettségMérés

    A mérés a futtatási állapotban tárolt alapvonalat olvassa. Ez nem új alapvonal-futtatás.

  3. 5 elfogadási kapuMérésAdat: minősítésScorecard · minősítés

    Sikeres build, 100%-os tesztsikerességi arány, −5 vagy jobb lefedettségváltozás (csak ismert alapvonalnál), nulla törölt teszt, nulla surefire-kizárás. Minősítés csak mind az öt teljesülésekor jár.

  4. 5 elfogadási kapuMérésHiba · korlát: törölve · kizárva · elbukottHiba · elakadási jelentés

    A tesztek törlésével vagy surefire-kizárással elért siker, valamint a sikertelen build vagy teszt hiba marad. A törlési és kizárási ellenőrzés nullát számol, ha a Git vagy a POM nem olvasható, így nem bizonyítja, hogy minden szabálysértést elkap.

  5. Folytatás · mérés · max. 3Következő lépésMegfigyelés · jelentés: kilépés korlátnál · elakadáskorHiba · elakadási jelentés

    A korlátnál vagy elakadással záruló futtatás így is áthalad a mérésen, de nem jelentik sikerként. Ez a jelentés módját jelöli, nem a mérés megkerülését.

Minden kapcsolat azonos vastagsággal. Válasszon egy folyamatot, hogy csak annak útvonala emelődjön ki, számozott lépésekkel.

  • Folytonos · a bemenet, az eredmények és a feljegyzések iránya
  • Szaggatott · futtatás, megítélés, kérés
  • Hosszú pontozott · megfigyelés és jelentés, a megítéléstől elkülönítve
  • Rövid szaggatott · hiba, leállás, korlát
  • Vastag fekete vonal · a kiválasztott folyamat; a számok a sorrendet jelzik
  • Doboz · kód- vagy állapothatár, nevével a fejlécben
  • Belső chip · a határ egy komponense
  • Pontozott doboz · a határon kívül
  • Narancssárga körvonal · ahol egy modell dönt
  • Folyamatlépések · javítás
  • Ellenőrzés · irányítás · elfogadás
  • Állapot · feljegyzések
  • Feltárás javítás előtt

Nem nyilvános megvalósítási és fejlesztési feljegyzések alapján rajzolva. A nevek általános nyilvános nevek; kódútvonalak és ügyfélinformációk nem szerepelnek.

Bemenet sikertelen újraépítés után
A modelljavítás megkapja az összegyűjtött bizonyítékokat és javítási utasításokat, a továbbadott hibaszöveg azonban az eredeti buildhiba, nem az újraépítés új hibája. Ez a kód olvasásából derült ki; futtatásban nem reprodukálták, és a forrást sem módosították.
A kapuk korlátai
Ha a lefedettség alapvonala ismeretlen, ez a kapu kimarad. A surefire-ellenőrzés a jelenlegi POM kizárásait számolja, nem az alapvonalhoz képesti különbséget. A törlési és kizárási ellenőrzés nullát számol, ha a Git vagy a POM nem olvasható.
Az eset és számai
Az, hogy mintegy 40 setter-hiba egyetlen okra, a Lombok- és POM-beállításra vezethető vissza, akkor rögzített diagnózis. Nem áteresztőképességi, pontossági vagy végső szállítási adat.