// The distribution module's Go bundle (novox/hq ADR 0251 ยง1โ€“3, to-be 51): a process the node's runtime // launches and speaks MCP over stdio to. It says what the artifact store holds โ€” its repositories, its // size, and what the controller's records say of each manifest โ€” read from the store's own files // through its own container and from its door, and writing to neither. A collection is asked of the // controller, which decides and records what it lets go of (ADR 0189). stdout is the protocol; what // this bundle says, it says on stderr. package main import ( "fmt" "os" stdio "git.novox.be/novox/mesh-sdk/go" ) func main() { s := &Store{ URL: os.Getenv("MESH_STORE_URL"), Container: os.Getenv("MESH_STORE_CONTAINER"), Run: ExecRunner, UID: os.Getuid(), } if s.URL == "" { fmt.Fprintln(os.Stderr, "[store-tools] MESH_STORE_URL is not set: every manifest will be said as unread") } // An empty name serves as the module the runtime names (MESH_SERVED_MODULE): distribution. if err := stdio.Serve("", Tools(s, Controller{Ask: stdio.Ask})); err != nil { fmt.Fprintln(os.Stderr, err) os.Exit(1) } }