Why's that? I'm not really interested in adding something like that to my 
patches.

On Thu, Sep 24, 2026, at 6:21 PM, Caleb Rackliffe wrote:
> Regardless of what we end up moving forward with, I think we need to use 
> "Assisted-by" just like we use "Co-authored-by".
> 
> On Thu, Sep 24, 2026 at 7:59 PM Jane H <[email protected]> wrote:
>> I've been reviewing AI-assisted PRs from new contributors lately.
>> 
>> The main concern I see is that: committers' review is already the bottleneck 
>> of our delivery speed, but LLM-assisted PRs can make PR review significantly 
>> harder, therefore put even more load on reviewers. Without clear policy, 
>> guidance, and aligned expectations from the community, I worry that 
>> increased use of AI can make our delivery speed slower rather than faster.
>> 
>> Sharing several challenges I met when reviewing AI-assisted PRs recently:
>> 
>>  1. How do we put the principle that "contributors are responsible for the 
>> code they submit" into practice?
>>    1. How does a contributor know they indeed understand every line of code 
>> in their PR? This can be harder than it sounds. Imagine a new contributor 
>> who vibe-codes a PR, reads through every line, feels that the code makes 
>> sense, and it passes several AI review tools. Is that enough? I'd say no. 
>> For example, if this PR involves sending a new message to a client, then I 
>> think a client and server setup for end-to-end manual testing is needed. If 
>> a PR adds a metric, then I think spinning up a cluster and watching the 
>> metric changes is needed. Such knowledge isn't necessarily straightforward 
>> to new-comers.
>>      1. I think formal guidance on how to verify (e.g. testing env setup) 
>> and what needs to be verified will be helpful.
>>    2. If a reviewer suspects that a contributor does not actually understand 
>> their code, what should this reviewer do? In my own experience, I point out 
>> what's wrong in the code, but I don't think it is helpful to simply blame 
>> the contributor for not understanding their submission. In most cases, I 
>> don't have strong evidence that a mistake came from AI-generated code and 
>> from the contributor failing to review it carefully. Human-written code can 
>> make similar mistakes too. And even if I know for sure it's from AI 
>> assistance, what should I do?
>>    3. As PR review is async, sometimes a PR review will go straight to 
>> contributors' claude. For example, if I ask, “Did you try testing against 
>> X?”, and the contributor asks claude to test against X then responds, “Yes, 
>> I tried it and it works,” I may trust them and approve the PR. But what if 
>> that answer turns out to be claude's hallucination? How should 
>> responsibility work in that situation?
>>  2. More load on reviewers, more load on verification. Because I don't 
>> currently know how the contributor's responsibility can be enforced in 
>> practice, when I see a PR with LLM content, I have less confidence that the 
>> PR is validated by human. In my own experience, I've had to ask contributors 
>> how they've tested and why they think it's working, and tell them what 
>> manual testing is needed. Often times I need to perform those tests by 
>> myself instead, some are tests that I might not have needed to perform in 
>> the same way in pre-AI era. Therefore I propose:
>>    1. Formal guidance on verification, as mentioned above.
>>    2. A PR template section that asks contributors to explain what testing 
>> they've done beyond the unit tests and integration tests included in the PR.
>>    3. Disclosure of AI assistance, including which parts of the PR were 
>> AI-assisted.
>>  3. Potentially misaligned expectation of delivery speed. Consider a 
>> situation where someone comes to me with a new feature consisting of 
>> hundreds of new files generated by LLM in a day saying they verified it and 
>> asks for a review. What am I supposed to do? In my humble opinion, reviewers 
>> should still review line-by-line, and as long as this holds true, the high 
>> productivity of AI can never translate to the high delivery speed as people 
>> wish. Various AI PR review tools can only help a bit but never resolve the 
>> fundamental problem. I'm very open to different opinions here, but I hope 
>> the community can align expectations.
>> Overall, I think LLM is NOT just "another tool". None of previous tools like 
>> IntelliJ has caused the above challenges. We have real problems to solve 
>> here, and I think we would benefit from aligned expectation and guidance, in 
>> addition to policies.
>> 
>> 
>> 
>> Jane He
>> 
>> 
>> On Thu, Sep 24, 2026 at 5:40 PM Caleb Rackliffe <[email protected]> 
>> wrote:
>>> Blake, I’d support those 3 guidelines.
>>> 
>>> One hostile reaction to them would, I’m guessing, be that guideline number 
>>> 1 is too weak, and that the burden of quality would continue to rest 
>>> entirely on committer reviewers. I suppose my reply there would be that 
>>> anyone who continually spams the project with patches they do not fully 
>>> understand wound incur a pretty heavy reputational penalty and the problem 
>>> would more or less sort itself out.
>>> 
>>> 
>>> > On Sep 24, 2026, at 6:07 PM, Benedict Elliott Smith <[email protected]> 
>>> > wrote:
>>> > 
>>> > For the record Josh, I am including pre-3.0. I was involved in customer 
>>> > support escalations for 1.2, 2.0 and 2.1: the software was shoddy, to put 
>>> > it mildly. 8099 was a symptom, not the disease.
>>> > 
>>> > The project had a culture of doing stuff without sufficient care or 
>>> > consideration. This is by no means a simple matter of needing more 
>>> > testing or less timeline pressure, nor is it easy to define a "bar" to 
>>> > ensure it does not regress. If we had simple metrics, we would have 
>>> > settled it a long time ago.
>>> > 
>>> > You can still see customer scars crop up on forum discussions 
>>> > periodically.
>>> > 
>>> > 
>>> > On 2026/09/24 19:01:02 Josh McKenzie wrote:
>>> >>> Apache Cassandra was fundamentally undeployable for four years between 
>>> >>> Nov 2015 - 2019.
>>> >> CASSANDRA-8099 was a maximal manifestation of a specific approach to 
>>> >> engineering and calendar constraints we've seen time and again on the 
>>> >> project; I don't want us to conflate things here. That was a herculean 
>>> >> monolithic body of work performed in inhuman conditions (in vim!) that 
>>> >> was ultimately so invasive, all the unit tests in the code-base were 
>>> >> commented out and Jake and I spent a grueling 1.5-2 months 
>>> >> hand-rewriting basically all the unit tests in that code-base to get 
>>> >> things to even build and run, much less pass.
>>> >> 
>>> >> Massive blast radius changes that are un-sustainably complex, 
>>> >> under-tested, where we don't property, fuzz, check coverage, check 
>>> >> complexity, or A/B compare against a known good system (i.e. pre/post) 
>>> >> correctness testing are going to destabilize the database at any time 
>>> >> under any regime of tooling. We certainly could speed-run our way back 
>>> >> into destabilization with LLM's as they are a force multiplier for both 
>>> >> the good and the bad of one's engineering practices, but that's a 
>>> >> solvable problem by better defining what our bars of quality are 
>>> >> (Definition of Done anyone?) and holding ourselves accountable to 
>>> >> delivering at that bar.
>>> >> 
>>> >> On Thu, Sep 24, 2026, at 2:40 PM, David Capwell via dev wrote:
>>> >>>> 
>>> >>>> 
>>> >>>> if you really want to pursue it I would ask that we do it offline to 
>>> >>>> avoid polluting an already busy conversation
>>> >>>> 
>>> >>> People are directly responding saying that they feel discrimination 
>>> >>> currently and that the policy tries to codify that discrimination, so I 
>>> >>> feel its 100% on topic. This thread has presented 0 evidence that LLM 
>>> >>> usage has lowered the quality of contributions merged and has so far 
>>> >>> been vibes and feeling; I have yet to see any evidence to justify such 
>>> >>> discrimination so I will keep pushing back until such evidence is 
>>> >>> presented so we can have a informed debate.
>>> >>> 
>>> >>>> namely how we handle shallow and localised bug fixes. I would be happy 
>>> >>>> adding a clear entry to the “Permitted” section for this. No doubt 
>>> >>>> there are many refinements needed to the Restricted text as well, that 
>>> >>>> might also capture some of your concerns.
>>> >>>> 
>>> >>> I will not sign off on cherry picking areas where "safe" to use a tool; 
>>> >>> so no it does not capture my concerns.
>>> >>> 
>>> >>> 
>>> >>> 
>>> >>>> I don't know if everyone remembers, but ten years ago Cassandra was 
>>> >>>> full of serious correctness and stability issues. Despite developing 
>>> >>>> it, I would not have run it myself or recommend that anyone use it. We 
>>> >>>> have dug ourselves out of that hole, but it took years of discipline 
>>> >>>> and effort, and we're still (deservedly) recovering our reputation.
>>> >>>> 
>>> >>>> Let's use this new technology to improve the quality of our 
>>> >>>> contributions, not squander our hard-earned gains in the name of 
>>> >>>> speed. It will be hard to recover our reputation a second time.
>>> >>>> 
>>> >>> I do recall the 3.x line and put in a significant amount of effort to 
>>> >>> harden it. There were behaviors I noticed after joining Cassandra that 
>>> >>> I feel directly contributed to 3.0 and the decade of catch up; 
>>> >>> behaviors that still linger in parts of the community today.
>>> >>> 
>>> >>> As I look on trunk and look at committed code and trace back to PRs and 
>>> >>> JIRA I see the following:
>>> >>> 
>>> >>> • large patches approved without comments
>>> >>> • 0 evidence that tests were run
>>> >>> I then look at our CI and see tests failing for months. As you start to 
>>> >>> triage you start to see some of them show real issues; yet they linger 
>>> >>> for months not being addressed... when CI is unstable it takes a lot of 
>>> >>> effort to triage "did my patch break the test", and I have seen time 
>>> >>> and time again people do not put in that effort, and shrug off as "its 
>>> >>> just a flakey test"; then our CI failure rate grows.
>>> >>> 
>>> >>> Non of this has anything to do with LLMs but LLMs running in this 
>>> >>> environment is far more dangerous as there are not checks in place to 
>>> >>> "hold the bar". I am all for raising the bar universally; expecting 
>>> >>> both humans and LLMs to match that bar.
>>> >>> 
>>> >>>> `I’d support something that boils down to roughly this:
>>> >>>> 
>>> >>>> 1.) 2 committers must understand an LLM-assisted change before it 
>>> >>>> commits. (Perhaps separately we can explore the question of why we 
>>> >>>> haven’t added any new committers to the core project for about a year. 
>>> >>>> I’m also still not entirely sure if it’s acceptable within our 
>>> >>>> guidelines for a committer to +1 a patch after delegating review.)
>>> >>>> 
>>> >>>> 2.) Patch authors must demonstrate enough understanding to discuss 
>>> >>>> their own patch, whether or not parts of it are generated by an LLM.
>>> >>>> 
>>> >>>> 3.) The “Assisted-by” tag should be used to indicate any non-trivial 
>>> >>>> LLM usage in the generation of a patch, just like we have used 
>>> >>>> Co-authored-by historically.
>>> >>>> 
>>> >>>> 4.) Comments and other things that aren't the actual code (but could 
>>> >>>> sow confusion) should be held to the same standard we'd expect from a 
>>> >>>> human writer. If we don’t yet agree on that standard, we can formalize 
>>> >>>> enough of it to guide both humans and LLMs.
>>> >> `
>>> >>> I can get behind this proposal but i would tweak it as 1/2 i don't 
>>> >>> think really need to special case LLM usage
>>> >>> 
>>> >>> 1. 2 committers must understand the change before it commits.
>>> >>> 2. Patch authors must demonstrate enough understanding to discuss their 
>>> >>> own patch
>>> >>> Nothing about those 2 need to be scoped to LLM usage and honestly 
>>> >>> matches most PMCs I have talked to understanding of our bar (as 
>>> >>> Benedict pointed out, the actual wording could be interpreted to allow 
>>> >>> rubber stamping from committer)
>>> >>> 
>>> >>> As for 3 I am cool with this. ASF recommends the same (it says 
>>> >>> `Generated-by` but that discount's the human's effort) as its useful 
>>> >>> for audits and tooling. Having `Assisted-by` tag should not imply 
>>> >>> anything about the committed patch as it should have gone through the 
>>> >>> same bar we all expect; its just for tools auditing.
>>> >>> 
>>> >>> 
>>> >>>> On Sep 24, 2026, at 10:37 AM, Aleksey Yeshchenko via dev 
>>> >>>> <[email protected]> wrote:
>>> >>>> 
>>> >>>> Meant "doing away with", sorry. Non-native speaker with a headache 
>>> >>>> here. Thanks Caleb for spotting.
>>> >>>> 
>>> >>>>> On 24 Sep 2026, at 17:35, Aleksey Yeshchenko via dev 
>>> >>>>> <[email protected]> wrote:
>>> >>>>> 
>>> >>>>> P.S. I assume it's obvious from the text above that I don't believe 
>>> >>>>> that getting away with human code review is a viable option.
>>> >>>> 
>>> >>>> 
>>> >>>>> On 24 Sep 2026, at 17:37, Štefan Miklošovič <[email protected]> 
>>> >>>>> wrote:
>>> >>>>> 
>>> >>>>> Good call on checkerframework, we even have a patch for it. Work of
>>> >>>>> Jacek Lewandowski. We might just drive it to completion. Using AI for
>>> >>>>> finishing it would be quite ironic.
>>> >>>>> 
>>> >>>>> (1) https://github.com/apache/cassandra/pull/2370
>>> >>>>> 
>>> >>>>> On Thu, Sep 24, 2026 at 6:19 PM Jon Haddad <[email protected]> 
>>> >>>>> wrote:
>>> >>>>>> 
>>> >>>>>> There are some really good points being brought up about stability 
>>> >>>>>> of the codebase, maintainability, quality of reviews, correctness 
>>> >>>>>> bugs, and I agree with all of them.  I think it would be helpful to 
>>> >>>>>> take a step back and consider how those bugs got there in the first 
>>> >>>>>> place, how they were fixed, and what we could do to further advance 
>>> >>>>>> the codebase so they don't creep back.  LLMs can be used either with 
>>> >>>>>> very tight guardrails, or in what's effectively YOLO mode, and 
>>> >>>>>> there's a big difference in the quality of the results you get.
>>> >>>>>> 
>>> >>>>>> One thing to keep in mind, a lot of the initial code in C* was added 
>>> >>>>>> without comprehensive testing.  I hope we can all agree that it's a 
>>> >>>>>> lot easier to break code that doesn't have high quality tests.  
>>> >>>>>> During the code freeze, a lot of people people spent several years 
>>> >>>>>> relentlessly finding and fixing bugs. This was probably a pretty 
>>> >>>>>> frustrating time for anyone who was focused on fixing other people's 
>>> >>>>>> bugs when they wanted to build features.  I think we should 
>>> >>>>>> recognize the effort here and appreciate the foundation that the 
>>> >>>>>> project stands on now. I can understand how anyone involved with 
>>> >>>>>> this effort would be apprehensive about seeing years of their life 
>>> >>>>>> swept away by an agent that was driven by goal seeking to remove all 
>>> >>>>>> the tests that it broke instead of fixing them.
>>> >>>>>> 
>>> >>>>>> When I picked up the work to improve cursor compaction, the first 
>>> >>>>>> thing I asked myself was how can I make sure I don't break this?  
>>> >>>>>> How do I even know it works properly?  There were some tricky parts 
>>> >>>>>> to the code, and I really didn't want to come in and immediately 
>>> >>>>>> break stuff.  That's why I started with an entire patch dedicated to 
>>> >>>>>> adding test infra to it.  90% of the patch was tests, and in my 
>>> >>>>>> other cursor patches, it remains *at least* 80% of my patches.  It 
>>> >>>>>> was a *lot* faster to add almost 10K lines of tests that handled a 
>>> >>>>>> byte for byte differential testing paired with harry to find over 30 
>>> >>>>>> bugs that caused cursor to corrupt results.  Range tombstones alone 
>>> >>>>>> were at least a dozen bugs, but I also found issues with static 
>>> >>>>>> columns, reverse ordering, etc.  Randomizing schemas and data in 
>>> >>>>>> burn tests to generate different shapes of data, to ensure they all 
>>> >>>>>> result in the same output at the end. JMH tests to ensure there 
>>> >>>>>> weren't performance regressions, hours of profiling. These were all 
>>> >>>>>> a *lot* easier to do with the LLM helping me out.  In the process 
>>> >>>>>> I've found bugs that have been lingering in the codebase for years.
>>> >>>>>> 
>>> >>>>>> That's a long story, but hopefully we all agree that having 
>>> >>>>>> comprehensive tests is a great way to ensure that both humans and 
>>> >>>>>> LLMs don't break things that are working.
>>> >>>>>> 
>>> >>>>>> The lesson: we need to keep improving our testing.  Everything that 
>>> >>>>>> we touch, should be left in a better state than how we found it with 
>>> >>>>>> regard to test coverage.
>>> >>>>>> 
>>> >>>>>> Test coverage isn't everything though, there's always little subtle 
>>> >>>>>> bugs that don't get found in testing, that can slip in despite our 
>>> >>>>>> best efforts.  It's debatable if humans will be as good as agents 
>>> >>>>>> for coding in the long term, for spotting small defects.  I 
>>> >>>>>> sincerely doubt it.  For the time being though, we still have people 
>>> >>>>>> involved. It's probably a good time to start using more static 
>>> >>>>>> analysis tools to identify problematic code and to add this to CI.  
>>> >>>>>> Dmitry had a suggestion recently for checkerframework to detect 
>>> >>>>>> leaking contexts, a problem he spotted when reviewing my branch.  It 
>>> >>>>>> would be great to have that integrated into our CI and dev workflow 
>>> >>>>>> so we can simply avoid an entire class of bugs.
>>> >>>>>> 
>>> >>>>>> There's also PMD, which is excellent for finding code that can be 
>>> >>>>>> hard to understand.  I *highly* suggest you all run PMD to analyze 
>>> >>>>>> for cognitive complexity and high npath scores.  This was made 
>>> >>>>>> popular by the folks at Sonar and I've found it to be an excellent 
>>> >>>>>> feedback mechanism for structuring code.  The default max they set 
>>> >>>>>> is 15, which is the point where it starts to become difficult to 
>>> >>>>>> verify something works without making a massive investment.  We've 
>>> >>>>>> got areas in the codebase that are in the hundreds, and some parts 
>>> >>>>>> even higher.  These have been contributed by humans, and are all 
>>> >>>>>> high risk points for both humans and agents to start messing around 
>>> >>>>>> with.  They're also in some fairly critical areas that are very 
>>> >>>>>> likely to break, so I understand why people would not want an agent 
>>> >>>>>> anywhere near it.
>>> >>>>>> 
>>> >>>>>> Unfortunately, it's not an easy problem to address.  There's so many 
>>> >>>>>> places where the code is structured in a way that has so many 
>>> >>>>>> branches, so many conditions, that it's effectively impossible for a 
>>> >>>>>> human to understand, creating a fear of messing around in it.  
>>> >>>>>> There's plenty of areas that deserve extreme scrutiny, and we should 
>>> >>>>>> be careful of what we add, whether it's human or agent.
>>> >>>>>> 
>>> >>>>>> The codebase today requires a high degree of internal knowledge to 
>>> >>>>>> navigate.  There's land mines everywhere. We should be looking to 
>>> >>>>>> make conscious improvements by moving the code forward, so it's 
>>> >>>>>> easier to make changes to small, well tested components with minimal 
>>> >>>>>> side effects.  Not making it harder for people to use the tools that 
>>> >>>>>> aid in that process.
>>> >>>>>> 
>>> >>>>>> Here's what we could do to achieve the underlying goal of not 
>>> >>>>>> breaking the DB:
>>> >>>>>> 
>>> >>>>>> Add cognitive complexlity and npath via PMD as a feedback mechanism.
>>> >>>>>> 
>>> >>>>>> Code that's hard to understand is hard to review.  It's also hard to 
>>> >>>>>> test. Let's break down the complex code so more people can 
>>> >>>>>> contribute, safely.
>>> >>>>>> 
>>> >>>>>> Add checkerframework to our tooling,
>>> >>>>>> 
>>> >>>>>> Properly annotate the codebase for it and reduce the surface area 
>>> >>>>>> that things can break.  Less brittle codebase = we can move faster.
>>> >>>>>> 
>>> >>>>>> Use jacoco to find areas of the codebase with poor testing.
>>> >>>>>> 
>>> >>>>>> Let's improve the test coverage there, LLMs are great for this.  We 
>>> >>>>>> have a ton of static tests, these can become more dynamic, 
>>> >>>>>> parameterized, and leverage harry.
>>> >>>>>> 
>>> >>>>>> Refactor parts of the codebase that have high cognitive complexlity 
>>> >>>>>> and NPath scores.
>>> >>>>>> 
>>> >>>>>> This should be lowered over time to meet some high watermark, say 25 
>>> >>>>>> maximum, although I'd prefer 15 which is where the Sonar folks 
>>> >>>>>> settled.
>>> >>>>>> 
>>> >>>>>> Move forward moving the codebase to a more modular structure
>>> >>>>>> 
>>> >>>>>> We've talked about Gradle on and off - but it can really be a huge 
>>> >>>>>> help with incremental, modular builds. This is pretty easy to do 
>>> >>>>>> with an agent and we could have it done in a couple days.
>>> >>>>>> 
>>> >>>>>> Enforce boundaries with ArchUnit
>>> >>>>>> 
>>> >>>>>> If we want to enforce certain code boundaries, this is the way to do 
>>> >>>>>> it. Should not be part of manual review.
>>> >>>>>> 
>>> >>>>>> Add LLM review for all incoming PRs before a human
>>> >>>>>> 
>>> >>>>>> The goal here is to automate the initial part of the review process 
>>> >>>>>> that reviewers should spot, and raise the bar for the initial 
>>> >>>>>> contribution.  When the code gets reviewed by a human, it should 
>>> >>>>>> already have passed a large variety of initial checks.  This should 
>>> >>>>>> shorten the review cycle and result in higher quality patches.  I've 
>>> >>>>>> had Claude reviewing all my PRs in my personal projects for a while 
>>> >>>>>> now and it consistently gives great feedback that I almost always 
>>> >>>>>> incorporate.
>>> >>>>>> 
>>> >>>>>> In my ideal world, we'd also auto-format all code
>>> >>>>>> 
>>> >>>>>> Consistent formatting throughout the codebase would be amazing, but 
>>> >>>>>> that's just one man's dream.
>>> >>>>>> 
>>> >>>>>> Hopefully there's at least a couple things in this list we could 
>>> >>>>>> move forward with in the short term, as it'll help improve the code 
>>> >>>>>> quality regardless of how it's created.
>>> >>>>>> 
>>> >>>>>> Jon
>>> >>>>>> 
>>> >>>>>> https://checkerframework.org/manual/#aliasing-leaking-contexts
>>> >>>>>> https://www.sonarsource.com/docs/CognitiveComplexity.pdf
>>> >>>>>> https://pmd.github.io/pmd/pmd_rules_java_design.html
>>> >>>>>> 
>>> >>>>>> 
>>> >>>>>> 
>>> >>>>>> 
>>> >>>>>> 
>>> >>>>>> On Thu, Sep 24, 2026 at 7:38 AM C. Scott Andreas 
>>> >>>>>> <[email protected]> wrote:
>>> >>>>>>> 
>>> >>>>>>> From Benedict:
>>> >>>>>>> 
>>> >>>>>>> “I don't know if everyone remembers, but ten years ago Cassandra 
>>> >>>>>>> was full of serious correctness and stability issues. Despite 
>>> >>>>>>> developing it, I would not have run it myself or recommend that 
>>> >>>>>>> anyone use it. We have dug ourselves out of that hole, but it took 
>>> >>>>>>> years of discipline and effort, and we're still (deservedly) 
>>> >>>>>>> recovering our reputation.”
>>> >>>>>>> 
>>> >>>>>>> Expanding on this point for those who may not have been active in 
>>> >>>>>>> the project at this time —
>>> >>>>>>> 
>>> >>>>>>> Apache Cassandra was fundamentally undeployable for four years 
>>> >>>>>>> between Nov 2015 - 2019. The database literally lost data if you 
>>> >>>>>>> ran a read-only SELECT query ordered descending (C-14513, C-14515). 
>>> >>>>>>> If you haven’t read these tickets before, please take a moment to 
>>> >>>>>>> do so.
>>> >>>>>>> 
>>> >>>>>>> It took years of careful work via property-based testing, fuzzing, 
>>> >>>>>>> and deterministic simulation to restore Cassandra’s status as a 
>>> >>>>>>> usable system of record. Once 14513 and 14515 were identified, 
>>> >>>>>>> nearly 30 additional critical data loss and incorrect response bugs 
>>> >>>>>>> were identified.
>>> >>>>>>> 
>>> >>>>>>> It is essential for the project’s future that we don’t regress to 
>>> >>>>>>> this state chasing AI-generated features motivated by fear. The 
>>> >>>>>>> fact that examples cited in this thread which boast shiny features 
>>> >>>>>>> but have critical shortcomings unknown to their author supports 
>>> >>>>>>> this argument.
>>> >>>>>>> 
>>> >>>>>>> The most common path for large corpuses of AI-generated software is 
>>> >>>>>>> elation and reveling in a feature matrix, followed by abandonment.
>>> >>>>>>> 
>>> >>>>>>> I endorse this point:
>>> >>>>>>> 
>>> >>>>>>> “Let's use this new technology to improve the quality of our 
>>> >>>>>>> contributions, not squander our hard-earned gains in the name of 
>>> >>>>>>> speed. It will be hard to recover our reputation a second time.”
>>> >>>>>>> 
>>> >>>>>>> Patrick, I don’t want your note regarding a TCM issue to go 
>>> >>>>>>> unaddressed. Please file a Jira ticket and the patch if you like. I 
>>> >>>>>>> can’t comment on the patch as I haven’t seen it, but together we 
>>> >>>>>>> will solve the problem.
>>> >>>>>>> 
>>> >>>>>>> – Scott
>>> >>>>>>> 
>>> >>>>>>>> On Sep 24, 2026, at 4:01 AM, Benedict Elliott Smith 
>>> >>>>>>>> <[email protected]> wrote:
>>> >>>>>>>> 
>>> >>>>>>>> Hi Patrick,
>>> >>>>>>>> 
>>> >>>>>>>> As I mentioned in my reply to David, I would be happy to create a 
>>> >>>>>>>> carve out for shallow and localised bug fixes in the "Permitted" 
>>> >>>>>>>> section. Would this alleviate some of your concerns regarding your 
>>> >>>>>>>> ability to contribute to the project?
>>> >>>>>>>> 
>>> >>>>>>>> I appreciate your pointing out Ferrosa's Accord implementation 
>>> >>>>>>>> however, as it is a *great* example of the problems we're leaping 
>>> >>>>>>>> into. I took a look, and within about 30s found that the protocol 
>>> >>>>>>>> is fundamentally incorrect, having failed to address 
>>> >>>>>>>> CASSANDRA-18365. This is despite claiming to be tested with Jepsen 
>>> >>>>>>>> that should in principle find this fault. I followed up by using 
>>> >>>>>>>> Claude to interrogate the implementation further, and immediately 
>>> >>>>>>>> found other serious correctness issues.
>>> >>>>>>>> 
>>> >>>>>>>> I use LLMs daily now to help facilitate Accord development, and 
>>> >>>>>>>> while they are powerful they are NOT able to author the code 
>>> >>>>>>>> themselves, even when building upon a strong human-authored 
>>> >>>>>>>> foundation.
>>> >>>>>>>> 
>>> >>>>>>>> I don't know if everyone remembers, but ten years ago Cassandra 
>>> >>>>>>>> was full of serious correctness and stability issues. Despite 
>>> >>>>>>>> developing it, I would not have run it myself or recommend that 
>>> >>>>>>>> anyone use it. We have dug ourselves out of that hole, but it took 
>>> >>>>>>>> years of discipline and effort, and we're still (deservedly) 
>>> >>>>>>>> recovering our reputation.
>>> >>>>>>>> 
>>> >>>>>>>> Let's use this new technology to improve the quality of our 
>>> >>>>>>>> contributions, not squander our hard-earned gains in the name of 
>>> >>>>>>>> speed. It will be hard to recover our reputation a second time.
>>> >>>>>>>> 
>>> >>>>>>>> 
>>> >>>>>>>>> On 2026/09/23 19:16:17 Patrick McFadin wrote:
>>> >>>>>>>>> I was waiting for this moment to hit our project and I'm glad 
>>> >>>>>>>>> we're here. I
>>> >>>>>>>>> am deeply concerned for our project and its future, as we have 
>>> >>>>>>>>> increasingly
>>> >>>>>>>>> made it difficult to contribute. I had hoped that this new era of
>>> >>>>>>>>> software tools powered by AI would expand the project's reach and 
>>> >>>>>>>>> bring
>>> >>>>>>>>> more diverse thoughts and ideas. This policy proposal is the 
>>> >>>>>>>>> exact opposite
>>> >>>>>>>>> of what we need. We have been sitting on a Cassandra 6 release 
>>> >>>>>>>>> alpha for
>>> >>>>>>>>> months. We need to accelerate and embrace new ways of being or be 
>>> >>>>>>>>> left
>>> >>>>>>>>> behind. As I read that policy, my first and gut level reactions:
>>> >>>>>>>>> - It comes across as elitist and class protectionism. Committer 
>>> >>>>>>>>> should not
>>> >>>>>>>>> be special but this proposal makes that designation even more 
>>> >>>>>>>>> sacred.
>>> >>>>>>>>> - It signals that our project is so fragile that only a few 
>>> >>>>>>>>> people "Really
>>> >>>>>>>>> understand it" That's some SQLite vibes right there.
>>> >>>>>>>>> - Trying to fix a problem that doesn't exist
>>> >>>>>>>>> Sadly, i think this policy change would also exclude a lot of 
>>> >>>>>>>>> comitters.
>>> >>>>>>>>> We aren't alone in this moment. The Linux project just went 
>>> >>>>>>>>> through
>>> >>>>>>>>> this. You can find the thread with a simple Google, but similar 
>>> >>>>>>>>> hard
>>> >>>>>>>>> feelings were being expressed "AI is going to ruin our project!", 
>>> >>>>>>>>> "The
>>> >>>>>>>>> unwashed masses are going to contribute terrible code!", "We have 
>>> >>>>>>>>> to
>>> >>>>>>>>> protect our precious status as Linux maintainers!"  Linus being 
>>> >>>>>>>>> Linus, was
>>> >>>>>>>>> deeply invloved and they adopted a super simple statement that 
>>> >>>>>>>>> covers all
>>> >>>>>>>>> bases. Human or Human using AI. “You are expected to understand 
>>> >>>>>>>>> and to be
>>> >>>>>>>>> able to defend everything you submit.”  Love that.
>>> >>>>>>>>> In the larger picture, I'll restate. I'm worried for our project. 
>>> >>>>>>>>> In late
>>> >>>>>>>>> 2025(Opus 4.5 IYKYK), early 2026, AI coding LLMs turned a real 
>>> >>>>>>>>> corner and
>>> >>>>>>>>> in the hands of somebody that knows how to build software, this 
>>> >>>>>>>>> tool is
>>> >>>>>>>>> like jet fuel. Here's some examples of new projects being hyper 
>>> >>>>>>>>> fueled by
>>> >>>>>>>>> AI coding tools.
>>> >>>>>>>>> Apache Iggy - Complete rust replacement of kafka. Crazy fast 
>>> >>>>>>>>> velocity
>>> >>>>>>>>> Turso - Rust re-write of SQLite
>>> >>>>>>>>> Bun - Rust re-write of itself from Zig.
>>> >>>>>>>>> Think this couldn't happen to us? Already has:
>>> >>>>>>>>> https://github.com/ferrosadb/ferrosa. Ben is using it to power 
>>> >>>>>>>>> his own
>>> >>>>>>>>> startup, but it was him alone using a ton of local AI coding 
>>> >>>>>>>>> agents. He
>>> >>>>>>>>> even implemented Accord. Yeah...
>>> >>>>>>>>> The cracks are already starting to show. There is a black market 
>>> >>>>>>>>> economy of
>>> >>>>>>>>> Cassandra patches happening now. Not going to name names or call 
>>> >>>>>>>>> people
>>> >>>>>>>>> out,  but there are fixes and optimizations living in branches 
>>> >>>>>>>>> outside of
>>> >>>>>>>>> the Cassandra project. Why? I'll use myself as an example. I 
>>> >>>>>>>>> fixed a nasty
>>> >>>>>>>>> bug I ran into with TCM a few weeks ago. Wrote the tests. It 
>>> >>>>>>>>> passes CI and
>>> >>>>>>>>> lives in my personal branch. I'm sitting here really wondering if 
>>> >>>>>>>>> I want to
>>> >>>>>>>>> go through the ritual humiliation of being roasted for using AI 
>>> >>>>>>>>> to fix it.
>>> >>>>>>>>> Me. I am worried about contrinuting code the Cassandra. What the 
>>> >>>>>>>>> hell does
>>> >>>>>>>>> that say?
>>> >>>>>>>>> I have my CQLite project that I've been doing a release around 
>>> >>>>>>>>> once a
>>> >>>>>>>>> month. I would love to donate that to the Cassandra project but I 
>>> >>>>>>>>> wouldn't
>>> >>>>>>>>> if it essentially killed any progress.
>>> >>>>>>>>> My larger counter proposal would be to:
>>> >>>>>>>>> - Adopt the “You are expected to understand and to be able to 
>>> >>>>>>>>> defend
>>> >>>>>>>>> everything you submit.” approach the Linux project has adopted.
>>> >>>>>>>>> - Loosen up the contributor process and our worry on trunk. Let 
>>> >>>>>>>>> 1000
>>> >>>>>>>>> flowers bloom and bring it in.
>>> >>>>>>>>> - And finally, to give some people more peace of mind and open 
>>> >>>>>>>>> more doors,
>>> >>>>>>>>> adopt what other projects have done and provide more 
>>> >>>>>>>>> pluggability. Let new
>>> >>>>>>>>> ideas have an easy place to connect.
>>> >>>>>>>>> We are at a fork in the road. What are we going to do? And then I 
>>> >>>>>>>>> have to
>>> >>>>>>>>> ask myself, what am I going to do as a contributor?
>>> >>>>>>>>> Patrick
>>> >>>>>>>>> On Wed, Sep 23, 2026 at 6:16 AM Blake Eggleston 
>>> >>>>>>>>> <[email protected]>
>>> >>>>>>>>> wrote:
>>> >>>>>>>>>> I’m not necessarily opposed to having a policy, but so far we 
>>> >>>>>>>>>> have some
>>> >>>>>>>>>> specific proposals addressing a problem statement that’s very 
>>> >>>>>>>>>> nebulous.
>>> >>>>>>>>>> What is the community failing to do on its own that we’re trying 
>>> >>>>>>>>>> to correct
>>> >>>>>>>>>> with policy? What outcomes are we trying to create or prevent? 
>>> >>>>>>>>>> Having some
>>> >>>>>>>>>> examples and specific problems to discuss would help focus the 
>>> >>>>>>>>>> conversation.
>>> >>>>>>>>>>> On Wed, Sep 23, 2026, at 4:34 AM, Shailaja Koppu via dev wrote:
>>> >>>>>>>>>> Benedict,
>>> >>>>>>>>>> Thanks for clarifying. My concern still remains. This criteria 
>>> >>>>>>>>>> would be
>>> >>>>>>>>>> difficult to define and apply consistently. What counts as 
>>> >>>>>>>>>> “similar” scope
>>> >>>>>>>>>> or area, “mostly correct,” or sufficiently independent work? More
>>> >>>>>>>>>> importantly, how do we prevent such vague criteria from creating 
>>> >>>>>>>>>> an
>>> >>>>>>>>>> informal hierarchy where some contributors work is routinely 
>>> >>>>>>>>>> accepted while
>>> >>>>>>>>>> others is routinely rejected?
>>> >>>>>>>>>> If the intent is to limit AI-assisted code changes to Cassandra
>>> >>>>>>>>>> contributors, or to contributors who have previously worked in 
>>> >>>>>>>>>> that
>>> >>>>>>>>>> component without AI, that would at least be clear and 
>>> >>>>>>>>>> enforceable.
>>> >>>>>>>>>>> On Sep 23, 2026, at 12:01 PM, Benedict Elliott Smith <
>>> >>>>>>>>>> [email protected]> wrote:
>>> >>>>>>>>>>> Core code changes
>>> >>>>>>>>>>> Chris: Do you object to the first or second line you quote? 
>>> >>>>>>>>>>> Because the
>>> >>>>>>>>>> first line is effectively motivation for the second line, and 
>>> >>>>>>>>>> can be
>>> >>>>>>>>>> removed (or more clearly combined). If it’s the second line, 
>>> >>>>>>>>>> then I do not
>>> >>>>>>>>>> think this is an unreasonable expectation, and we can get into a 
>>> >>>>>>>>>> proper
>>> >>>>>>>>>> debate about it.
>>> >>>>>>>>>>> Shailaja, since you only snipped the first sentence, your 
>>> >>>>>>>>>>> concerns might
>>> >>>>>>>>>> also be mostly answered by this clarification? “Minimal 
>>> >>>>>>>>>> third-party
>>> >>>>>>>>>> guidance” implies you have some concerns about the second line, 
>>> >>>>>>>>>> but all of
>>> >>>>>>>>>> our policies have some ambiguity because legalese is even worse. 
>>> >>>>>>>>>> I don’t
>>> >>>>>>>>>> think the ambiguity here would be challenging to navigate though 
>>> >>>>>>>>>> we can
>>> >>>>>>>>>> certainly refine it. This specific snippet is meant to convey an
>>> >>>>>>>>>> expectation that a contributor has autonomously produced patches 
>>> >>>>>>>>>> of similar
>>> >>>>>>>>>> scope that were mostly correct, so that they have demonstrated 
>>> >>>>>>>>>> the level of
>>> >>>>>>>>>> understanding necessary to guide another party to a successful 
>>> >>>>>>>>>> patch (i.e.
>>> >>>>>>>>>> an LLM in this case).
>>> >>>>>>>>>>> On 2026/09/23 10:54:16 Benedict Elliott Smith wrote:
>>> >>>>>>>>>>>> Thanks everyone for your input so far. I’ll respond in brief 
>>> >>>>>>>>>>>> to the
>>> >>>>>>>>>> main themes, in (mostly) separate emails so they can each have 
>>> >>>>>>>>>> their own
>>> >>>>>>>>>> debate chain.
>>> >>>>>>>>>>>> Should we have a policy (Blake/Josh*/Jon/Dinesh)
>>> >>>>>>>>>>>> I think we would all agree that LLMs represent the biggest 
>>> >>>>>>>>>>>> change to
>>> >>>>>>>>>> this community (and software more generally) since its 
>>> >>>>>>>>>> inception, and we
>>> >>>>>>>>>> all now have enough experience with the technology to have 
>>> >>>>>>>>>> formed opinions
>>> >>>>>>>>>> about how it is best managed. We also evidently have not all 
>>> >>>>>>>>>> arrived at the
>>> >>>>>>>>>> same conclusions. In this situation, it would be an abdication 
>>> >>>>>>>>>> of our
>>> >>>>>>>>>> responsibilities as a management committee to not agree *some* 
>>> >>>>>>>>>> policy.
>>> >>>>>>>>>>>> I intend to conduct straw polls as the discussion evolves, so 
>>> >>>>>>>>>>>> if you
>>> >>>>>>>>>> prefer an alternative policy - or modifications to this policy - 
>>> >>>>>>>>>> I would
>>> >>>>>>>>>> encourage you to make those alternative proposals.
>>> >>>>>>>>>>>> *Veto/Consensus (Josh)
>>> >>>>>>>>>>>> It was fair to call out my poor use of language on this topic, 
>>> >>>>>>>>>>>> so let
>>> >>>>>>>>>> me rephrase a little. The community is built on consensus, and 
>>> >>>>>>>>>> work should
>>> >>>>>>>>>> not be merged when there are outstanding concerns to address. 
>>> >>>>>>>>>> The explicit
>>> >>>>>>>>>> -1 should only be used rarely, because the prior expectation 
>>> >>>>>>>>>> should prevent
>>> >>>>>>>>>> it ever being needed. I (and others) have outstanding concerns 
>>> >>>>>>>>>> on LLM
>>> >>>>>>>>>> generated work that can only be addressed through this process 
>>> >>>>>>>>>> right here,
>>> >>>>>>>>>> so to merge such work while maintaining the community’s 
>>> >>>>>>>>>> consensus we must
>>> >>>>>>>>>> agree some policy.
>>> >>>>>>>>>>>> On 2026/09/23 09:58:27 Shailaja Koppu via dev wrote:
>>> >>>>>>>>>>>>> I am strongly -1 on this
>>> >>>>>>>>>>>>> - Core code changes made by LLM may only be proposed by 
>>> >>>>>>>>>>>>> contributors
>>> >>>>>>>>>> with demonstrated expertise
>>> >>>>>>>>>>>>> That creates a new, subjective privileged class of 
>>> >>>>>>>>>>>>> contributors and
>>> >>>>>>>>>> turns a tool choice into an eligibility test. Who decides 
>>> >>>>>>>>>> whether expertise
>>> >>>>>>>>>> has been “demonstrated,” what counts as “minimal third-party 
>>> >>>>>>>>>> guidance,” and
>>> >>>>>>>>>> how could those judgments be applied consistently or fairly?
>>> >>>>>>>>>>>>> Apache already has a better model, anyone may contribute, 
>>> >>>>>>>>>>>>> trust and
>>> >>>>>>>>>> additional repository privileges are earned transparently over 
>>> >>>>>>>>>> time. The
>>> >>>>>>>>>> ASF describes its communities as flat, and says that newcomer 
>>> >>>>>>>>>> ideas have as
>>> >>>>>>>>>> much input as those from original creators. We should not add a 
>>> >>>>>>>>>> separate,
>>> >>>>>>>>>> informal hierarchy in which certain people may use common 
>>> >>>>>>>>>> development tools
>>> >>>>>>>>>> while others may not.
>>> >>>>>>>>>>>>>> On Sep 23, 2026, at 6:33 AM, Chris Lohfink 
>>> >>>>>>>>>>>>>> <[email protected]>
>>> >>>>>>>>>> wrote:
>>> >>>>>>>>>>>>>> - Core code changes made by LLM may only be proposed by 
>>> >>>>>>>>>>>>>> contributors
>>> >>>>>>>>>> with demonstrated expertise
>>> >>>>>>>>>>>>>> - Must have produced similar patches in size, scope and area
>>> >>>>>>>>>> unassisted and with minimal third-party guidance
>>> >>>>>>>>>>>>>> I really don't like this one or its wording. Definitely too 
>>> >>>>>>>>>>>>>> "the
>>> >>>>>>>>>> peasants are getting uppity lets build a wall". Lets not let a 
>>> >>>>>>>>>> subjective
>>> >>>>>>>>>> thing like demonstrated expertise (who decides that?) be if it's 
>>> >>>>>>>>>> ok or not.
>>> >>>>>>>>>> Hold the same standards for code quality and process for it all. 
>>> >>>>>>>>>> I don't
>>> >>>>>>>>>> want this to be: only people on the storage team in Apple can 
>>> >>>>>>>>>> use AI.
>>> >>>>>>>>>>>>>> Chris
>>> >>>>>>>>>>>>>> On Wed, Sep 23, 2026 at 12:16 AM <[email protected] 
>>> >>>>>>>>>>>>>> <mailto:
>>> >>>>>>>>>> [email protected]>> wrote:
>>> >>>>>>>>>>>>>>> I agree with Stefan and think this is both a reasonable and
>>> >>>>>>>>>> thoughtful proposal.
>>> >>>>>>>>>>>>>>> Here are some things I like about it:
>>> >>>>>>>>>>>>>>> – It outlines areas where LLM usage is unambiguously useful 
>>> >>>>>>>>>>>>>>> to the
>>> >>>>>>>>>> project’s developers and users.
>>> >>>>>>>>>>>>>>> – It defines a spectrum of recommendations and cautions.
>>> >>>>>>>>>>>>>>> – The only prohibited areas are extremely narrow and say 
>>> >>>>>>>>>>>>>>> nothing
>>> >>>>>>>>>> about code at all.
>>> >>>>>>>>>>>>>>> Some in this thread are responding as if this proposal 
>>> >>>>>>>>>>>>>>> seeks to
>>> >>>>>>>>>> prohibit or sharply limit use of LLMs. In fact, it’s one of the 
>>> >>>>>>>>>> most open
>>> >>>>>>>>>> and welcoming I’ve seen for an OSS project of our size where 
>>> >>>>>>>>>> many are
>>> >>>>>>>>>> adopting policies that simply ban them entirely. I’ve 
>>> >>>>>>>>>> re-appended the
>>> >>>>>>>>>> proposal below my message as it seems to have been lost in 
>>> >>>>>>>>>> threaded
>>> >>>>>>>>>> replies, and would encourage folks to give it a second read.
>>> >>>>>>>>>>>>>>> Some brief thoughts based on my own use of LLMs:
>>> >>>>>>>>>>>>>>> – I find them fantastically useful for reviewing and 
>>> >>>>>>>>>>>>>>> identifying
>>> >>>>>>>>>> problems that have slipped through review - primarily via Alex 
>>> >>>>>>>>>> Petrov’s
>>> >>>>>>>>>> /deep-review skill, which I have running in a VM in a loop 
>>> >>>>>>>>>> executing over
>>> >>>>>>>>>> every new commit in the project as of a few days ago. I will be 
>>> >>>>>>>>>> posting a
>>> >>>>>>>>>> few hand-authored Jira tickets based on findings that appear 
>>> >>>>>>>>>> legitimate to
>>> >>>>>>>>>> me. For now, the loop is posting them as issue drafts for my own 
>>> >>>>>>>>>> review on
>>> >>>>>>>>>> my personal fork which you can find here:
>>> >>>>>>>>>> https://github.com/cscotta/cassandra/issues?q=is%3Aissue%20state%3Aopen%20label%3Abug
>>> >>>>>>>>>>>>>>> – They’re great for enabling use of model checkers and 
>>> >>>>>>>>>>>>>>> formal
>>> >>>>>>>>>> methods where such work would have previously been prohibitively 
>>> >>>>>>>>>> expensive,
>>> >>>>>>>>>> such as Blake’s work on a TLA+ proof of aspects of Mutation 
>>> >>>>>>>>>> Tracking and
>>> >>>>>>>>>> Benedict/Fedor’s work on a machine-checkable proof of the Accord 
>>> >>>>>>>>>> protocol
>>> >>>>>>>>>> in Lean.
>>> >>>>>>>>>>>>>>> – They are stunning for allowing me to experiment with 
>>> >>>>>>>>>>>>>>> ideas that
>>> >>>>>>>>>> would have otherwise been a summer internship’s scope of work. 
>>> >>>>>>>>>> Some
>>> >>>>>>>>>> examples include an io_uring prototype, exploring the impact of
>>> >>>>>>>>>> page-aligned compressed chunk sizes, an API shim bridging the 
>>> >>>>>>>>>> 3.x and 4.x
>>> >>>>>>>>>> Java Drivers, and potential enhancements to Zstandard.
>>> >>>>>>>>>>>>>>> – And they shine when given grunt-work that is critical to 
>>> >>>>>>>>>>>>>>> the
>>> >>>>>>>>>> project but a miserable labor for humans, such as triaging, 
>>> >>>>>>>>>> reproducing,
>>> >>>>>>>>>> and root-causing flaky tests, which David Capwell now has 
>>> >>>>>>>>>> running in a loop
>>> >>>>>>>>>> to help us improve CI stability in the project.
>>> >>>>>>>>>>>>>>> I never thought I’d be so positive on what’s possible via 
>>> >>>>>>>>>>>>>>> language
>>> >>>>>>>>>> models a year ago. At the same time, I also agree that they 
>>> >>>>>>>>>> present
>>> >>>>>>>>>> challenges and risks that can be managed through thoughtful 
>>> >>>>>>>>>> discussion and
>>> >>>>>>>>>> policy. Some of the concerns that I think are important to guard 
>>> >>>>>>>>>> against
>>> >>>>>>>>>> include:
>>> >>>>>>>>>>>>>>> – Asymmetry of effort between author and reviewers: As
>>> >>>>>>>>>> token-generating machines, LLMs can generate diffs of 
>>> >>>>>>>>>> extraordinary size
>>> >>>>>>>>>> very rapidly. /deep-review is great for chewing through diffs and
>>> >>>>>>>>>> identifying defects. But it should be used by the contributor 
>>> >>>>>>>>>> themselves to
>>> >>>>>>>>>> identify issues – not to replace the role of the reviewer with 
>>> >>>>>>>>>> more
>>> >>>>>>>>>> electricity. The role of the reviewers extends beyond 
>>> >>>>>>>>>> identifying and
>>> >>>>>>>>>> highlighting defects. It encompasses architecture, harmony with 
>>> >>>>>>>>>> the
>>> >>>>>>>>>> existing codebase, thinking ahead to future evolution of the 
>>> >>>>>>>>>> project, and
>>> >>>>>>>>>> replicates context on the project as new code is committed. 
>>> >>>>>>>>>> These functions
>>> >>>>>>>>>> cannot be automated away.
>>> >>>>>>>>>>>>>>> – Hesitancy of authors to engage manually with code they 
>>> >>>>>>>>>>>>>>> have
>>> >>>>>>>>>> generated: This is not specific to Cassandra, but it is a 
>>> >>>>>>>>>> behavior that I
>>> >>>>>>>>>> have seen in several “highly-electric” projects. There’s a 
>>> >>>>>>>>>> bimodal tendency
>>> >>>>>>>>>> toward code that is entirely generated or entirely 
>>> >>>>>>>>>> human-authored - but it
>>> >>>>>>>>>> is rare for someone to prepare an AI-authored patch to take an 
>>> >>>>>>>>>> offramp and
>>> >>>>>>>>>> spend a significant amount of time refining the work by hand in 
>>> >>>>>>>>>> an IDE.
>>> >>>>>>>>>> This hesitancy toward human participation in authorship of 
>>> >>>>>>>>>> LLM-generated
>>> >>>>>>>>>> code is very concerning to me.
>>> >>>>>>>>>>>>>>> – Harmony with the existing codebase: Due to the 
>>> >>>>>>>>>>>>>>> tunnel-vision of
>>> >>>>>>>>>> context windows, LLMs are generally unaware of conventions and 
>>> >>>>>>>>>> norms
>>> >>>>>>>>>> present in codebases and very frequently reinvent concepts in a 
>>> >>>>>>>>>> generation
>>> >>>>>>>>>> turn to suit a goal without view of the project’s overall 
>>> >>>>>>>>>> architecture.
>>> >>>>>>>>>> This results in a profusion of messy and duplicated concepts 
>>> >>>>>>>>>> that gradually
>>> >>>>>>>>>> sprawl about a codebase.
>>> >>>>>>>>>>>>>>> Again, none of these are grounds for prohibition of usage of
>>> >>>>>>>>>> language models in developing the project. They’re just problems 
>>> >>>>>>>>>> we need to
>>> >>>>>>>>>> bear in mind and guard against – and I think the proposal is 
>>> >>>>>>>>>> designed to do
>>> >>>>>>>>>> just that.
>>> >>>>>>>>>>>>>>> I’m thrilled by the potential of LLMs to improve Apache 
>>> >>>>>>>>>>>>>>> Cassandra
>>> >>>>>>>>>> and we already see it happening through a vast number of issues 
>>> >>>>>>>>>> that are
>>> >>>>>>>>>> being reported and fixed. But there’s also danger in taking ATVs 
>>> >>>>>>>>>> down a
>>> >>>>>>>>>> hiking trail full of people.
>>> >>>>>>>>>>>>>>> Regarding the prohibition on prose, I’ll simply say: I 
>>> >>>>>>>>>>>>>>> recently
>>> >>>>>>>>>> found myself in a scenario where I found a Claude-authored 
>>> >>>>>>>>>> document so
>>> >>>>>>>>>> inscrutable that I piped it back into a model, directed it to 
>>> >>>>>>>>>> rewrite it in
>>> >>>>>>>>>> ASD-STE100, read it myself, and responded based on the 
>>> >>>>>>>>>> summarization. As a
>>> >>>>>>>>>> humanities grad, this is probably the worst language crime I have
>>> >>>>>>>>>> committed. But it was in response to language that was itself so
>>> >>>>>>>>>> idiosyncratic that it was unreadable to me in its original form. 
>>> >>>>>>>>>> I hope
>>> >>>>>>>>>> this never happens in the Apache Cassandra project.
>>> >>>>>>>>>>>>>>> I’ll close with a quote from an excellent article written 
>>> >>>>>>>>>>>>>>> by Colin
>>> >>>>>>>>>> Breck, an engineer who works on large-scale data systems:
>>> >>>>>>>>>> https://blog.colinbreck.com/i-dont-want-to-read-what-you-didnt-write/
>>> >>>>>>>>>>>>>>> Colin wrote:
>>> >>>>>>>>>>>>>>>> I don’t want to live in a world where you use AI to 
>>> >>>>>>>>>>>>>>>> summarize
>>> >>>>>>>>>> something important into unreadable text, and then I use AI in 
>>> >>>>>>>>>> an attempt
>>> >>>>>>>>>> to decipher it. I want to hear you, imperfections and all. I 
>>> >>>>>>>>>> want your
>>> >>>>>>>>>> interpretation of aesthetics, beauty, quality, relationship, 
>>> >>>>>>>>>> time. I want
>>> >>>>>>>>>> to know how you feel. I want you to cut through and tell me what 
>>> >>>>>>>>>> really
>>> >>>>>>>>>> matters.
>>> >>>>>>>>>>>>>>>> Intentional writing will likely become more valuable. 
>>> >>>>>>>>>>>>>>>> People who
>>> >>>>>>>>>> write, and write to think, to think deeply and carefully, or to 
>>> >>>>>>>>>> create, to
>>> >>>>>>>>>> share, or to capture something important without explicitly 
>>> >>>>>>>>>> expressing it
>>> >>>>>>>>>> will continue to write and produce original work. The people who 
>>> >>>>>>>>>> never were
>>> >>>>>>>>>> writers will use AI to produce lots of text.
>>> >>>>>>>>>>>>>>> I hope that our culture can remain one of intentional 
>>> >>>>>>>>>>>>>>> writing and
>>> >>>>>>>>>> intentional engineering. I enjoy reading the voice of the author 
>>> >>>>>>>>>> in
>>> >>>>>>>>>> comments, code, and tickets in Cassandra – the different ways we 
>>> >>>>>>>>>> use
>>> >>>>>>>>>> language based on where we grew up and how we learned English, 
>>> >>>>>>>>>> the
>>> >>>>>>>>>> translated idioms from our various backgrounds, and terse 
>>> >>>>>>>>>> comments that
>>> >>>>>>>>>> recognize the difference between code whose function is obvious 
>>> >>>>>>>>>> and what
>>> >>>>>>>>>> warrants genuine exposition. When I read code in Cassandra, it’s 
>>> >>>>>>>>>> a delight
>>> >>>>>>>>>> to recognize the author based on their writing style before 
>>> >>>>>>>>>> flipping on
>>> >>>>>>>>>> `git annotate` to reveal the origin.
>>> >>>>>>>>>>>>>>> I’d encourage folks to re-read the original proposal below. 
>>> >>>>>>>>>>>>>>> It is
>>> >>>>>>>>>> very permissive. The guidance strikes me not just as reasonable, 
>>> >>>>>>>>>> but
>>> >>>>>>>>>> genuinely important to maintaining the health of the project.
>>> >>>>>>>>>>>>>>> – Scott
>>> >>>>>>>>>>>>>>> =====
>>> >>>>>>>>>>>>>>> Encouraged:
>>> >>>>>>>>>>>>>>> - Reviewing and otherwise validating human-authored patches 
>>> >>>>>>>>>>>>>>> before
>>> >>>>>>>>>> submission
>>> >>>>>>>>>>>>>>> - Debugging, diagnosing etc
>>> >>>>>>>>>>>>>>> Permitted:
>>> >>>>>>>>>>>>>>> - Generating or modifying tests, scripts, tooling or any 
>>> >>>>>>>>>>>>>>> other
>>> >>>>>>>>>> non-user facing changes
>>> >>>>>>>>>>>>>>> - Minor changes to human-authored patches that are carefully
>>> >>>>>>>>>> reviewed by the author
>>> >>>>>>>>>>>>>>> Restricted:
>>> >>>>>>>>>>>>>>> - Core code changes made by LLM may only be proposed by 
>>> >>>>>>>>>>>>>>> contributors
>>> >>>>>>>>>> with demonstrated expertise
>>> >>>>>>>>>>>>>>> - Must have produced similar patches in size, scope and area
>>> >>>>>>>>>> unassisted and with minimal third-party guidance
>>> >>>>>>>>>>>>>>> - Core code changes made by LLM require an additional 
>>> >>>>>>>>>>>>>>> reviewer
>>> >>>>>>>>>>>>>>> - LLM review is not a substitute for human review, and must 
>>> >>>>>>>>>>>>>>> be used
>>> >>>>>>>>>> only to augment a complete and independent human understanding 
>>> >>>>>>>>>> of the patch.
>>> >>>>>>>>>>>>>>> Prohibited:
>>> >>>>>>>>>>>>>>> - All public prose must be human authored. This includes 
>>> >>>>>>>>>>>>>>> inline
>>> >>>>>>>>>> comments, docs, posts to Jira etc.
>>> >>>>>>>>>>>>>>> All LLM generated changes MUST be disclosed:
>>> >>>>>>>>>>>>>>> - Outlined to any reviewer;
>>> >>>>>>>>>>>>>>> - Summarised in the commit message;
>>> >>>>>>>>>>>>>>> - Large blocks or files must be individually marked with 
>>> >>>>>>>>>>>>>>> some agreed
>>> >>>>>>>>>> message like "created by <some AI>"
>>> >>>>>>>>>>>>>>> =====
>>> >>>>>>>>>>>>>>>> On Sep 22, 2026, at 9:13 PM, Dinesh Joshi 
>>> >>>>>>>>>>>>>>>> <[email protected]
>>> >>>>>>>>>> <mailto:[email protected]>> wrote:
>>> >>>>>>>>>>>>>>>> On Tue, Sep 22, 2026 at 3:28 AM Benedict 
>>> >>>>>>>>>>>>>>>> <[email protected]
>>> >>>>>>>>>> <mailto:[email protected]>> wrote:
>>> >>>>>>>>>>>>>>>>> Restricted:
>>> >>>>>>>>>>>>>>>>> - Core code changes made by LLM may only be proposed by
>>> >>>>>>>>>> contributors with demonstrated expertise
>>> >>>>>>>>>>>>>>>>> - Must have produced similar patches in size, scope and 
>>> >>>>>>>>>>>>>>>>> area
>>> >>>>>>>>>> unassisted and with minimal third-party guidance
>>> >>>>>>>>>>>>>>>> I am -1 on this. This sounds like gate keeping attempt. It 
>>> >>>>>>>>>>>>>>>> narrowly
>>> >>>>>>>>>> limits the pool to a few people on the project that have 
>>> >>>>>>>>>> historically
>>> >>>>>>>>>> contributed to certain parts of the codebase. This policy will 
>>> >>>>>>>>>> prohibit
>>> >>>>>>>>>> skilled software engineers with domain expertise from proposing 
>>> >>>>>>>>>> LLM
>>> >>>>>>>>>> assisted changes simply because they have not contributed to the 
>>> >>>>>>>>>> project.
>>> >>>>>>>>>> This is unrealistic and a net negative for the project to 
>>> >>>>>>>>>> attract talent
>>> >>>>>>>>>> and grow our community.
>>> >>>>>>>>>>>>>>>>> - Core code changes made by LLM require an additional 
>>> >>>>>>>>>>>>>>>>> reviewer
>>> >>>>>>>>>>>>>>>> Can you be more precise what is this in addition to? How 
>>> >>>>>>>>>>>>>>>> many total
>>> >>>>>>>>>> reviewers do you expect and what is the purpose of additional 
>>> >>>>>>>>>> reviewer? and
>>> >>>>>>>>>> why?
>>> >>>>>>>>>>>>>>>> Taking a step back - what are you trying to solve here?
>>> >>>>>>>>>>>>>>>> Dinesh

Reply via email to