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:
@@ -47,7 +47,7 @@ own resolved environment.
|
|||||||
- **A module's API client and its tool implementations** → in the module. (The Plex client, the
|
- **A module's API client and its tool implementations** → in the module. (The Plex client, the
|
||||||
Umami client, `tools/plex.ts` — all module-local. ADR 0039.)
|
Umami client, `tools/plex.ts` — all module-local. ADR 0039.)
|
||||||
- **Delivery machinery** — build executor, bundler, dependency resolver, artifact manager, feature
|
- **Delivery machinery** — build executor, bundler, dependency resolver, artifact manager, feature
|
||||||
handlers → **mesh-control**. It co-evolves with the pipeline.
|
handlers → **mesh-controller**. It co-evolves with the pipeline.
|
||||||
- **Host synchronisers** — config-sync, ufw config, vhost generation, systemd, health checks →
|
- **Host synchronisers** — config-sync, ufw config, vhost generation, systemd, health checks →
|
||||||
**mesh-host**'s apply engine. The host applies these; they are not module code.
|
**mesh-host**'s apply engine. The host applies these; they are not module code.
|
||||||
- **Domain logic** — tasks, workflows, agents, provider integrations → **tier-2 contexts**.
|
- **Domain logic** — tasks, workflows, agents, provider integrations → **tier-2 contexts**.
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ export type { Envelope, EventHeaders };
|
|||||||
|
|
||||||
/** A request/reply call and a publish/subscribe surface over the mesh broker. */
|
/** A request/reply call and a publish/subscribe surface over the mesh broker. */
|
||||||
export interface Broker {
|
export interface Broker {
|
||||||
/** Ask one question and await one answer — the client side; the shape mesh-control's command
|
/** Ask one question and await one answer — the client side; the shape mesh-controller's command
|
||||||
* API is reached by. */
|
* API is reached by. */
|
||||||
request<Req, Res>(key: string, body: Req): Promise<Res>;
|
request<Req, Res>(key: string, body: Req): Promise<Res>;
|
||||||
/** Answer a question — the server side of request/reply. A tool runtime serves invocations this
|
/** Answer a question — the server side of request/reply. A tool runtime serves invocations this
|
||||||
|
|||||||
+1
-1
@@ -106,7 +106,7 @@ test("modules can SERVE: a real async tool, loaded and invoked over the broker",
|
|||||||
const broker = memBroker();
|
const broker = memBroker();
|
||||||
const stop = await serveTools(broker, {});
|
const stop = await serveTools(broker, {});
|
||||||
|
|
||||||
// Invoke it the way a caller (mesh-control's command API) would — over the broker, by module and
|
// Invoke it the way a caller (mesh-controller's command API) would — over the broker, by module and
|
||||||
// tool, each served on its own key `demo.create_site` (novox/hq ADR 0047).
|
// tool, each served on its own key `demo.create_site` (novox/hq ADR 0047).
|
||||||
const result = (await invokeTool(broker, "demo", "create_site", { domain: "my-app" })) as { snippet: string };
|
const result = (await invokeTool(broker, "demo", "create_site", { domain: "my-app" })) as { snippet: string };
|
||||||
assert.match(result.snippet, /data-website-id="site-123"/);
|
assert.match(result.snippet, /data-website-id="site-123"/);
|
||||||
|
|||||||
Reference in New Issue
Block a user