a3ae974676
Harvested with thanks to @aboimpinto. Includes the ExternalTool abstraction layer plus follow-up fixes for lossy REPL stdout handling and unquoted unicode git diff paths. Validation included full CI and focused local checks for non-UTF8 REPL stdout, git_diff, and external_tool behavior.