# go The Go toolchain as a module (novox/hq ADR 0477 ยง4, issue 1573). - **Declares the package `go`.** Today dev-tools, lab and mesh-build-go declare it too, which the resolver allows (ADR 0303); once they require `go-toolchain` instead (issue 1573's second step), this is the only module that declares it, and `checks/toolchains` refuses another. - **Provides `go-toolchain` with the machine's reach**: a module that requires it composes only on a machine where this module is assigned. It is never pulled in for whatever asked, so `go` is assigned to a node on purpose. Nothing requires it yet; dev-tools, lab and mesh-build-go will, in the second step. - Holds no long-running resource, so it adds nothing to `health-undeclared`. The node-engine never uninstalls a package, so when the users stop declaring `go`, nothing leaves a node that has this module.