All-Hands-AI / openhands-resolver

A system that tries to resolve all issues on a github repo with OpenHands.
MIT License
85 stars 20 forks source link

Update PR with review comments #174

Closed malhotra5 closed 3 weeks ago

malhotra5 commented 3 weeks ago

Summary

This PR addresses #27

Note: version bumping was not performed on this PR as described in .openhands_instructions

Future work to be done

  1. Currently all the unresolved comments are passed at once for a given PR. Possibly process unresolved comment separately? This may lead to following issues - a. Should every resolved comment open a new PR request, or update the current one? b. What happens when 3/5 comments are resolved? How can the user specify which code changes to push on a per comment basis? c. How are comment dependencies handled? For instance, if two comments address the same part of the codebase, handling them separately may create merge conflicts. Do we expect the user to perform incremental commenting to mitigate this?
malhotra5 commented 3 weeks ago

Feedback has been addressed!

Summary of changes

  1. Prevent issue_type from being null
  2. Follow best practice when ordering function parameters
  3. Split large test cases into multiple
  4. Added success indicator per review comment with explanation (initially all comments were evaluated together, but changed this to be one evaluation per comment -> see commit #13 description for reasoning)
  5. Updated output.jsonl (openhands_resolver/resolver_output.py) to contain issue-type and success indicator per comment

Considerations

  1. I haven't implemented updating of the PR in openhands_resolver/send_pull_request.py after openhands resolves comments. I imagine this should be implemented in a separate PR given this one is quite long?
  2. The success checklist (reference attached below) is logged inside process_issue in openhands_resolver/resolve_issue.py; should this be moved to openhands_resolver/visualize_resolver_output.py instead?

Success checklist reference:

I have updated the PR and resolved some of the issues that were cited in the pull request review. Specifically, I identified the following revision requests, and all the ones that I think I successfully resolved are checked off. All the unchecked ones I was not able to resolve, so manual intervention may be required:

- [ ] ...
- [X] ...
- [ ] ...
- [X] ...
- [X] ...