I’ve been going sort of hybrid and using more targeted prompts. I skeleton the API most of the way and have the LLM fill it in and implement. This is at the code level, not the HTTP API.
Most of the time, anyways.
It keeps me in the code enough to feel the friction of bad APIs but high enough that I’m not reviewing every line of code.
I also try to scope my reviews to only the intersections between systems (SQL schema, library APIs, CLI flags, etc).
I’ve got nothing on the tests. Mine writes a million of them. Some are brilliant, some are stupid.
Like it once did TDD by storing transformations to the same base object in a list rather than specifying the whole object. Clever.
The very next test was an arity test to make sure it threw errors if you gave the function the wrong number of arguments. In a webapp, not a compiler or something. Stupid. Do not unit test the language’s runtime lol