AI coding agents write tests that pass, raise coverage, and check nothing.
Our fix: break the code on purpose. If no test fails, a test is missing.
What it found, what it cost, and the rules our agents now follow: https://t.co/RITCADC7Ky
@volodmaryn The core idea is the language server of any programming language is capable of finding reference of any language object be it class, interface or functions..so just let the agent call it and rest will become deterministic.
Ask a coding agent who calls a function in our Go backend. It searches the text: 146 lines back, 3 real callers.
Our fix: let it ask gopls, the Go language server. It answers from the compiler. https://t.co/HyBxDq1VIu
@Quantradin There was lot of review cycles back and forth between agents so I asked what the root cause then I simply said how the language editors does it why not use the same technique. It undestood. You just need to be little curious.
@asaridarr Most likely, because every language has this functionality, you just ask your agent to use the available langer server MCP or it will wrap it up the exe into your personal MCP which it will call.
The trap that almost shipped: gopls only reads files whose build tags it has been told about. 173 of our files sit behind an `integration` tag. Without the tags, one method showed a single caller and silently left out the second.
Every software company is asking the same thing right now.
Will my product survive?
Nobody knows what tomorrow looks like. Including the people who say they do.