Issue 142: the mesh compiles its own host and publishes it to its registry #207

Merged
jschoubben merged 1 commits from issue/142-the-mesh-can-build-its-own-host into main 2026-09-30 08:05:13 +00:00
Owner

Both of the things ADR 0141's insight named as remaining are built, and 0141 carries a progressive insight saying so.

Measured rather than asserted: the mesh built the host through its own Go toolchain, published it to its own registry, and the bundle fetched back out is a statically linked stripped ELF that runs and says it is the host.

The cost was larger again than 0141's note said. Three more things in the path assumed one language or one shape, and a fourth was in the base image (Alpine, where the first Dockerfile ran apt-get — issue 136 in an image, caught by the build refusing).

The version in a path is the digest, not the commit: two builds of one commit are the same bytes, so a content-addressed version keeps the path an unchanged build already had.

Still nothing delivers a version to a machine — the host module declares no resources, so the bundle sits in the registry and no machine is asked to take it. That is the next piece.

Both of the things ADR 0141's insight named as remaining are built, and 0141 carries a progressive insight saying so. **Measured rather than asserted:** the mesh built the host through its own Go toolchain, published it to its own registry, and the bundle fetched back out is a statically linked stripped ELF that runs and says it is the host. **The cost was larger again than 0141's note said.** Three more things in the path assumed one language or one shape, and a fourth was in the base image (Alpine, where the first Dockerfile ran `apt-get` — issue 136 in an image, caught by the build refusing). The version in a path is the **digest**, not the commit: two builds of one commit are the same bytes, so a content-addressed version keeps the path an unchanged build already had. **Still nothing delivers a version to a machine** — the host module declares no resources, so the bundle sits in the registry and no machine is asked to take it. That is the next piece.
jschoubben added 1 commit 2026-09-30 08:05:06 +00:00
Both of the things ADR 0141's insight named as remaining are built. A Go
toolchain based on a new mesh-tools-go module, so the compiler is named
and not pinned; and ${version} in any value of a resource that uses an
archive or a bundle.

Measured rather than asserted: the mesh built the host through its own
toolchain, published it to its own registry, and the bundle fetched back
out is a statically linked stripped binary that runs and says it is the
host.

The cost was larger again than 0141's note said. Three more things in the
path assumed one language or one shape — an entrypoint became a .ts file
whatever the language, the output directory was the compiler's to create,
and a bundle was refused if it named what it is built from — and a fourth
was in the base image, which is Alpine where the first Dockerfile ran
apt-get. That last one is issue 136 in an image, and the build refused
rather than a module failing later.

The version in a path is the digest, not the commit: two builds of one
commit are the same bytes, so a content-addressed version keeps the path
an unchanged build already had.

Still nothing delivers a version to a machine. The host module declares no
resources, so the bundle sits in the registry and no machine is asked to
take it. 0141 carries the insight and 142 the account.
jschoubben merged commit 5e12081774 into main 2026-09-30 08:05:13 +00:00
jschoubben deleted branch issue/142-the-mesh-can-build-its-own-host 2026-09-30 08:05:13 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#207