amqp-ping says what it is made of, and can be built from its own directory

A module's runtime image was assembled by a script copying the sdk and the tool
runtime out of neighbouring checkouts, so it could only be built on a workstation
that had them. That is why no module declared what it was made of and why
forty-seven point at a placeholder.

The tool runtime becomes an image a module's runtime is built FROM, published like
any other artifact. The module then builds from its own directory and that base —
one clone, which is what the builder can actually be asked for (novox/hq ADR 0069).
The dependency stops being a property of somebody's machine and becomes a build
edge, pinned to a digest the mesh's registry assigned.

The compiler is invoked by its real path rather than through node_modules/.bin:
those are symlinks to a launcher that requires its library relatively, and
resolving them while building the base leaves a launcher pointing at nothing.

Claude-Session: https://claude.ai/code/session_01D6qtiYU3P9jk3pnAXyAFyx
This commit is contained in:
2026-09-13 00:52:57 +02:00
parent a73cb8a2f8
commit 39631d6f87
2 changed files with 38 additions and 3 deletions
+12 -3
View File
@@ -47,7 +47,6 @@
"id": "runtime",
"type": "container",
"name": "amqp-ping",
"image": "mesh-runtime-amqp-ping@sha256:0000000000000000000000000000000000000000000000000000000000000000",
"network": "amqp-ping",
"env-file": [
"/var/lib/amqp-ping/amqp.env"
@@ -58,7 +57,17 @@
],
"restart-on": [
"amqp-env"
]
],
"artifact": "runtime"
}
]
],
"build": {
"artifacts": [
{
"name": "runtime",
"kind": "image",
"from": "Dockerfile"
}
]
}
}