Crate of the week quality rules

I'm wondering if that thread is still relevant when it's mostly an abundance of self-nominations for code written by LLMs... (sorry for the very few that obviously weren't, apparently 2?)

Personally, I'm not going to watch this any further.

I feel like there should be a rule against self-nominating projects containing LLM-generated code

I moved the discussion out. I've already been trimming new posts in the crate of the week thread, but it's just so many posts by usually new accounts who never interact again... which is very similar to what's happening to the announcement category

It seems like they should have similar policies because they will always be similarly tempting. But, also, Crate of the Week is supposed to be for TWiR and so what the TWiR editors find useful should be prioritized.

I think AI coding assistance is a reasonable tool to be used. So it might not make sense to me that we should block useful and high quality ai-assisted code.

Maybe we can have some way to ensure there's a higher bar with existing metrics? i.e. crate should be continuously updated/worked on for longer than x time or the author isn't just doing it for quick attention?

It's a bit tongue-in-cheek, but perhaps we could have an "LLM Generated Crate of the Week"?

Seriously though, a discussion of good quality, LLM generated crates is interesting. Working through questions such as:

  • Why did you use an LLM for this use-case?
  • How did it allow you to publish a better crate?
  • What problems did you encounter in the process?

There is another discussion about Announcement topic category which seems to be quite relevant here, announcement and crate of the week nomination are usually made at the same time.

That's true but there are so many questions come into play:

  • What is AI assisted? What percentage of the code must be AI-written for it to count as AI assisted rather than vibe-coded?
  • How can we ensure that AI assisted code parts have been reviewed by the author and are at least valid?
  • There are even fewer guarantees that today AI assisted crate won't become vibe-coded tomorrow.

IMO using AI for writing code for anything beyond single-use is almost always bad practice. When you're handwriting it - you think what you write and why you write it in that way. What can go wrong and how to test it. If you generate it, you just do a code review (or even skip it). Reviewing the code is very different from writing it, it's much harder to figure out why it's written that way and whether it's actually the optimal approach. In my experience making a really good code review for generated code takes more time than writing it manually. That's why many people end up not reviewing generated code which almost always means poor code quality and a bunch of potential errors right now or problems in future. And we end up in situation where most repos that use AI for code generation are either broken or of very poor quality, not many people would like to use it and even more so to review it.

With that being said, IMO the best solution is either to require an 'AI-generated code' label when AI has been used, or to restrict it entirely. Unfortunately, the vast majority of AI-generated crates are poor quality and abandoned within a month, and therefore don't deserve attention.

I'm afraid it's very debatable—and it's been debated[1]—if you consider the whole picture: inappropriate and unreliable technology (quite ironic in the case of Rust), energy, privacy, copyright, geopolitics and global economy, and so on.

Not sure how many people share that opinion, but for me it's just irresponsible to use those tools.


  1. ... and I'm not going to debate it once more here; it's not an invitation in that direction ↩︎

The problem with attempts at banning LLM generated content as I see it is that it will lead to attempts at obfuscating the use of LLMs. Each post will undergo scrutiny by the community and eventually people will be accused of such use. It won't take long before handwritten code is accused of being generated and things will snowball in drama from there.

The majority of solutions require a great deal of time dedicated to reviewing posts (a nightmare to most), or the rather ironic use of LLMs in place of people for review.

Let's try not to diverge this thread into a general discussion about of LLM use in software.

6 Likes

I feel I have to ask due to timing of your post, was this directed at my comment or just a general response to the thread? I feel my post was specific to the topic so I'd like to know where it might have overstepped if so.

More a general response. Yours was quite on topic.

Along these lines I found the "Appendix: History and Rational" of the Bevy AI policy a very useful read:

I hadn't seen that yet, thanks for sharing.

That stance makes perfect sense to me. I would rather know when something was LLM generated than attempt to devise tests which will fail.

For example the Scunthorpe problem, where broad logic is bound to catch innocent examples and edge cases become unmanageable overtime.

Also the related Iron law of prohibition, which really just leads to an arms race essentially.

Would requiring all crates of the weeks self-nominations to include the text along the lines of
"I affirm that (according to my knowledge) no non-negligible portion of code, text, or other data in this crate was written by a large language model"
help at reducing slop submissions?

I'm with BinSquare on this one.

If the crate is excellent & worthy of Crate of the week, then I don't see a problem with it being nominated[1]

What I think is needed is clear guidance on what it means to be "Crate of the week" and what criteria should be considered before nominating. If the TWIR crew could help a lot by making that clearly present for anyone posting in the thread ... then we just have to trust in the decentness of humans on URLO[2]


  1. A general discussion on whether LLMs are evil, all evil, etc. doesn't belong here and ethical & ecological issues can be tackled in other ways than random bans on LLM content. There are places in the rust ecosystem where that conversation belongs and is happening. Mixed with random threads here is not that place. ↩︎

  2. which, sadly, may require a similar level > 0 barrier to the announcements channel ↩︎

The problem of self-nomination spam for crate of the week by newly-created crates by members of this forum that just registered and never come back, may somewhat be reduced by working on other aspects than trying to detect or ban AI use, which is a lost battle anyway. It seems also that the question is not about who or what wrote the code, but is it recommendable and of high quality, which is the purpose of the crate of the week section, after all.

So, a few suggestions:

  • Require that nomination comes from a user who has been around on the forum for long enough ?
  • Avoid self nominations ?
  • Avoid too recent crates ?
  • Have a delay between nomination and appearance in This Week in Rust ? (Allowing to check that the crate is actively used and maintained)

I would prefer a solution that doesn’t involve lifting the ladder behind us.

I think the problem is not dissimilar to what the Rust project had to face (see the LLM policy), and this is why I brought it up.

When we allow AI-generated content, we get more new crates, a problem that's already been discussed in the scope of lib.rs. Checking them out to assess the quality becomes too daunting; the thread and its use in TWiR outlive their purpose.

If rules similar to those of the Rust team were observed, it'd restore the previous situation and bring back the focus of CotW to discovering original, new crates that can help the community, instead of becoming an advertising board for everyone's playing with LLMs and seeking attention[1].

PS: As I said, my previous post wasn't meant as yet another debate on LLMs. I wanted to make clear there is a debate, thus we can't simply ignore it. If we do, it'll come back.


  1. see the reddit software communities if you want to see a good example of what it looks like ↩︎

Is the problem what LLM generated content should be allowed, or what level of engagement should be expected from nominators?

The first question is surely one for TWiR to decide. I'm guessing that a key factor in how such a decision is what the community thinks is valuable. My personal perspective is that I wouldn't want LLM generated content to crowd out human generated content but that spotlighting LLM generated content is otherwise fine. For context I'm generally supportive of banning LLM contributions in projects, but I think the crate of the week can be allowed to be more permissive as it has a different purpose.

For the second question I think I'm okay with allowing drive by nominations, assuming TWiR still permits them. It's confined to a single thread for that exact purpose, making it easy for people who don't care to ignore. If anything, it's potentially a bit of a honeypot especially with the tougher rules in announcements. If it's the only post someone makes it probably doesn't hurt, any maybe the occasional poster will stick around afterwards.