clj-kondo 2026-09-10

Someone made 16 issues/PRs while I was sleeping... https://github.com/clj-kondo/clj-kondo/pulls Welcome in the agentic era I guess 😓

😵 2
🫠 9
😱 4

Some of the issues seem a little controversial or redundant to me. I'm curious if the need for these was caused by the agent-generated code itself.

oof i saw a couple before going to bed, but 16??? that's rude

skimming the list, some of these should be splint style lints, not clj-kondo warnings

I mean, the issue template, he didn't even automate checking the box "I have read the https://clojure.org/community/etiquette and will respect it when communicating on this platform."

😬 1

if you can't even bother checking that box...

I wonder if I should enforce this policy: Settings > Moderation > Interaction limits or something. Haven't looked at it before

It's a Nubank employee

so limiting contributors to sponsors won't work there either :P

😅 2

I'm going to have a look at the issues/PRS, some may be legit, but I was quite overwhelmed

Some “gifts” are truly burdens!

if you'd like help, i can provide it

pre-scanning issues (and if you think it's worth it, PRs) would be nice. a thumbs-up upvote is my way of keeping track of "this is important for the community" so add one if you think an issue/PR deserves it. outright bugs are important to fix right away, ping me there

👍 1

Speaking of the importance, would it be possible to add something like this to the PR CI workflow: • Clone a few Clojure repositories from GitHub (hardcoded or taken randomly from a list). • Run clj-kondo twice, once against the master branch and once against the PR branch. • Then, check if the number of new warnings caught is above a certain threshold. Edit: the idea is to be able to measure the usefulness of the change in some way

that already exists in ./script/diff but not in CI (because it would be pretty unwieldy)

👀 1

script/diff is used in CI (in another form) as part of the regression tests

😅 1

silly me to speak on things i don't understand

no problem, the regression test part is pretty new, maybe since a year or so

reading through these, i think they're all "legitimate" issues that can arise, but idk if they're frequent enough to require a dedicated linter

As I can see (correct me if I'm wrong, please), the regression part checks, whether the master warnings set is a subset of the new PR ones. My idea is to check the difference between PR and Master.

it doesn't just check subset if I recall correctly, but what you're saying is the idea of script/diff

but it is still possible (and likely) to write new linters that do not catch issues in clj-kondo's own regression corpus

I guess it was :)

> but it is still possible (and likely) to write new linters that do not catch issues in clj-kondo's own regression corpus Sure, but • PRs can add new repositories to test-regressions along with new linters • The threshold doesn't mean the new linter is a no-go, it's just another tool to analyse the importance of the change

> I guess it was 🙂 as I can see these are just

(assert-submaps2 expected findings)

> PRs can add new repositories to test-regressions along with new linters That's usually done through normal tests The regression tests exist to verify that changes do not mess up larger known projects

i either thumbs-up'd or commented on every single new issue, and left a comment in one of the PRs (i mostly didn't look at the PRs)

my comments were largely "how often does this happen? is it frequent enough to require a dedicated linter?"

> my comments were largely "how often does this happen? is it frequent enough to require a dedicated linter?" my point exactly

i suspect these all come from instances of actual bugs in one of nubank's many lines of code, but speaking as a linter-writer (for clj-kondo and splint), i've written code i wish had been linted that i then checked against my large personal corpus and found to have literally zero hits lol

comparatively, rubocop (which is my north star for linters) has like 500 linting rules, some of which are very rare and obscure, so i'm not necessarily against the idea

(honestly, i'm probably going to steal most of these for splint, they fit right in with splint's focus)

sure! I might steal some of them back when I find them useful enough :)

👍 1

(still haven't looked)

lol yeah, there's no rush here