grit.io was working on this years ago, not sure if they are still alive/around, but I liked their approach (just had a very buggy transformer/language).
I thought coding harnesses provided tools to apply diffs so the LLM didn't have to echo back the entire file?
So, in practice, many tools still work on the file level.