Skip to content

Diagnostics

Goalchemy diagnostics have stable codes, severity, source location where available, symbol, feature, message, and a one-line remedy. Human and JSON output carry the same information.

Prefix Category Meaning
GCL Loading Package selection, parsing, typing, or source-profile failure.
GCS Source subset Go code is valid but exceeds the currently implemented language gate.
GCC Contracts A canonical or target contract is malformed or inconsistent.
GCI Intermediate representation Lowering or IR verification failed.
GCE Emission A target lacks a required operation, type representation, or runtime dependency.
GCT Conformance A generated program or runtime operation differs from its contract.
GCW Warning Code compiles and runs but likely does not do what it appears to; the build continues.

The initial checker reserves GCL001–GCL004 and GCS001–GCS010. Later phases allocate codes from the remaining categories when their corresponding checks exist. A diagnostic code’s meaning must not change silently between releases.

The source baseline is Go 1.25 on Linux amd64 with cgo disabled, checked using Go 1.27.1. The repository’s go.mod selects the reference toolchain. Source build tags are explicit checker inputs.