On 07/24/2026 11:31 AM CEST Moritz Angermann <moritz.angermann@gmail.com> wrote:
Hi Tom,
This is interesting. We agree even!
Hi Moritz - glad to see many points of agreement and compatibility!
Even a single nonsense phrase (or a technically-correct-but-robotic one) in an otherwise-fine paragraph is enough to make many of us demoralized and less trusting. The human connection has been breached.
And this is where the conflict arises, because I agree with you here that relaid communication is problematic and inauthentic, yet I think this is exactly where we lose good faith and where labeling starts to become an issue. Case in point: one word in this email was changed using assistive technology.
I've been using "good faith" to mean having honest intentions. Aren't we both doing that here?
[...] A previous version of this policy proposal put it perfectly, I thought: "writing documentation yourself forces you to articulate each word, to think about what it is saying and what a future reader will understand."
Why is this negated by assistive technology. I do not genuinely understand this blanket claim.
It's quite simple: when documentation is written by a person, they choose each word based on its imagined effect on the reader. I imagine myself in your shoes and try to communicate abstract ideas to you. When it's written by a machine, whether high- or low-quality, that same process did not take place. Maybe it's written crisply; maybe it's not. (If it were guaranteed not to be, I'd be supporting a blanket LLM ban.) I imagine you might feel that a person going back and forth with an LLM might be putting just as much work into how the words will be received as someone writing without an LLM. Having seen how things work in practice, though, I feel that the productivity wins of LLMs are largely negated if that much care is put into wordsmithing, and as the original proposal said, "the best way to take responsibility for every word is to write every word." Again, though, the proposed policy does not disallow you from submitting anything; it just gives reviewers a heads-up that they might encounter a different type of failure mode.
I still don’t know where this “make things easier for an LLM-assisted workflow” comes from?
I was responding to the previous email in the thread, which suggested we develop lists of "optimization criteria" for, as I understand it, human-machine interaction.
(7) "P3: Declare direct use of LLMs" and the corresponding section -> delete (declaration neither establishes compliance with P2 nor detects non-compliance)
Detecting non-compliance is not the purpose of this document. An assumption of good faith is healthy.
Where is this assumption of good faith? As soon as there is even the hint of a llm label, it goes out the window?
Perhaps I wasn't clear; I'm saying that the issue of "detect[ing] non-compliance" (for example, whether a person who wrote code with LLMs truthfully declares it) is a separate issue from what our stated goals are (please declare direct use of LLMs).
(8) "R1: Recommendation: write the final version yourself" -> "R1: Recommendation: use a workflow that develops understanding" (states the intended outcome while retaining personal composition as one useful kata)
This change actually highlights why I think the previous version of the proposed LLM policy was much better than the current one: R1's recommendations focus on the benefits for the author (or "author"). The statements of preference ("We strongly prefer human-written code," "We strongly prefer human-written documentation") emphasized the benefits for everyone affected by the author's decisions.
I find the current wording in the document quite good. Please help me out for my understanding:
(1) what do you define as human-written?
My definition might be different from others', but to me it's fairly straightforward: "human-written" means, well, written by a human. That human may have had lots of long dialogues with chatbots about how systems work, and had the chatbots point to different parts of the code and maybe even come up with ideas about how to approach the problem, but then the human, well, wrote the code.
(2) why should the ghc project have a strong preference for it? To discourage contributors who might consider using assistive technology in any form or function?
It's difficult to say why any community "should" have a preference for anything! But clearly, they do. Half of the people on GitLab want to ban it entirely, and others would prefer it's not used. I think we need to find an "agree to disagree" way forward, which in my mind _at least_ involves letting people opt out of unknowingly reviewing LLM-generated docs/code, and acknowledging that a majority prefer LLMs not to be used. (Also, I think you may need to be more charitable: I haven't seen a single person argue against using LLMs "in any form or function" in this discussion.)
(16) "you must not relay AI-generated text as a substitute for your own judgment" -> "Communication may be machine-assisted, but the sender must have read and understood the message, adopt it as their own position, and be prepared to discuss and defend it. Raw machine output presented for examination rather than adopted as the sender's judgement must be clearly identified." (distinguishes adopted communication from unexamined output)
"Be prepared to discuss and defend it" doesn't seem like much of a requirement if we're allowing unlabeled machine-generated text. I'm sure a person willing to use an LLM can "discuss and defend" anything ad nauseum, but that's not considerate of the person on the other end of the line. (Or of other readers, if both "people" are mostly LLMs!)
So we are assuming bad faith now? Are we also assuming that someone who honestly labeled their contribution as assisted will now (of course!) use assistive technology to discuss and defend their contributions ad nauseum?
No, that's not what I wrote, but re-reading it I understand the confusion. What I meant to say (should have said) is that a person so inclined could behave this way, not that anyone who uses LLMs would do so. I don't think a policy like the above is tenable because a person _could_ do that, certainly not that every LLM user _would_.
I could just not care about this at all. Create MRs like I’m used to, not label them because I just don’t even want to engage in the distraction of whether or not and to which degree I have or have not used assistive technology while conceiving the contribution. Arguably, I would say assistive technology allows me to create higher quality contributions because it allows me to have a conversation with myself and some kind of rubber ducky while working on changes.
The policy said "We strongly prefer human-written code. You can use LLMs to analyse, review, produce ideas and prototypes, but we would much prefer you to write the code of your MR yourself." If you're using "rubber ducky" in the traditional sense, that would very much be in the realm of "analyse, review, produce ideas and prototypes." I don't think it would be much of a struggle to remember if you'd written code or documentation with LLMs.
I can write some Haskell code and keep wondering if this couldn’t be expressed better. What do I do? Ask an llm to try to rewrite this function in a way that simpler, more natural to me, more readable, uses some other idioms I didn’t think of this time around? Help me write this comment more concisely, less roundabout because I simply can’t find the right words to use here myself right now.
These are good examples, thanks. In these cases, if it's a tiny change for clarity, it might fall under the "rubber ducky" notion. In the case of larger changes, I'd simply say in the MR "I wrote this feature myself but used LLMs for restructuring; here's how/where." No big deal! I'm willing to agree that in some cases this might result in higher-quality contributions; "I used LLMs" doesn't mean the contribution is necessarily worse. I do think writing the entire code yourself, fully-functional, then using LLMs for tweaks, is quite different from generating code.
Best, Moritz
PS: assistive technology was used when writing this email.
I'm reminded of the warning at the end of a fictional news segment on The Simpsons: "VIEWER ADVISORY: The preceding program [...] should not have been viewed by young children." I.e., at the end of the message it's too late to do anything about it! :) Cheers, Tom