Phase 3: Execute Upgrade Plan
Load this file when executing Phase 3. Refer back to upgrade-success-criteria and upgrade-strategy for success criteria and strategy, and ../rules/troubleshooting.md when failures occur.
1. Initialize
- Read
plan.mdfor step details - Update
progress.md:
- Replace
<RUN_ID>,<PROJECT_NAME>and timestamp placeholders - Create step entries for each step in
plan.md(per Template compliance rule)
2. Execute
For each step:
- Read
plan.mdfor step details and guidelines - Mark ⏳ in
progress.md - Make changes as planned (use OpenRewrite if helpful, verify results)
- Add TODOs for any deferred work, e.g., temporary workarounds
- Review Code Changes (per rules in Progress Template): Verify sufficiency (all required changes present) and necessity (no unnecessary changes, functional behavior preserved, security controls maintained).
- Add missing changes and revert unnecessary changes. Document any unavoidable behavior changes with justification.
- Verify with specified command/JDK:
- Steps 1-N (Setup/Upgrade): Compilation must pass (including both main and test code, fix immediately if not). Test failures acceptable — document count.
- Final Validation Step: Achieve Upgrade Success Criteria — iterative test & fix loop until 100% pass (or ≥ baseline). NO deferring. See
../rules/troubleshooting.mdwhen stuck. - Build:
mvn clean test-compile(or./gradlew compileTestJavafor Gradle) - Test:
mvn clean test(or./gradlew testfor Gradle)
- Commit on the
java-upgrade/{RUN_ID}branch with message format (if git available; otherwise, log details inprogress.md):
- First line:
Step <x>: <title> - Compile: <result>orStep <x>: <title> - Compile: <result>, Tests: <pass>/<total> passed(if tests run) - Body: Changes summary + concise known issues/limitations (≤5 lines)
- Security note: If any security-related changes were made, include "Security: <change description and justification>"
- Update
progress.mdwith step details and mark ✅ or ❗
3. Complete
- Validate all steps in
plan.mdhave ✅ inprogress.md - Validate all Upgrade Success Criteria are met, or otherwise go back to Final Validation step to fix