I have never had a luck with using Gemini. I had a pretty good app create with CODEX. Due to the hype I thought let me give Gemini a try. I asked it find all way to improve security and architecture / design. sure enough it gave a me a list of components etc that didn’t match best patterns and practices. So I let it refactor the code.

It Fucked up the entire repot. It hard coded tenant ids and used ids, it completely destroyed my UI. Broke my entire grpahql integration. Set me back 2 weeks of work.

I do admit the browse version of Gemini chat does much better job at providing architecture and design guidance time to time.

Do you use AI agents on repos without version control?

I can't emphasize this enough, it doesn't matter how good a model is or what CLI I'm using, use git and chroot (at the least, container is easier though).

Always make the agent write a plan first and save it to something like plan.md, and tell it to update the list of finished tasks in status.md as it finishes each task from plan.md and to let you review the change before proceeding to next task.

> Set me back 2 weeks of work.

How did this happen?

Did you let the agent loose without first creating its own git worktree?

What's the benefit of git worktree? I imagine you can just not give the agent access to git and you're in the same spot?

I'll reply to myself since apparently people downvote and move on:

They're useful for allowing agents to work in parallel. I imagine some people give them access to git and tools and sandbox the agents, then let a bunch of them work in separate git worktrees pointed at the same branch, then they come back and investigate/compare and contrast what the agents have done, to accelerate their work.

I think there is value in that but it also feels like a lot of very draining work and I imagine long term you're no longer in control of the code base. Which, I mean, great if you're working on a huge code base since you already don't control that...

Welcome to engineering management.

The average quality of software engineering is abysmal, and the average quality of software engineering management is even worse. I'm not very enthusiastic about where this is headed.

tfw people are running agents outside containers

Yeah this something I need to get to.

Apologies. I meant branch. I nuked the branch. But set me back a lot of time as I thought it may be few things here and there.

I see! That is annoying. A good reminder to push or fork the branch for backup.

I always set gc.auto=0 for this reason, because it means the reflog will be there if I need it (unless I accidentally delete .git)