Source-tool integration

Contract

v0.1.3 compilation starts from a .gx file that already passes the v0.1.2 formatter and v0.1.2 linter. The compiler reuses the v0.1.2 parser and diagnostic shape instead of defining another GX grammar.

Run source checks before compile:

bus gx fmt --check hello.gx

bus gx lint --format json hello.gx

Replace hello.gx with the source file being compiled. Both commands must exit 0; lint --format json must print an empty diagnostics array before running bus gx compile.

bus gx compile must stop on source diagnostics and must report the same file, line, column, code, severity, and message shape as the source tools.