
REODE vocabulary
- assess
- plan
- explore
- transform
- validate
- fix
- measure
- recipes
- docker isolation
- equivalence
- escalation
- checkpoint
- 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
把修復依據與驗收分開的遷移迴圈。
記錄原始建置狀態並套用規則式轉換,接著在修復前收集原始碼與 POM 證據。模型修改後,再次檢查 build、test 與測試完整性;結束於上限或停滯的執行,與成功分開回報。
它結合規則式轉換與模型輔助修復,並以 build 與 test 檢查變更後的程式碼。工作專案。
儲存庫中的 REODE 工作;pinxlab 參與期間 March 16, 2026 to May 26, 2026
工作中使用的 CLI 工具。
規則轉換
原始狀態保留為基準線;規則轉換後以 build 與 test 驗證,執行接著進入測量。
原始碼 · POM資料: 原始碼 · POM原始狀態 · 編譯
原始檢查接收要遷移的 Java/Spring 原始碼與 POM。不顯示客戶程式碼與畫面。
原始狀態 · 編譯
原始檢查資料: 原始編譯基準線 · 未知值不測量執行狀態轉換前先選定執行環境並編譯原始碼,因此原本就已損壞的建置會保留在基準線中。基準線中 test 與 coverage 的預設值不是測量值。
原始狀態 · 編譯
原始檢查執行 · 判定: 規則轉換計畫 → 規則式轉換轉換執行圖依序為原始檢查 → 轉換計畫 → 規則式轉換 → 驗證。能以規則處理的轉換優先套用。
計畫 → 規則式轉換
轉換執行 · 判定: build · testbuild · test · 迭代 +1驗證以 build 與 test 驗證轉換後的程式碼,迭代次數加一。結果回到執行狀態。
build · test · 迭代 +1
驗證資料: 結果 · 迭代次數繼續 · 測量 · 最多 3 次下一步build 成功與否、test 通過率與迭代次數決定下一步。
繼續 · 測量 · 最多 3 次
下一步執行 · 判定: 通過 · 上限 · 停滯規則占比 · 測試 · 覆蓋率測量當 build 與 test 都通過、達到迭代上限,或偵測到停滯(若尚未嘗試,先再嘗試一次復原)時,執行進入測量。進入測量不代表成功。
基準線 · 未知值不測量
執行狀態資料: 基準線比較規則占比 · 測試 · 覆蓋率測量測量讀取保留在執行狀態中的基準線。不是新的基準線執行。
5 項驗收關卡
測量資料: 評等計分卡 · 等級build 成功、test 通過率 100%、覆蓋率變化 −5 以上(僅在基準線已知時)、刪除的測試為零、surefire 排除為零。五項全部通過才給予等級。
依原因修復
修正前先收集證據,確定性修正優先。重新建置通過則略過模型;否則由模型以證據與指示修復,再重新驗證結果。
build · test · 迭代 +1
驗證資料: 結果 · 迭代次數繼續 · 測量 · 最多 3 次下一步build 成功與否、test 通過率與迭代次數決定下一步。
繼續 · 測量 · 最多 3 次
下一步執行 · 判定: 失敗 · 重試原因證據 · 3 個原始碼 · POM修正前探索若 build 失敗或 test 通過率低於 100%,且未達迭代上限(預設 3 次),執行即進入修復。
原因證據 · 3 個原始碼 · POM
修正前探索觀測 · 回報: 修正前儲存修正前檢查點復原記錄修正前儲存檢查點。這是盡力而為:儲存失敗不會停止修復,儲存也不是成功的依據。
原因證據 · 3 個原始碼 · POM
修正前探索資料: 證據 · 錯誤分組修正已知模式確定性修正收集失敗的 Java 檔案、最多三個原始碼的開頭幾行、標註、POM 與標註處理器設定,以及深度 2 的 import。這是有範圍的樣本,並非對整個程式碼庫的理解。
重新建置檢查
確定性修正執行 · 判定: 通過 · 略過 LLMbuild · test · 迭代 +1驗證若已知模式(例如 Lombok 設定)的確定性修正讓重新建置通過,就不呼叫模型。執行仍會回到驗證,因此這不是最終驗收。
重新建置檢查
確定性修正失敗 · 上限: 重新建置失敗以證據 · 指示修正模型修復重新建置失敗時,收集的證據與修復指示會交給模型修復。閱讀程式碼可知,一併傳遞的錯誤文字是最初的建置錯誤,而非重新建置的新錯誤,因此不能解讀為「只傳遞剩餘錯誤」。這不是在執行中重現的缺陷。
同一錯誤的先前修正
復原記錄資料: 先前修正以證據 · 指示修正模型修復查詢並附上以同一錯誤簽章記錄的先前修正。這是加入輸入的記錄,不是模型訓練。
以證據 · 指示修正
模型修復執行 · 判定: 重新驗證build · test · 迭代 +1驗證模型透過結構化的 architect/editor 路徑進行修正;該路徑無法使用或處於復原中時,改用工具使用提示詞,再由 build 與 test 重新驗證。模型的修改本身並不等於通過的建置。
通過與停滯
等級需要五項關卡全部通過;刪除或排除測試,以及上限或停滯結束,都不算成功。
繼續 · 測量 · 最多 3 次
下一步執行 · 判定: 通過 · 上限 · 停滯規則占比 · 測試 · 覆蓋率測量當 build 與 test 都通過、達到迭代上限,或偵測到停滯(若尚未嘗試,先再嘗試一次復原)時,執行進入測量。進入測量不代表成功。
基準線 · 未知值不測量
執行狀態資料: 基準線比較規則占比 · 測試 · 覆蓋率測量測量讀取保留在執行狀態中的基準線。不是新的基準線執行。
5 項驗收關卡
測量資料: 評等計分卡 · 等級build 成功、test 通過率 100%、覆蓋率變化 −5 以上(僅在基準線已知時)、刪除的測試為零、surefire 排除為零。五項全部通過才給予等級。
5 項驗收關卡
測量失敗 · 上限: 刪除 · 排除 · 失敗失敗 · 停滯回報靠刪除測試或 surefire 排除取得的通過,以及失敗的 build 或 test,都仍算失敗。無法讀取 Git 或 POM 時,刪除與排除檢查計為零,因此不能證明每項違規都會被攔下。
繼續 · 測量 · 最多 3 次
下一步觀測 · 回報: 上限 · 停滯結束失敗 · 停滯回報結束於上限或停滯的執行仍會經過測量,但不回報為成功。這標示的是回報方式,不是繞過測量的捷徑。
所有連線以相同粗細顯示。選擇一個流程,即只突顯其路徑,並標出步驟編號。
- 實線 · 輸入、結果與記錄的流向
- 虛線 · 執行、判定、請求
- 長點劃線 · 觀測與回報,與判定分開
- 短虛線 · 失敗、停止、上限
- 粗黑線 · 所選流程;數字表示順序
- 方框 · 程式碼或狀態邊界,名稱在標題列
- 內層小框 · 該邊界的元件
- 虛線框 · 該邊界之外
- 橘色外框 · 模型做出判斷之處
- 管線步驟 · 修復
- 驗證 · 路由 · 驗收
- 狀態 · 記錄
- 修正前探索
依據非公開的實作與開發記錄繪製。名稱為公開用的通用名稱;不顯示程式碼路徑與客戶資訊。
- 重新建置失敗後的輸入
- 模型修復會收到收集的證據與修復指示,但一併傳遞的錯誤文字是最初的建置錯誤,而非重新建置的新錯誤。這是閱讀程式碼確認的;未在執行中重現,原始碼也未修改。
- 關卡的限制
- 覆蓋率基準線未知時,略過該關卡。surefire 檢查計算的是目前 POM 中的排除,而非與基準線的差異。無法讀取 Git 或 POM 時,刪除與排除檢查計為零。
- 案例與數字
- 約 40 個 setter 錯誤追溯到同一個原因:Lombok 與 POM 設定,這是當時記錄的診斷。並非處理量、準確度或最終交付數字。