what is a harness? The comments below are mixing IDE/ADE but other suggestions are purely terminal things and I don't get what their value is over just a terminal. Is a harness like a loop where it's just a vague thing that everyone nods about but everyone is nodding at something different?

My understanding is that the harness is the set of function calls (or tool calls) that let the LLM interact with your codebase. It's independent of the IDE or CLI.

The tool calls will be, among other things, something like ReadFile, RipGrep, PatchFile, Shell.

When people talk about the value of different harnesses, they're also implicitly talking about the quality of the system prompt.

The same exact model, when given a different set of tools and a different system prompt, can behave differently.

harnesss == thing that calls LLM API, acts on response, and maybe does that again.