Rename mesh-control -> mesh-controller, substrate -> foundation

One name per thing, per the HQ glossary: the module/container/image/binary/repo
becomes mesh-controller, the seat the-controller, and the store+broker pair the
foundation (embedded base bundles, default template and example lock renamed with
their go:embed directives). No behaviour change — a pure vocabulary rename.

Claude-Session: https://claude.ai/code/session_01D6qtiYU3P9jk3pnAXyAFyx
This commit is contained in:
2026-09-16 18:40:40 +02:00
parent 366840fc0d
commit c3b88b9148
77 changed files with 157 additions and 157 deletions
+1 -1
View File
@@ -3,7 +3,7 @@ package inventory
import (
"testing"
"github.com/novox/mesh-control/internal/catalogue"
"github.com/novox/mesh-controller/internal/catalogue"
)
// The image every module is compiled on top of is built and never run.
+1 -1
View File
@@ -8,7 +8,7 @@ import (
"strings"
"github.com/jackc/pgx/v5"
"github.com/novox/mesh-control/internal/catalogue"
"github.com/novox/mesh-controller/internal/catalogue"
)
// ErrNoSuchModule is what the mesh says about a module it has never been told about.
+1 -1
View File
@@ -6,7 +6,7 @@ import (
"strings"
"testing"
"github.com/novox/mesh-control/internal/catalogue"
"github.com/novox/mesh-controller/internal/catalogue"
)
func manifest(name string, provides, requires []string) catalogue.Manifest {
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"strings"
"testing"
"github.com/novox/mesh-control/internal/catalogue"
"github.com/novox/mesh-controller/internal/catalogue"
)
// What removing a module takes with it, and what re-registering one does not.
+1 -1
View File
@@ -10,7 +10,7 @@ import (
"github.com/jackc/pgx/v5"
"github.com/novox/mesh-control/internal/store"
"github.com/novox/mesh-controller/internal/store"
)
// ForTest is a fresh inventory in a database of its own, dropped when the test ends.
+1 -1
View File
@@ -10,7 +10,7 @@ package inventory
import (
"embed"
"github.com/novox/mesh-control/internal/store"
"github.com/novox/mesh-controller/internal/store"
)
// Name is what this context is called: its database, and the environment variable holding the
@@ -1,6 +1,6 @@
-- Ports a machine holds that the mesh did not assign.
--
-- novox/hq ADR 0038. The substrate is not a module: a node raises it from the bundle it carries
-- novox/hq ADR 0038. The foundation is not a module: a node raises it from the bundle it carries
-- before any mesh exists, so the control plane has never heard of the store or the broker. Told
-- what they hold, it can put a module somewhere else; not told, it hands out a port one of them
-- has and finds out from a container runtime three layers down.
+1 -1
View File
@@ -13,7 +13,7 @@ import (
"time"
"github.com/jackc/pgx/v5"
"github.com/novox/mesh-control/internal/store"
"github.com/novox/mesh-controller/internal/store"
)
// Inventory is this context, holding the store it exclusively owns.
+1 -1
View File
@@ -120,7 +120,7 @@ func (i *Inventory) assignPort(
if err != nil {
return Assigned{}, err
}
// And what the machine itself says it already holds — the substrate it raised before there
// And what the machine itself says it already holds — the foundation it raised before there
// was a mesh to ask (novox/hq ADR 0038). Not assignments: nothing here chose them, and
// nothing here can move them.
carried, err := i.carriedOn(ctx, nodeID)
+1 -1
View File
@@ -4,7 +4,7 @@ import (
"errors"
"testing"
"github.com/novox/mesh-control/internal/catalogue"
"github.com/novox/mesh-controller/internal/catalogue"
)
func aNodeWithModules(t *testing.T, modules ...string) (*Inventory, string) {
+1 -1
View File
@@ -7,7 +7,7 @@ import (
"github.com/jackc/pgx/v5"
"github.com/novox/mesh-control/internal/secrets"
"github.com/novox/mesh-controller/internal/secrets"
)
// Where sealed secrets live.
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"crypto/ecdh"
"crypto/rand"
"encoding/base64"
"github.com/novox/mesh-control/internal/catalogue"
"github.com/novox/mesh-controller/internal/catalogue"
"strings"
"testing"