The run rebuilds the module runtimes its beds stock (075); two mechanism beds read the catalogue's redis (074) #43

Merged
jschoubben merged 3 commits from feat/mesh-tests-and-runtimes into main 2026-09-21 17:36:44 +00:00
Owner

075 — a stocked runtime image is never rebuilt by the run

src/runtimes.ts: for the beds named, every mesh-runtime-<module>:development their scenarios stock is compared against the module's source in the catalogue and the tool runtime and SDK it is built on (MESH_TOOLS/MESH_SDK or the siblings), and rebuilt with scripts/build-module-runtime.sh where the image is older, missing, or the source is uncommitted. A failed build stops the suite like a stale host would. --no-build skips it. Unit tests cover what a bed stocks (including the audit logger's slug-named tag), staleness, and the plan.

Proven: docker rmi mesh-runtime-gitlab:development, then suite assigned-tools-gitlab → built: host, images, runtime mesh-runtime-gitlab:development, bed green against the fresh image.

074 — a mesh test wears a catalogue module's name

Finding (hq ADR 0093): a module's broker account is scoped to serve.<module>.* from the manifest's name while the runtime binds queues under the name baked into its image, so a fixture running a real runtime cannot be renamed. The fix is reading the catalogue and installing what the module requires. mesh-grant-end-to-end and provider-on-backend-network now install the catalogue's redis with mesh-vault beside it (the redis-node scenario stocks the vault's runtime); both green. The grant bed's consumer needed a slug — its derived identity was one character over the 20 a backend keeps, a limit added since it last ran. The other ten declared copies say why they stand.

Unit tests 159/159. hq MR on the same branch name.

## 075 — a stocked runtime image is never rebuilt by the run `src/runtimes.ts`: for the beds named, every `mesh-runtime-<module>:development` their scenarios stock is compared against the module's source in the catalogue and the tool runtime and SDK it is built on (`MESH_TOOLS`/`MESH_SDK` or the siblings), and rebuilt with `scripts/build-module-runtime.sh` where the image is older, missing, or the source is uncommitted. A failed build stops the suite like a stale host would. `--no-build` skips it. Unit tests cover what a bed stocks (including the audit logger's slug-named tag), staleness, and the plan. Proven: `docker rmi mesh-runtime-gitlab:development`, then `suite assigned-tools-gitlab` → `built: host, images, runtime mesh-runtime-gitlab:development`, bed green against the fresh image. ## 074 — a mesh test wears a catalogue module's name Finding (hq ADR 0093): a module's broker account is scoped to `serve.<module>.*` from the manifest's name while the runtime binds queues under the name baked into its image, so a fixture running a real runtime cannot be renamed. The fix is reading the catalogue and installing what the module requires. `mesh-grant-end-to-end` and `provider-on-backend-network` now install the catalogue's redis with `mesh-vault` beside it (the redis-node scenario stocks the vault's runtime); both green. The grant bed's consumer needed a slug — its derived identity was one character over the 20 a backend keeps, a limit added since it last ran. The other ten declared copies say why they stand. Unit tests 159/159. hq MR on the same branch name.
jschoubben added 3 commits 2026-09-21 17:36:38 +00:00
A per-module bed stocks mesh-runtime-<module>:development from the workstation's
image store, built by hand by a script the suite never called; six were two weeks
older than the manifests they served. For the beds named, every runtime their
scenarios stock is compared against the module's source and the tool runtime and
SDK it is built on, and rebuilt where older, missing or uncommitted; a failed
build stops the suite (novox/hq 04-ISSUES/075).
A module's name is its tool namespace and its broker scope, so a fixture running
the module's runtime cannot carry another name (novox/hq ADR 0093). The grant and
backend-network beds now read the catalogue's redis and install mesh-vault, which
provides the secret it requires; the redis-node scenario stocks the vault's runtime.
The remaining declared copies say why they stand (novox/hq 04-ISSUES/074).
jschoubben merged commit 467416728e into main 2026-09-21 17:36:44 +00:00
jschoubben deleted branch feat/mesh-tests-and-runtimes 2026-09-21 17:36:44 +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/mesh-lab#43