Hi! We've been experiencing some difficulties with...
# proj-agent
s
Hi! We've been experiencing some difficulties with the
pr-review-bot
, so I made this *umbrella issue *to track all pain points. Once it stabilizes we can break it down into sub-issues and assign them. Please give it a look and dont hesitate to post comments if you have anything to add 🙂 @modern-fireman-99755 @limited-student-10747
l
Thanks, I noticed this too yesterday and started trying to fix it, taking a closer look now.
m
Can I also propose to divide the logic we use for OSS projects and the PR rview bot? Because we probably want to extend the PR review bot also to other repos which are not open source.
l
Could you elaborate a little bit Vasco? Why do we need to divide the logic?
m
For example @fierce-account-55183 expressed interest to hav the review bot in some other repos. But perhaps they don't use the HUMAN section as we do. So was thinking to divide the logic. But actually i think that it is better to restrict the options we have in the review bot (see the following paragraph) to a set of selected repos. FYI this is the logic now: 1. If all-hands-bot is a requested reviewer, run a full AI review unconditionally. This overrides every gate below. 2. Else if the description has no filled-in HUMAN section, post a plain comment, edited in place rather than reposted. 3. Else if CI is red on the head commit, post a plain comment, once per head SHA. 4. Else if the author is an org member, collaborator, or has at least three merged PRs, run a full AI review. 5. Else ping the repo's Slack channel that the PR needs a human, at most once per PR. @strong-ice-84145 I will start to fix some point of your investigation 😉
c
Could we use GitSync to “export” the Automations to git, and then
enterprise
can pick it up and change it to its needs?
They're just Automations, and we need them to work for Open Source repos in a stable, connected way for Graham’s factory goal. If we try to support everything, I’m afraid that has consequences… Surely people can stand them up, and make them support their own tweaks?
l
Yeah, we’re exporting automations to git, but not publicly at the moment, because often the automations are vibe-coded and not high quality. Vasco has been moving them over to OpenHands/extensions
c
I'd add also that the core Automations here were PR Review/etc that used to run in GitHub Actions in Open Source repos, which we converted to Automations.
l
@modern-fireman-99755 :
For example @fierce-account-55183 expressed interest to hav the review bot in some other repos. But perhaps they don’t use the HUMAN section as we do. So was thinking to divide the logic.
I think we should try to make the core automation extensible so that it can take this into account. Already, I’m trying to use the custom review guide that is included in the repo to give the guidelines
👍 1
c
^^ The custom review guide is already supported, yes
@modern-fireman-99755 could you please tell, what exactly is the problem with the HUMAN: section?
m
@calm-artist-7206 They don't have the same PR template summary that we are using. So they don't need to fill an HUMAN section
c
But then CI fails for us, and doesn’t for them, so isn’t that the criterium?
m
sorry I don't get it.
c
If the rule is: • the automation runs the conversation if CI is green Then • CI is green on Open Source repos if HUMAN: is filled, along with other criteria • CI is green on
enterprise
repos regardless of HUMAN:
No logic fork needed
Please let me take a step back. I thought I understood that the Open Source Automations VM is a … well, a VM with running Automations that run on, and for, the OSS repos. I would love it if we keep that way. If we start running them on
enterprise
that changes a lot, sorry. Can we keep that VM targeted to OSS?
For the record, the Slack agent reported that several Automations in this VM are running on
enterprise
. I was surprised, TBH, I have no idea when did it get added. I suggest removing
enterprise
from this VM. It could run in another VM or on the Cloud, it seems to me. People can take Open Source Automations and run them anywhere else, including on some VM dedicated to AH
enterprise
repo. That’s the point of open source, after all 🫠 - and most of us have already our remote VMs, it’s not a big endeavor. More importantly, if I may put it this way, Graham, you are initiating an experiment in transforming the main Open Source repos into a software factory. The factory includes the Automations in the VM. Obviously, it has to: they’re part of the self-feeding loop. I believe we need to focus on that, not get side-tracked by
enterprise
stuff, sorry.
l
Sorry, I’m not sure what the big deal is here? Could you elaborate?
This is just applying some of the existing automations to the enterprise repo. I think the people working on OHE will eventually spin up their own VMs, but this is also a good exercise in making the automations configurable, which is good for making sure that they’re useful for others who are not us, which is IMO important
c
Of course it’s important , I’m saying they can always run a copy, like everyone else. A clone. 🙏 Instead of directly editing the same Automation run running on Open Source repos. Sorry, directly editing is not the same with just applying, it seems to me. Then if they need changes, they are always welcome to make a PR, like everyone else. So we can see the proposals.
l
We're editing the automation to make it more general though (make it respect the repo specific review criteria stored in the repo, instead of baking in repo specific criteria directly into the automation code). That modification just seems like good software engineering practice, it seems to me?
🤔 1