Monday, 2026-04-13

opendevreviewMichal Nasiadka proposed openstack/project-config master: propose-updates: Add pcu target  https://review.opendev.org/c/openstack/project-config/+/97856612:39
opendevreviewMichal Nasiadka proposed openstack/project-config master: propose-updates: Add pcu target  https://review.opendev.org/c/openstack/project-config/+/97856612:58
opendevreviewMichal Nasiadka proposed openstack/project-config master: propose-updates: Add pcu target  https://review.opendev.org/c/openstack/project-config/+/97856613:06
opendevreviewMerged openstack/project-config master: Stop Venus gating  https://review.opendev.org/c/openstack/project-config/+/98194413:23
clarkbsean-k-mooney: Gerrit 3.13 (we just upgraded to 3.12 so aren't affected yet) adds a "Create AI Review Prompt" button to change pages. YOu can see it here: https://gerrit-review.googlesource.com/c/git-repohooks/+/572507 You can click on that without logging in and it pops up the little window with details including a suggested prompt. I don't think you need to do anything17:35
clarkbabout this and this is discussion upstream on the mailing list about making this more opt in. But I thought you might be interested to compare and contrast with the setup you've been using so figured I'd mention it17:35
sean-k-mooneyi noticed that 3.12 seams ot have chagned a bunch fo fonts and minor ui things17:40
sean-k-mooneyactive si now? yellow17:40
sean-k-mooneyi think it was green before17:40
sean-k-mooneywe also now seam to have the check ui17:41
sean-k-mooneyinstead fo the findign one17:41
sean-k-mooneyoh that on that thidparty one17:41
sean-k-mooneyon our one we are still usign the zuul summary plugin17:41
sean-k-mooneyalthoguh active is now yellow on that too17:41
sean-k-mooneyclarkb: so this just provide a prompt you can run locally17:42
sean-k-mooneyis that somethign you can configure diffeently per project in gerrit17:43
sean-k-mooneythe current promps are not greate and proably not somehtign we woudl want to enable17:45
sean-k-mooneythe main thing i will say about the review promet is its very short and does nto include any project convetions or guidence so its likely not going to provide good output as a result17:46
fungimaybe it's tunable/customizable via acls17:50
fungior could be made so in a future version if now17:50
fungiif not17:50
sean-k-mooneywhat i think i would like us to  do inthe next year or two is crate a comuity mainted agent-tools repo or simlar and provide a review skill (liek the one inmy repo) taht could be used if folks want to do "review the openstack way" locally with an llm17:52
sean-k-mooneysomethign that woudl know where to look in openstack code repos for review guedance, docs and  convetniosn to apply17:52
sean-k-mooneybut i think we are going to need to continue to build expirce with usign tools in this way before we will have somethign to share with contibutors in general17:53
clarkbsean-k-mooney: yes lots of minor UI tweaks but I don't thik anything drastically changed in 3.12. We also don't have the check UI. I linked to the upstream gerrit so you could see the prompt stuff which is not yet in our gerrit and they use checks17:54
clarkband no I don't think much of that is tunable. The new discussion on their mailing list has been prompted by a deployment that does not allow any ai at all and wants to turn it off17:54
sean-k-mooneyya the checks ui mirror githubs checks ui which kind fo sucks but it is what peopel are familar with17:55
sean-k-mooneyclarkb: ya for now i would proably default to off as well17:55
clarkband I don't know how much of that will end up being configurable before we upgrade to 3.13. Well you can't even default it to off17:55
clarkbwe don't have it because 3.12 doesn't support it17:55
sean-k-mooneyack is it at least a plugin or did they put it in the core17:56
clarkbI think it is in core. But that is ag ood question. If they did it as a plugin then ya we could just avoid installing that. Let me do more digging17:56
sean-k-mooneyack. i know they had a few attepts to add llm reivews via plugins17:56
clarkbit is in core https://gerrit.googlesource.com/gerrit/+/refs/tags/v3.13.5/polygerrit-ui/app/elements/change/gr-change-summary/gr-change-summary.ts#567 but there is that check for aiPromptModal so maybe you need a plugin to define that? I'm still digging17:58
sean-k-mooneyhttps://paste.opendev.org/show/bCNmVaMiG02cMMq9OFoy/ is there review promt in its entirity - the inline patch diff17:59
clarkbhttps://gerrit.googlesource.com/gerrit/+/refs/tags/v3.13.5/polygerrit-ui/app/elements/change/gr-ai-prompt-dialog/prompts.ts they seem to have hardcoded the template into the ts soruce even18:00
clarkbso ya I dont' think this is currently configurable at all18:01
sean-k-mooneyso 36 lines, claudes building review skill is ~ 100 lines https://github.com/anthropics/claude-code/blob/main/plugins/code-review/commands/code-review.md and mine is curently about 800 althoug i can shorten that a bit and will in the future18:01
clarkblike you can't even change the prompt text18:01
sean-k-mooneyclarkb: it also does nto ahve a id... so youc ant easilly hide it with javascript or css18:01
clarkbhttps://gerrit.googlesource.com/gerrit/+/refs/tags/v3.13.5/polygerrit-ui/app/elements/change/gr-ai-prompt-dialog/gr-ai-prompt-dialog.ts#33 I was hoping they would load it from config or check config but no its just hardcoded I think18:01
clarkbso we'll see where this discussion taht was started today goes18:02
clarkbhttps://gerrit-review.googlesource.com/c/gerrit/+/479041 this is the change that dded it which does say there is a flag you can set. But I don't see that in the code. I'm digging more18:03
sean-k-mooneyGET_AI_PROMPT experimntal flag18:04
sean-k-mooneybut that https://gerrit-review.googlesource.com/c/gerrit/+/479041/5/polygerrit-ui/app/services/flags/flags.ts18:04
sean-k-mooneybut i asume that will go away18:04
clarkbit was a two month long experiment: they removed the flag here: https://gerrit-review.googlesource.com/c/gerrit/+/510984/5/polygerrit-ui/app/elements/change/gr-change-summary/gr-change-summary.ts18:05
sean-k-mooneyGET_AI_FIX = 'UiFeature__get_ai_fix',18:05
sean-k-mooneytaht could also be problematic18:05
clarkbso that experiment didn't even go out for one release18:05
clarkbI think we can make an argument that experiments shouldn't be that short and not even last for a single release18:05
clarkbI'll work on a response to the mailing list18:05
sean-k-mooneyack, i think if this is to be a thing it need to be opt in and the prompt need to be configureabl at least at the site level but idealy at the project level simialr to the acls18:06
clarkbyes I think project level is important beacuse each project can have different appraoches to the use of AI and also the way they want to prompt llms for reviews18:07
fungiexperimenting on deployments that continuously deploy from the bleeding edge of the development branch, essentially18:07
fungii agree wrt project level control and tuning as previously mentioned, since gerrit is often used in multi-tenant environments18:08
sean-k-mooneyya kata and openstack ro zuul may have very diffent approches18:09
sean-k-mooneypersonally i dont think diff based reivew si good ro useful18:09
sean-k-mooneytaht why i build my stuff to work on teh git repo level18:10
sean-k-mooneyso it can fully exproe the git tree for context18:10
sean-k-mooneyhaving a prompt that inlines the diff that you copy past is very chatgpt 2023 vibes18:11
clarkbhttps://groups.google.com/g/repo-discuss/c/duY8pKj3qBg/m/wIp2BTNmBwAJ this is the response I sent18:15
sean-k-mooneyi get the desire to supprot this since github/gitlab ectra have integration for diffent review services18:18
sean-k-mooneybut they all make it confiugable per project/namespace18:19
sean-k-mooneyso not supproting that seems like a big miss18:19
clarkbyes I think supporting it makes total sense. but when you add features like this you add documentation, you add the ability to enable/disable it, and you make the templates configurable. Gerrit already does this for 99% of the stuff they add18:19
sean-k-mooneyespiclaly given hwo well gerrit genrally suprpot that18:19
clarkbit feels like they rushed this and didn't worry about the larger gerrit community (when designing it and when ensuring it could be used by anyone else)18:19
fungiright, seems like an outlier to me18:19
clarkbI'm hoping my email is sort of a clear "this is the sort of thing that the rest of us expect" outline for new features. I have nothing against the feature. Its just surprising how underbaked it appears18:20
fungithe cynic in me thinks like smells like something that baked for a while inside a company and then got copied to the public version of the project after having been used by a monocultural organization without complaint18:21
fungiso per-project configurability wasn't even on their minds18:21
sean-k-mooneymaybe but the prompts seem rather lack luster18:22
clarkbwhich is a non issue if  they allow them to be configurable18:22
clarkbthen we can all have our own lackluster prompts :)18:22
JayFThe built-in prompts ... yeah what sean-k-mooney just said18:26
JayFthose prompts are surprisingly bad to not be customizable lol18:26
sean-k-mooneythe main proble is whil it ask "**Consistency:** Are there any inconsistencies with existing code or design patterns?" or "* **Style:** Does the code adhere to the project's coding style guidelines? Is it readable and maintainable?" 18:29
sean-k-mooneysince it intende that you inlien the patch and then past this into an agent18:30
sean-k-mooneyunless you first checkout the repo with the chagnes applied18:30
sean-k-mooneyit cant asnswer that form the diff alone18:30
sean-k-mooneyso if you jsut past the promt it provide into say chatgpt ro calude.ai's web interface it will not be able to revew properly18:31
clarkbright the risk is that it will be treated as an attractive nuisance producing poorly conceived -1 reviews from people who don't know better18:34
clarkbI think if we upgraded to 3.13 today and got that feature then the core reviewers could learn to just ignore it. The problem is people who are less familiar with Gerrit and use it infrequently and see it as an easy way t obe helpful. Not the end of the world, but definitely a likely source of issues18:34
fungii can be helpful by clicking this button that it looks like nobody else has clicked yet18:35
sean-k-mooneywell at least its opt in18:36
clarkbsean-k-mooney: no it isn't18:36
clarkbthats the problem18:36
clarkbit isn't even opt out18:36
clarkbit is just there with its hardcoded templates as far as I can tell18:36
sean-k-mooneywell what i mean is its not auto runnitn the prompt and adding a comment with that promt18:36
fungioh look! halfbakedai says god uses three-space indents18:36
clarkbsean-k-mooney: oh right a human does need to take action to post the resulting comments18:36
clarkbyes, that does mitigate a lot of the problems18:37
sean-k-mooneywell that and its not makeint it even more proment18:37
sean-k-mooneylike advertising it in the email notifications ectra18:37
sean-k-mooneyjira keesp telling me `Hint: You can mention someone in a work item description or comment by typing  "@" in front of their username`18:38
sean-k-mooneyand im like i know i didnt use the @ becuase i dont want to ping them18:38
fungiit's clippy all over again18:39
clarkboh I hate when software nags you to use the new feature you are intentiaonlly avopiding18:39
clarkbslack does this now18:39
fungiit looks like you're trying to file a bug...18:39
clarkbI never liked slack anyway but now I'm like wow18:39
sean-k-mooneyfungi: maybe clippy was just ahead of its time18:40
fungimicrosoft bob taught clippy everything it knows18:40
JayFHonestly the shape of this feature feels like someone half-implementing something upstream18:42
JayFso they can do something more invasive downstream with less annoying rebases18:42
fungiyes, it helps to remember that gerrit is used internally by a lot of teams in google18:43
clarkbin this case I think the upstream is the downstream (google seems to have dev'd it and I think they run the web ui as is)18:43
clarkbthey replace a lot of stuff using dependency injections but I think the UI is used as is at least for the public facing projects like chromium18:43
JayFfungi: I know, that's sorta what I was thinking18:43
JayFalso with Sean and I being like "what bad prompts", I don't think either of us use much gemini18:43
JayFso it may just be optimized for googly people18:44
fungithat's what i was getting at earlier with the feature seeming like it came from earlier testing in a monoculture18:44
sean-k-mooneywell gemini prefers both claudes adn my review prompt over gerrit18:44
sean-k-mooneyJayF: i use it for email spellcheck adn thats about it18:44
sean-k-mooneyi ocationally try it for other thigns but we only have access to it via google workspace so no coding agants18:45
fungithe prompt text may be a baked-in placeholder/example that they didn't bother to add tuning for because they patch it themselves in their own deployment18:45
clarkboh ya that could be18:45
clarkbI bet that is what is happening18:45
clarkband maybe my read that you can't configure the templates like email is wrong too18:45
sean-k-mooneythey appreaed to just be typesciprt "contatns"18:46
sean-k-mooneybut maybe there is a way to orverried in a later patch18:46
JayFRackspace may have gotten IRonic to add a rescue interface a good release before the overall design was ready18:46
sean-k-mooneythose could eb the defaults18:46
JayFsometime back in 2015 :D 18:46
JayFfor this basic reason18:46
clarkbsean-k-mooney: ya my git grep for `IMPROVE_COMMIT_MESSAGE` doesn't show it popping up anywhere that looks like a use this as a default. It just uses it. But bazel and ts and all that are not tools I use every day so there may be some magic involved that enables this18:48
clarkbJayF: wait until you learn about the glance image import tasks api18:48
clarkbsomething that was added and quite literally never finished. but we're still using it every day in opendev18:49
fungieveryone on the vmt is (i think) painfully aware of the glance tasks api^H^H^Hfiasco18:49
sean-k-mooneyclarkb: well its typescript/javascript so you can alwasy edit it in the console fi you want i guess :P18:51
sean-k-mooneywe coudl add a tiny plugin to sed them but ya lets see if they respodn to your mail18:51
sean-k-mooneywhat really gets me is there prompt dont even include a refence to the gerrit chagne under review18:53
sean-k-mooneyif you just give an agent that its able to fetch the review contxt form the rest api18:53
JayFthis is why I assumed it's an empty vessel that a downstream poured a feature into18:53
JayFbecause otherwise it's a dumb feature, frankly18:53
JayFmaybe someone got "AI synergies with open source gerrit" on their review and got an extra .5% raise for it18:54
fungiclearly i'm in the wrong line of work! ;)19:00
fungigranted, they *do* have to code in java, that merits hazard pay19:01
sean-k-mooneyapprely "new" java is less terrible but ya i kind of treeat java, javascript and perl as write only lanagues19:04
sean-k-mooneybecuase ocne anything is written in them you never want to need to read it again19:04
clarkbimo java is more than fine19:04
clarkbthe thing that makes java annoying is everyoen thinks you need a giant IDE to write java. You don't I'm in the vim, jdb, and bazelisk gang here when doing gerritstuff19:05
sean-k-mooneythe bit that use to annoy me was the maven vs gradel switch and ya eclipse but netbeans and intellj were fine19:06
fungiany time i touch a large java project, it's a spaghetti mess of cross-referential files with one class each, overloaded by type19:06
fungihard to keep all the context in my head19:06
clarkbyes the layout of java projects hasn't chagned much. New java is more about adding other quality of life improvements liek anonymous functiosn and filters and such19:06
clarkbso the code you write doesn't have to be quite so verbose. but you still end up with a class per file typically 19:07
clarkbalso they made massive improvements to the runtime and things like garbage collection19:08
fungii may be part of the problem. i'm more comfortable in scripting languages where i can typically get away with loading a single file at a time into my editor19:08
clarkbbig stop the world collections are largely a thing of the past19:08
sean-k-mooneyclarkb: so the most recent expicnce i had with it was minecraft moding about 4--5 years ago and ya the changes to the garbage collector broke a lot of things but also make the runtime much leaner19:09
sean-k-mooneya lot of that was driven by scala and kotlin devleopemt too19:09
sean-k-mooneyits become a "modern" language with corrtiens and lamdas you know all the best 70s tech19:10
fungimodern like lisp19:11
sean-k-mooneyfungi: for what its worth for the first 4-5 years of contibuting to openstack i basiclly jsut used nano19:11
fungii still do all my coding in vi/vim/neovim19:11
sean-k-mooneyunless i nded to debug somethign then i used intelej/pycharm and went back to print debuging when evently woudl break that19:11
sean-k-mooneyso its one of the thing im both excited and dreading with the eventlet remvoeal19:12
sean-k-mooneyinteory a debugger is not a thing we can use again19:12
sean-k-mooneyi just knwo if i need ot reach for ti im debuging somethign annorying19:12
fungibecause eventlet breaks pdb?19:12
sean-k-mooneyeventlet breaks breakpoint19:13
fungiyuck19:13
sean-k-mooneyso ya you cant singel step debug19:13
sean-k-mooneyyou could set a break poitn and then run till you hit it but condtional breakporint used to not work reliable either19:13
fungii wonder how well that works with he more recent threading models in cpython19:13
sean-k-mooneythat used to work jsut fine. i used to jsut comment out eventlet monkey patching if i neede a debuger19:14
fungilike i have no idea if breakpoints even work reliably with asyncio19:14
sean-k-mooneythe proble was you woudl break other thing as a result fo that19:14
sean-k-mooneyfungi: that i dont knwo i have not tired it but most openstack proejct are not using asyncio currently19:14
sean-k-mooneyi woudl have ot assume that eaiser to supprot since its in the standar lib19:15
fungiyeah, i just meant more generally, not in an openstack context19:15
fungii don't do a lot of thread-aware programming19:15
sean-k-mooneylike i know gdb can handel c++ (llvms) corutines fine19:15
fungito be honest, multithreading still confuses me at times. i have to think of it in terms of distributed multiprocessing and message-passing routines i'm familiar with (pvm/mpi/mpich)19:16
sean-k-mooneyto be fair if we worte our concurancy in those terms it woudl likely be more robust in general19:17
fungimore robust but probably spinlocking on semaphores and mutexes19:18
sean-k-mooneywell we have those anyway19:18
sean-k-mooneythe way nova used evnetlet they were basicly treated as threads. so we have lot of of locks around in memory data sturctes19:19
sean-k-mooneybaiclly we had to treat all shared sate as if it was in a pthread anyway before we started on the eventlet removal19:19
fungidiscussions about newer concurrency models seem to be in terms of "function colo(u)ring" which i still don't grok19:20
sean-k-mooneybecailly because every io like ever log call could context switch19:20
sean-k-mooneyfungi: well that bacilly because of python19:20
fungii guess log calls aren't just dumping into a queye for a separate stream writer19:21
sean-k-mooneyi.e. in python an async function can call a normal funciton but not the other way around19:21
sean-k-mooneyso in python at least if you provide a async def api your forcing all the caller of that api into that world and effectivly you have 2 types or colors of fucntions19:22
sean-k-mooneythe async world and everythign else19:22
sean-k-mooneythat not hwo many  other languages work19:22
fungiah okay, so very python-specific terminology then19:23
sean-k-mooneypython was the first popular lange to have that device adn a few other inheritied after19:23
sean-k-mooneybut other learned form the mistake and avoid that expliclty19:23
fungii mostly see it brought up in contrast to concepts like golang's "goroutines" (which is their coroutine implementation i guess)19:24
sean-k-mooneyya so in go you write a function and then the caller etier calls it direction or put the "go" statemet infront of it and makes it async with a future returned19:24
sean-k-mooneyso the lanauge runtime allwos the caller to decied if it shoudl be a blockign call or not19:25
sean-k-mooneythere are other aspect to that 19:25
fungiwhich i suppose could be more error-prone as a result19:25
sean-k-mooneybut that kind of the main one a fucntion is not sync or async based on itd defintion its a chosice of the caller19:25
sean-k-mooneywell if you as the lib writer had one assumtion and the caller had anohter it could lead to odd behvior19:26
sean-k-mooneythe asusmetion with go is its cheap to span many go rutiones and they will comunccte with channels19:26
sean-k-mooneywhich are just queue19:27
sean-k-mooneyso if your fucntion is actully expensive and you create 1000 isntnace of it :)19:27
opendevreviewMerged openstack/project-config master: Bump jeepyb gerrit jobs up to gerrit 3.12  https://review.opendev.org/c/openstack/project-config/+/98347519:33
*** bauzas1 is now known as bauzas22:40

Generated by irclog2html.py 4.1.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!