Don't get too hanged up on typing. Pythons duck typing is a feature not a bug. It's ok to have loose types.
On duplicate code, in general you should see at least two examples of a pattern before trying to abstract it. Make sure the duplication/similarity is semantic and not incidental, if you abstract away incidental duplication, you will very quickly find yourself in a situation where the cases diverge and your abstraction will get in your way.
In general coding agents are technical debt printers. But you can still pay it off.
LLM performance increases with non-LLM guardrails.
Even if you ask it not to use any at all, it'll cast the type to `unknown` and "narrow" it by performing checks. The problem is that this may be syntactically correct but completely meaningless, since it'll narrow it down to a type that doesn't exist.
The biggest problem here is that all of these are valid code patterns, but LLMs tend to abuse them more than using it correctly.
> Not ten. Not fifty. Five hundred and twenty-three lint violations across 67 files.
> You're not fixing technical debt—you're redefining "debt" until your balance sheet looks clean.
> These are design flaws, not syntax errors. They compile. They might even work. But they're code smells—early warnings that maintainability is degrading.
> AI-generated code is here to stay. That makes quality tooling more important, not less.
> This isn't just technical—it's a mindset change:
> It doesn't just parse your code—it analyzes control flow, tracks variable types, and detects logical errors that Ruff misses.
> No sales, no pitch—just devs in the trenches.
for lint issues that are autofixable, the tool use can trigger formatting on that file and fix it right away
for type issues (ts, pyright), you can return something like `{\"hookSpecificOutput\":{\"additionalContext\":$escaped},\"continue\":true}"` to let the edit complete but let Claude know that there are errors to fix next turn
If I hired a junior dev and had to give them explicit instructions to not break the CI/lint, and they found NEW ways to break the CI/lint again that were outside of my examples, I'd hopefully be able to just let them go before their probation period expired.
Has the probation period for AI already expired? Are we stuck with it? Am I allowed to just write code anymore?
seroperson•9h ago
akshay326•6h ago
furyofantares•6h ago
There's maybe a tweet worth of information contained in this tome.
akshay326•3h ago