Skip to content

WIP Reviewing large projects with AI: contributing in a meaningful way - #1240

Draft
dutow wants to merge 1 commit into
percona:mainfrom
dutow:ai2
Draft

WIP Reviewing large projects with AI: contributing in a meaningful way#1240
dutow wants to merge 1 commit into
percona:mainfrom
dutow:ai2

Conversation

@dutow

@dutow dutow commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

No description provided.


As the saying goes, we can do it fast or cheap or good -- you can choose two.
The issue in the above examples is that people tend to choose fast and cheap:
the minimal effort, most comfortable combination, and that results in a local maximum, not global.

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.

reads better ..."not a global one"

3. I possibly spam my colleagues with slop, even if at this point my autoreviewer rarely makes bad change requests.

For high throughput projects, such as the PostgreSQL mailing list, I don't want to review everything:
that takes CPU time (build and test execution on my PC), I would also quickly hit my session limits, and even if I would process everything, I do not have the time to personally look through all that.

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.

"even if I did process everything"


## What about reviewing with AI?

Normally, when you join a new large project you don't start by submitting huge pull requests making changes to multiple distinct parts of the code because you lack the understanding to do so.

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.

missing comma - "when you join a new large project, you don't start by..."

As I already have subscriptions, and I'm not using them all the time to their limits, this is basically free.
2. Since I have a good desktop PC, I want things to run in parallel:
if I enqueue two postgres patch reviews at the same time, I would prefer them completing sooner in parallel than later in sequence.
3. All this parallelization has to be easily user visible, for example I want to be able to see and access the claude sessions.

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.

"Claude sessions"

Back when I started it, programmatic use of `claude` was still allowed with subscription pricing, but there were already talks about it being restricted to token based usage for 3rd party tools.

Do we have to go there to accomplish our goal?
Can't we simply ask claude to create a specific empty file on completion, and then `kill` the process when we detect it? Or add a stop hook that accomplishes the same in an even more reliable way?

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.

"ask Claude"


As I said in the beginning, at this point we are using this tool in most of our PostgreSQL-related projects, and that evolved into two different patterns:

For our github repos, with less traffic, it automatically watches the open pull requests:

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.

"GitHub"

## Disclaimer on LLM automation and security

Running LLMs unsupervised has its own dangers, I wrote more about this [previously](https://percona.community/blog/2026/05/05/how-i-stopped-babysitting-my-coding-agent-with-dotfiles/).
Autoreviewer runs claude code with `--dangerously-skip-permissions` in a docker/podman sandbox.

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.

"runs Claude code"


Running LLMs unsupervised has its own dangers, I wrote more about this [previously](https://percona.community/blog/2026/05/05/how-i-stopped-babysitting-my-coding-agent-with-dotfiles/).
Autoreviewer runs claude code with `--dangerously-skip-permissions` in a docker/podman sandbox.
As long as the separation holds, it shouldn't have access to anything outside the review directory on your PC, but it does have full network access, and it holds a github token and possibly a deploy key, so keep that in mind, and keep those as restrictive as possible.

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.

"GitHub" again

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.

2 participants