But you can always throw the entire program, and start from scratch...You have every behavior captured in tests, right?...right?
Not necessarily. I'm still learning how to do that, just like the rest of the industry will have to. TDD in the age of AI is a skill that will emerge from disciplined practice as well as a lot of trial-and-error.
As for digging in manually, right now I still have to keep a pretty close eye on the C code the clankers emit, but then I'm old enough to remember when we had to debug compiled C code by stepping through x86 opcodes in Turbo Debugger. That need went away, frankly sooner than I thought it would. I almost never need to look at x64 assembly anymore, and I can't sight-read ARM at all. The same thing will happen with what we call high-level languages today.
At some point last year I noticed that I was finding fewer bugs in AI-generated parts of the code than the AI was finding in my own, and that trend clearly isn't going to reverse itself. When the clanker screws something up, it's usually because I gave it flawed or incomplete instructions, not because it's incapable of doing the job right.
Not always, but usually.
Wait, how do you debug now? Do you mean because of LLM assistance?