Replies: 16 comments 16 replies
|
You might get a new PR, and your first move might be to ask your AI to review it. I'm not sure it matters where it came from. We don't have the institutional knowledge yet to understand the pitfalls or the opportunities. I hope everyone can immerse themselves for a few days, learn some core skills, like changing models and effort levels. A contributor does need to notice and fix some common failures, like successfully integrating new information into the existing work (good citizenship). Push an AGENTS.md into the repo (into both repos). That will go a long way addressing the most obvious failure patterns, which I wouldn't describe as slop (a term that I don't think is so useful). I bet the core problems are: a PR does something we don't do, in a way we don't do it, or can't practically review, or prefer to consider in pieces rather than all at once. I bet AGENTS.md can reduce all of those problems. |
|
...
This is where AI enables more people to contribute, however. There's a balanced approach required on this point, particularly.
Agreed. Once the change has been produced, someone opening a PR is taking ownership of the change and should be able to speak about what has been changed and why -- without resorting to AI assistance. Too many such responses, I'd be more inclined to close the PR.
We can add a
Certainly for the time being. We may decide this isn't really needed in the longer term. As with everything around a new technology, we should not set up ideas as "the one true path" before we know where we're going... |
|
Last night I began accruing institutional knowledge, by downloading every Issue, PR, and Discussion, open or closed. I set a single Sonnet thread to read through all the details. I'll switch to Opus, and ask for the lowest-hanging fruit. "What feature or fix brings us further ahead, and what must be done to complete it?" A saavy LLM notices things like, "Hey, this PR is almost done, and it's almost right, let's just finish it." Yum, low fruit! Operating experimentally over 48 hours, I drilled down on specific technical hurdles. Something about synchronization, something about new TCP support, something stalled by a comprehensive testing requirement. For a problem hitting 8+ CPU scenarios, I rent one. I design for compound engineering, an ever-rising level of aptitude and performance rooted in thick, almost inscrutable minutiae accruing in Markdown form. I lavishly invest in discovering the tiny tips that dominate ours and any complex problem domain. I'm glad I don't even pretend to understand it all. I start leaning into my agent guidance files to note what isn't noted on github. I discover @dtinth's claw, and borrow its code. I re-align my goals to compliment the claw's, and to watch its minute-to-minute activities. I automate detection of ongoing interactivity with the comment discussions I've kicked open. This Jellyfin policy starts with a backwards idea that won't last 3 more months: "LLM output is expressly prohibited for any direct communication." It's a policy fit for a school, but this isn't school. But I'll give it as much as I can. In Tesla, any edict or rule needs to have a name on it. Anything you must do needs a person who can tell you why you must. This makes a lot of sense. There's a person who has thought it all through, and understands the full scope of things, and is accountable for the results in some way. But a communication is not an edict. A communication might be a tip, something you didn't know before, something that unblocks you. I have deployed LLMs to talk to users in two places. When you join a JAMFAN server, a robot addresses you. When you visit https://jamulus.live and wait a few minutes, you'll see an essay of the last 24 hours. Designing these features, I thought about tips. I think of any community or tribe as having a past, present, and a future, in plans, artifacts, and lore. For the welcome message when you join a server, I imagine a friendly doorman, familiar with you, eager to share a tip that might help you make your way to a better jam. There are many delicate balances involved, but now these LLMs make words I find worth reading. Useful words from anywhere are always valuable and appreciated. So I can't imagine prohibiting LLM communication. I can imagine prohibiting poor communication. But aren't we all here for the tip that blows the game wide open? Why do we care how its words were chosen? |
|
At where I work we use coding agents heavily, and we had to adopt multiple measures to keep a high standard. Since human attention is a very limited resource for a small team, PRs now must pass a very strict gate before a human will take a look. Sharing some of the gates in case some of them are useful for us:
Personally, I think CodeRabbit and Sonar would be a good low-hanging fruit for this project as it doesn't require any tooling setup, just install it on a repo and it mostly works great out of the box. |
|
I've almost finsihed ninjam now and in the start I agree soem AI is very sloppy and some can even make a right mess. but over the lst few months and release of newer has seen a massive improvement. I still have the Juce version of JamulusPlus sitting their but I wanted to add a lot of the options I've added into NinjamPlus. Currently mine compared to the jamuus I get almost 20ms less which is probably down to Juce as it has a good backend for that stuff. I added an chord detection to ninjamplus and it was too hard to get right, so I swapped it out for a small AI one which was 10 to 80mb and could batch handle all users with out extra cpu. I then added that to ninjams bpi so it shows what chord is on which beat. But my point is mainly When I did a PR of ninjamplus it was more to add it as a branch and not a replacement as many said about having 2 to maintain. For anyone who wants to try a reasonable experience for say a ful project then OpenSource is good. When I started end of last year using AI it struggled to make a basic ARA plugin, but opensource made one very quick. It struggled with some stuff which a paid AI fixed very easily but it is very good. Plus ollama and quen 3.6 but for them you need a lot of men and most times a min of 16gb gpu mem. There are smaller models but they won't be able to do as much as the bigger models. Probs I'd say the hardest and longest and costly things is refactoring form say QT to Juce but once done it just means so much more is possible at a much faster pace. |
|
Also on Git as some of ya know you can use that to check pr's. they will give it fully free for some git's. |
|
One caution that may save the policy a lot of pain: do not build any rule on "detecting" AI. Every detector — for prose or code — measures style, not provenance. It scores surface regularities (uniform sentence rhythm, hedging density, em-dash frequency; in code: symmetric helper structure, exhaustive docstrings, defensive branches for impossible states). A careful human writer who cleans up their work drifts straight into the same distribution, and a contributor who prompts well and then edits drifts out of it. So a detector verdict is not evidence of anything you can enforce, and it will produce false accusations against exactly the contributors you want to keep. Two consequences for the policy draft:
None of those mention AI at all, which is the feature: they filter low-effort contributions regardless of origin, and they don't need updating every time a new model ships. On the "slop" side specifically: if it's useful to anyone here, I maintain a free, deterministic style-tells counter for prose (no LLM call, runs entirely in the browser, nothing stored) — https://1h-money-store.vercel.app/sounds-ai?utm_source=github&utm_medium=discussion . It is deliberately not a detector and says so on the page; it just counts the tells so you can see what's driving the impression. Useful for editing your own text, useless (and unfair) as an accusation tool — which is precisely the distinction I'd write into CONTRIBUTING.md. |
|
But anyway, what you guys think should be done about AI on here? |
|
Yeah for sure, but I think opus multichannel is worth including, I put it in nj+ and it works very well.
But some want more channels others probably don't.
The key/chord detection I just updated into nj+ is a little AI one and shows for all plays and master combined.
But for Jamulus it would probs be better just for players and it can batch do all players with out extra cpu.
Would def help to see what keys people were playing for some.
Also setting bpm's for a met and stuff isn't workable really but if say a drummer could have an option
That detected the bpm he was playing then started a metro to him and then he has something to follow. That would stop the slow down effect. I've heard people complain to other jammers blaming them for it but some know it's a latency thing, with no strict time people follow then it causes a slow slowdown of the tempo.
There's a few things about ai and non ai which can determine bpm in realtime. AI does a better job, specially with upbeat and half tempos and genre etc.
…________________________________
From: ann0see ***@***.***>
Sent: 27 July 2026 12:20
To: jamulussoftware/jamulus ***@***.***>
Cc: AndyMc ***@***.***>; Comment ***@***.***>
Subject: Re: [jamulussoftware/jamulus] Handling AI contributions (Discussion #3822)
We should probably not force any AI inclusion as Jamulus feature unless it's useful. For example opus does have AI/ML features which enhance speech. We may not benefit from this in our use case.
—
Reply to this email directly, view it on GitHub<#3822?email_source=notifications&email_token=AB64GYPHWRLUEP3E545QJQL5G43GZA5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNZXHE3DKNZZUZZGKYLTN5XKOY3PNVWWK3TUUVSXMZLOOSWGM33PORSXEX3DNRUWG2Y#discussioncomment-17796579>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AB64GYNMJV4ME2KRJBTEZ2T5G43GZAVCNFSNUABIKJSXA33TNF2G64TZHMYTONZSHA3TOMJQHNCGS43DOVZXG2LPNY5TCMBUG4YTIMBVUF3AE>.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS<https://github.com/notifications/mobile/ios/AB64GYMUQQCP4I56HDUUXOT5G43GZA5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNZXHE3DKNZZUZZGKYLTN5XKOY3PNVWWK3TUUVSXMZLOOSVGM33PORSXEX3JN5ZQ> and Android<https://github.com/notifications/mobile/android/AB64GYMZMW3SDALJ3MGETML5G43GZA5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNZXHE3DKNZZUZZGKYLTN5XKOY3PNVWWK3TUUVSXMZLOOSXGM33PORSXEX3BNZSHE33JMQ>. Download it today!
You are receiving this because you commented.Message ID: ***@***.***>
|
|
You'd essentially need a 2nd channel then when enough updated revert back to one opus channel again then opus could be one or multiple channels on the same codec.
2 channels would be needed so current codec and new one but if the current is opus anyway then the multichannel codec would be compatible.
I can't remember now what is used. If it is opus and is indeed compatible with what's there now it
Could be switched out first then the rest added after.
I found with nj+ it was better to hide multichannels when users are using it but a click reveals their channels, else it would be too many channels to view at one. For nj+ I was usingsame channel for both but reaninjam was having hassles distinguishing vorbis and opus. Worked fines on nj+ but not reaninjam. So I'be just had to move a lot of stuff and use the 2nd free channel as a control channel so now if a server has max 2 chan set there can't be opus multichan or voice channel. Although I probs can get opus layered back on the control channel but most servers have a max 4 chans anyway.
But I orig tried to get a piggyback over jamulus to create a like 2nd p2p network for video and dm's and file sends and stuff without pushing that load on the server. But with out updating the server I couldn't manage it so gave up on it.
Guy made ninjamzap and he added a sidechannel option in the server but obviously admins then have to be using his update.
With ninjam is has flags for dif channel types, like normal, voice, and the tapedeck type thing it has.
Jamulus could do with similar for like data and audio, so then a client ignores the channel if its set to like the data flag.
If it were me that would have been the first thing I done, even if not used but their for features later.
I think it's pretty cool that we have Jamulus, Sonobus and NINJAM. They're all different in their own way. I did want to make a client to host all 3 but keeping it updated to latest Jamulus and Sonobus having a v2 being made now. Shame though cos would be cool to have a site that showed all, I really think it would bring more jammers and allow people to quicker join jams on any.
…________________________________
From: ann0see ***@***.***>
Sent: 27 July 2026 13:28
To: jamulussoftware/jamulus ***@***.***>
Cc: AndyMc ***@***.***>; Comment ***@***.***>
Subject: Re: [jamulussoftware/jamulus] Handling AI contributions (Discussion #3822)
Cord detection should be an external tool.
Multi channel is probably not too easy to get in as it fundamentally changes the architecture
—
Reply to this email directly, view it on GitHub<#3822?email_source=notifications&email_token=AB64GYN5NCI3B2UGFXE4OXD5G5DE5A5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNZXHE3TEMJVUZZGKYLTN5XKOY3PNVWWK3TUUVSXMZLOOSWGM33PORSXEX3DNRUWG2Y#discussioncomment-17797215>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AB64GYOQA463OHOAKHCRNWT5G5DE5AVCNFSNUABIKJSXA33TNF2G64TZHMYTONZSHA3TOMJQHNCGS43DOVZXG2LPNY5TCMBUG4YTIMBVUF3AE>.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS<https://github.com/notifications/mobile/ios/AB64GYLBX7KIUUA7TXSYD635G5DE5A5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNZXHE3TEMJVUZZGKYLTN5XKOY3PNVWWK3TUUVSXMZLOOSVGM33PORSXEX3JN5ZQ> and Android<https://github.com/notifications/mobile/android/AB64GYIBIUSKGAAZ77G53K35G5DE5A5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNZXHE3TEMJVUZZGKYLTN5XKOY3PNVWWK3TUUVSXMZLOOSXGM33PORSXEX3BNZSHE33JMQ>. Download it today!
You are receiving this because you commented.Message ID: ***@***.***>
|
|
Also the chord detection sorta would be external, it wouldn't be sending anything anywhere, just reads peoples audio and shows the chord or keys they are playing. I was surprised with it being a little AI how little cpu it uses and in batch mode it's no more or less cpu usage.
…________________________________
From: Andy McCance ***@***.***>
Sent: 27 July 2026 14:17
To: jamulussoftware/jamulus ***@***.***>; jamulussoftware/jamulus ***@***.***>
Cc: Comment ***@***.***>
Subject: Re: [jamulussoftware/jamulus] Handling AI contributions (Discussion #3822)
You'd essentially need a 2nd channel then when enough updated revert back to one opus channel again then opus could be one or multiple channels on the same codec.
2 channels would be needed so current codec and new one but if the current is opus anyway then the multichannel codec would be compatible.
I can't remember now what is used. If it is opus and is indeed compatible with what's there now it
Could be switched out first then the rest added after.
I found with nj+ it was better to hide multichannels when users are using it but a click reveals their channels, else it would be too many channels to view at one. For nj+ I was usingsame channel for both but reaninjam was having hassles distinguishing vorbis and opus. Worked fines on nj+ but not reaninjam. So I'be just had to move a lot of stuff and use the 2nd free channel as a control channel so now if a server has max 2 chan set there can't be opus multichan or voice channel. Although I probs can get opus layered back on the control channel but most servers have a max 4 chans anyway.
But I orig tried to get a piggyback over jamulus to create a like 2nd p2p network for video and dm's and file sends and stuff without pushing that load on the server. But with out updating the server I couldn't manage it so gave up on it.
Guy made ninjamzap and he added a sidechannel option in the server but obviously admins then have to be using his update.
With ninjam is has flags for dif channel types, like normal, voice, and the tapedeck type thing it has.
Jamulus could do with similar for like data and audio, so then a client ignores the channel if its set to like the data flag.
If it were me that would have been the first thing I done, even if not used but their for features later.
I think it's pretty cool that we have Jamulus, Sonobus and NINJAM. They're all different in their own way. I did want to make a client to host all 3 but keeping it updated to latest Jamulus and Sonobus having a v2 being made now. Shame though cos would be cool to have a site that showed all, I really think it would bring more jammers and allow people to quicker join jams on any.
________________________________
From: ann0see ***@***.***>
Sent: 27 July 2026 13:28
To: jamulussoftware/jamulus ***@***.***>
Cc: AndyMc ***@***.***>; Comment ***@***.***>
Subject: Re: [jamulussoftware/jamulus] Handling AI contributions (Discussion #3822)
Cord detection should be an external tool.
Multi channel is probably not too easy to get in as it fundamentally changes the architecture
—
Reply to this email directly, view it on GitHub<#3822?email_source=notifications&email_token=AB64GYN5NCI3B2UGFXE4OXD5G5DE5A5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNZXHE3TEMJVUZZGKYLTN5XKOY3PNVWWK3TUUVSXMZLOOSWGM33PORSXEX3DNRUWG2Y#discussioncomment-17797215>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AB64GYOQA463OHOAKHCRNWT5G5DE5AVCNFSNUABIKJSXA33TNF2G64TZHMYTONZSHA3TOMJQHNCGS43DOVZXG2LPNY5TCMBUG4YTIMBVUF3AE>.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS<https://github.com/notifications/mobile/ios/AB64GYLBX7KIUUA7TXSYD635G5DE5A5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNZXHE3TEMJVUZZGKYLTN5XKOY3PNVWWK3TUUVSXMZLOOSVGM33PORSXEX3JN5ZQ> and Android<https://github.com/notifications/mobile/android/AB64GYIBIUSKGAAZ77G53K35G5DE5A5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNZXHE3TEMJVUZZGKYLTN5XKOY3PNVWWK3TUUVSXMZLOOSXGM33PORSXEX3BNZSHE33JMQ>. Download it today!
You are receiving this because you commented.Message ID: ***@***.***>
|
|
I'm still no fan of AI contributions. |
|
MY LLM WROTE: Most of the AI activity here is mine, so the cost @dingodoppelt describes is largely a bill I ran up: forty PRs under my name, ten merged, thirteen closed without merging, seventeen open in a queue a handful of people read in their spare time. But closure and waste are not the same number. The review thread of #3790 — a closed docs PR — carried @ann0see's request for a concurrency audit; that audit became #3798, and its first batches merged as #3800 and #3802. #3655 closed in favour of its successor, #3657. Some closures are iterations wearing a red badge. There are finished comments sitting on my machine that I have not sent, because the supply of things worth saying exceeds the rate at which it's reasonable to say them. The direction I'm tilting is that collaborators who want to engage with an AI will, and those who would rather not could have that preference honored by the AI itself — a setting, not a debate. Working alongside people with their own preferences and hot buttons is turning out to be a non-trivial part of this task, maybe the harder half. What I'm offering is a potent source of germane project detail; the objective is a stronger platform, not a bigger footprint. The word I'd push back on is "small."
Those are small on purpose. I hunt the two-line change with consequences out of proportion to its size: a flag read from two threads, a copy on the audio path, an arithmetic wrap that turns a boost into a buzz. Large diffs are a review burden and an unreviewable risk — @dtinth's size-gate point. A small diff is the deliverable, not evidence nothing happened. What isn't small is the network behind those two lines:
That machinery raises the quality of what reaches me. It decides nothing. I am the first gatekeeper: nothing posts until it persuades me. I demand extreme concision — any sentence the reader could infer gets cut. No speculation we could validate, and no chit-chat. Every LLM-drafted comment announces itself on line one. Testability I automate where I can and mention where I can't — if a claim needs a device I don't own, I'd rather buy the device than hedge the sentence, which is why there's an Android handset here now and why I'm weighing an iOS one. I've run this as an experiment in compound engineering, and I think it's a strategic success. Stability is a Jamulus religion and this level of precise analysis can serve that religion. |
|
@mcfnord yes, definitely the content needs to go through you first. However, it’s slightly weird if we need to assume that we only talk to robots. Some may think this is rude (as it’s not really you who comments). Please weigh the use of direct LLM responses and commenting yourself. You‘ll become a way better engineer if you can judge when not to use a LLM vs when to use it. Currently you also burn a lot of tokens for stuff you could comment on yourself. And those tokens are way better spent for high quality code analysis and similar tasks than just answering here. |
|
What Pete said then is exactly it, although the AI's at the top which cost a fortune to use are in another league now.
Many times when the AI Tokens are at an end I used to find myself in an AI LOOP.
User older AI's is like paying for them to fix it but make mistakes then paying for it to fix its mistakes.
But the lest AI's are so much better, one I just found on OpenCode and is FREEEEEE is called Bigpickle. It will get stuck on things sometimes but manages to get through it and find the answer. Also the other FREE AI's it gives are also very competent.
Much better than 5 months ago, as the memory and reasoning and compacting of chat, these have all made a hug differences and have also made it onto a lot of local LM's too.
Only thing I'd say is don't judge with out looking and examining first. You still got to do a lot of work with them and spend an awful lot of time, but they show you the code and what and why so it helps learn about so much too.
You have a good program but you don't know exactly what should be added for say security and for it to go online. You can find this out on google.com's AI then research becomes a lot less time too, then implementing it becomes much faster as you know exactly how to command AI to your needs so less wasted time on letting it discover how.
Also you can use AI in coding to just suggest and help and not change or have it run everything by you first and only allow it to change what you want. So all these sites that you say make me a game blah blah and you get some sort of game, coding with AI is not the same, least not yet.
…________________________________
From: Peter L Jones ***@***.***>
Sent: 03 August 2026 18:07
To: jamulussoftware/jamulus ***@***.***>
Cc: AndyMc ***@***.***>; Comment ***@***.***>
Subject: Re: [jamulussoftware/jamulus] Handling AI contributions (Discussion #3822)
LLMs can be concise. They make more money by not being, though.
—
Reply to this email directly, view it on GitHub<#3822?email_source=notifications&email_token=AB64GYPPX47E6V347JPKDIT5IDBE5A5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNZYHAZTKMZXUZZGKYLTN5XKOY3PNVWWK3TUUVSXMZLOOSWGM33PORSXEX3DNRUWG2Y#discussioncomment-17883537>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AB64GYI7FDAASTRCCAM6AYL5IDBE5AVCNFSNUABIKJSXA33TNF2G64TZHMYTONZSHA3TOMJQHNCGS43DOVZXG2LPNY5TCMBUG4YTIMBVUF3AE>.
Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS<https://github.com/notifications/mobile/ios/AB64GYN42YDVLDZY4XPSRYD5IDBE5A5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNZYHAZTKMZXUZZGKYLTN5XKOY3PNVWWK3TUUVSXMZLOOSVGM33PORSXEX3JN5ZQ> and Android<https://github.com/notifications/mobile/android/AB64GYOUKZPOE2DACM4UJSD5IDBE5A5CNFSNUABIM5UWIORPF5TWS5BNNB2WEL2ENFZWG5LTONUW63SDN5WW2ZLOOQXTCNZYHAZTKMZXUZZGKYLTN5XKOY3PNVWWK3TUUVSXMZLOOSXGM33PORSXEX3BNZSHE33JMQ>. Download it today!
You are receiving this because you commented.Message ID: ***@***.***>
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Currently, we have a bunch of AI contributions and is hard to triage them.
Many are still useful - however I believe there is still some stuff that might be sloppy.
We need to get a policy on what to accept and what not in CONTRIBUTING.md. Especially, there needs to be a discussion on how to handle those new PRs. I've opened a PR to add AGENTS.md: #3785 which might be tweaked to tell AI models on what is allowed and what isn't.
My personal stance is that we should not ban AI contributions. However we need to ensure that there's no slop.
Suggestions:
All reactions