Skip to content

Sync migration agent#42

Merged
luyuzhe111 merged 3 commits intoawslabs:mainfrom
Linbo-Liu:sync-migration-agent
Mar 26, 2026
Merged

Sync migration agent#42
luyuzhe111 merged 3 commits intoawslabs:mainfrom
Linbo-Liu:sync-migration-agent

Conversation

@Linbo-Liu
Copy link
Copy Markdown
Contributor

Issue #, if available:

Description of changes:

  • Add max migration evaluation mode in eval_util.py, evaluate.py, and evaluate_async.py.
  • Dependency changes in pyproject.toml
  • Add reference to README.md.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@Linbo-Liu Linbo-Liu force-pushed the sync-migration-agent branch from 44479d5 to f06e862 Compare March 26, 2026 01:14
Copy link
Copy Markdown
Contributor

@luyuzhe111 luyuzhe111 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Linbo-Liu you might need to install the pre-commit hooks properly. a lot of the cosmetic wraps seem to stem from using the default 88-char ruff line limit instead of the 120-char limit specified in this repo.

@Linbo-Liu Linbo-Liu force-pushed the sync-migration-agent branch from 3c32052 to fd16a25 Compare March 26, 2026 04:42
"3. Update all dependencies to their Java 17 compatible versions"
)
tools.append(search_dependency_version)
elif agent_type == "hybrid":
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wondering what's the interaction between agent type and require_maximal_migration? The hybrid type calls update_jdk_related() + update_dependency_version() (which presumably does maximal migration preprocessing), but require_maximal_migration is a separate boolean. can we make it more explicit?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

based on my understanding, the hybrid agent type isn't really a different agent — it's a preprocessing toggle (apply static dependency updates before the agent runs). Making this an explicit boolean like apply_static_update would be clearer and composable with other flags like require_maximal_migration. Same argument could apply to rag — these feel like independent feature flags, not mutually exclusive agent types. wondering what's your thought?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are right. If one uses hybrid agent, the implicit intention is to do max migration. However, I didn't set this explicit because technically speaking, if doing minimal migration, hybrid agent can downgrade the dependency versions even if they were already upgraded by static script...

Copy link
Copy Markdown
Contributor Author

@Linbo-Liu Linbo-Liu Mar 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hybrid agent type isn't really a different agent

It uses a different prompt. RAG agent is the same: different prompt. Maybe I should change agent_type to prompt_type?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Linbo-Liu thanks for the explanation! it makes a lot of sense.

in this case, I would suggest flattening it into two independent boolean flags: apply_static_update, and use_dependency_search_tool. It will justify the following changes better than a single prompt type.

  • for setup_repo_environment, it will take an additional arg, apply_static_update. it's semantically much clearer. with prompt type as input, people get confused how prompt type is related to the repo setup procedure.
  • it will also be more intuitive imo to update both the tool and prompt based on the use_dependency_search_tool flag rather than prompt type.

@Linbo-Liu Linbo-Liu force-pushed the sync-migration-agent branch 2 times, most recently from 6e0116e to 512aa58 Compare March 26, 2026 05:29
@Linbo-Liu Linbo-Liu force-pushed the sync-migration-agent branch from 512aa58 to a99055c Compare March 26, 2026 07:39
@Linbo-Liu Linbo-Liu force-pushed the sync-migration-agent branch from a99055c to cc617ae Compare March 26, 2026 07:42
@luyuzhe111
Copy link
Copy Markdown
Contributor

thanks for the great work and the iterations!

@luyuzhe111 luyuzhe111 merged commit 2c73837 into awslabs:main Mar 26, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants