I think it’s extremely important that large blocks of generated code are 
directly annotated as such. It is important to me as a maintainer that I know 
if human intention was properly brought to bear on a body of code, as it 
changes how I will engage with the code. If the code was broadly LLM-generated, 
I am more likely to ask an LLM to maintain it, and I am much less likely to try 
to maintain its design or semantic decisions.

On 2026/09/25 01:26:31 Blake Eggleston wrote:
> 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