edit_file/write_file now append error-severity language diagnostics for
the file they just wrote directly to their tool output, so the model
sees a break it introduced in the same turn instead of waiting for the
batch-level self-correct pass (which still runs and still owns tests and
auto-remediation). Warnings/hints are excluded to keep the signal sharp.
Wiring: a new RunOptions.Diagnostics callback threads through the agent
loop from Options.FileDiagnostics; exec and the TUI build it from the
run's lazy lsp.Manager (no server spawns unless the language has one on
PATH). Each check is bounded by a 10s timeout so a wedged server can
never hang a tool call. In exec the manager now exists even without
--self-correct, still lazy and torn down on run exit.
Co-Authored-By: Claude Fable 5 <[email protected]>